I ^

NAA111D3 QflTVbD

NATL INST OF STANDARDS & TECH R. .C. IMCE & TECHNOLOGY;

A1 11 03089760

FItzaerald, Mary Lyn/Common command lang QCfOT .U57 NO.560-. 37, 1978 C.1 NBS-PUB

COMMON COMMAND LANGUAGE

FOR FILE MANIPULATION AND

NETWORK JOB EXECUTION:

AN EXAMPLE

00-37

NBS Special Publication 500-37

U.S. DEPARTMENT OF COMMERCE

National Bureau of Standards
NATIONAL BUREAU OF STANDARDS

The National Bureau of Standards' was established by an act of Congress March 3, 1901. The

Bureau's overall goal is to strengthen and advance the Nation's science and technology and

facilitate their effective application for public benefit. To this end, the Bureau conducts

research and provides: (1) a basis for the Nation's physical measurement system, (2) scientific and technological services for industry and government, (3) a technical basis for equity in trade, and (4) technical services to promote public safety. The Bureau's technical work is performed by the National Measurement Laboratory, the National Engineering Laboratory,

and the Institute for Computer Sciences and Technology.

THE NATIONAL MEASUREMENT LABORATORY provides the national system of

physical and chemical and materials measurement; coordinates the system with measurement

systems of other nations and furnishes essential services leading to accurate and uniform

physical and chemical measurement throughout the Nation's scientific community, industry,

and commerce; conducts materials research leading to improved methods of measurement,

standards, and data on the properties of materials needed by industry, commerce, educational

institutions, and Government; provides advisory and research services to other Government

Agencies; develops, produces, and distributes Standard Reference Materials; and provides

calibration services. The Laboratory consists of the following centers:

Absolute Physical Quantities^ — Radiation Research — Thermodynamics and

Molecular Science — Analytical Chemistry — Materials Science. THE NATIONAL ENGINEERING LABORATORY provides technology and technical

services to users in the public and private sectors to address national needs and to solve national problems in the public interest; conducts research in engineering and applied science

in support of objectives in these efforts; builds and maintains competence in the necessary

disciplines required to carry out this research and technical service; develops engineering data and measurement capabiHties; provides engineering measurement traceability services; develops test methods and proposes engineering standards and code changes; develops and

proposes new engineering practices; and develops and improves mechanisms to transfer

results of its research to the utlimate user. The Laboratory consists of the following centers:

Applied Mathematics — Electronics and Electrical Engineering^ — Mechanical

Engineering and Process Technology' — Building Technology — Fire Research —

Consumer Product Technology — Field Methods.

THE INSTITUTE FOR COMPUTER SCIENCES AND TECHNOLOGY conducts

research and provides scientific and technical services to aid Federal Agencies in the selection, acquisition, application, and use of computer technology to improve effectiveness and

economy in Government operations in accordance with Public Law 89-306 (40 U.S.C. 759), relevant Executive Orders, and other directives; carries out this mission by managing the Federal Information Processing Standards Program, developing Federal ADP standards

guidelines, and managing Federal participation in ADP voluntary standardization activities; provides scientific and technological advisory services and assistance to Federal Agencies; and

provides the technical foundation for computer-related policies of the Federal Government.

The Institute consists of the following divisions:

Systems and Software — Computer Systems Engineering — Information Technology.

'Headquarters and Laboratories at Gaithersburg, Maryland, unless otherwise noted; mailing address Washington, D.C. 20234. 'Some divisions within the center are located at Boulder, Colorado, 80303.

The National Bureau of Standards was reorganized, effective April 9, 1978.
O*' STANDAKD8

AUG 2 3 1978 COMPUTER SCIENCE & TECHNOLOGY: '^c-.%'«

r e-. Common Command Language for File Manipulation

and Network Job Execution: An Example

M. L. Fitzgerald

Computer Systems Engineering Division

Institute for Computer Science and Technology

National Bureau of Standards

Washington, D.C. 20234

U.S. DEPARTMENT OF COMMERCE, Juanita M. Kreps, Secretary

Dr. Sidney Harman, Under Secretary

Jordan J. Baruch, Assistant Secretary for Science and Technology

-^NATIONAL BUREAU OF STANDARDS, Ernest Ambler, Director

Issued August 1978
Reports on Computer Science and Technology

The National Bureau of Standards has a special responsibility within the Federal

Government for computer science and technology activities. The programs of the

NBS Institute for Computer Sciences and Technology are designed to provide ADP

standards, guidelines, and technical advisory services to improve the effectiveness of

computer utilization in the Federal sector, and to perform appropriate research and

development efforts as foundation for such activities and programs. This publication

series will report these NBS efforts to the Federal computer community as well as to interested specialists in the academic and private sectors. Those wishing to receive

notices of publications in this series should complete and return the form at the end

of this publication.

National Bureau of Standards Special Publication 500-37

Nat. Bur. Stand. (U.S.) Spec. Publ. 500-37, 32 pages (Aug. 1978) CODEN. XNBSAV

Library of Congress Catalog Card Number: 78-600069

U.S. GOVERNMENTPRINTING OFFICE

WASHINGTON: 1978

For sale by the Superintendent of Documents, U.S. Government Printing Office, Washington, D.C. 20434

Stock No. 003-003-01965-8 Price $1.50

(Add 25 percent additional for other than U.S. mailing).
TABLE OF CONTENTS

Page

I . INTRODUCTION 2

II. OEVELOPhENT Of Tti£ COMMON COMMAND LANGUAGE 3

11.1. COMMAND LANGUAGES 3

II. 1.1. COBuoand Survey , 4

I I. 1.2. The Common Command Language Structure .... 7

1 1. 2. IMPLEMENTATION 9

III. COMMON COMMAND LANGUAGE USAGE 12

1 11.1. SYSTEM INTERCONNECTION COMMANDS 12

III. l.l. Establish Primary Connections 12

111. 1.2. Establish Secondary Connections 13

111.1.3. Terminate Primary Connections 14

111. 1.4. Terminate Secondary Connections 14

111. 2. THE FILE HANDLING COMMANDS ( Intr asystem) ... 15

1 1 1. 3. INTERSYSTEM FILE TRANSPORTING COMMANDS 17

111. 4. A SAMPLE SESSION 18

IV. NETWORK JOB EXECUTION 21

IV. 1. COMMAND DESCRIPTION 21

IV. 2. COMMAND USAGE 22

IV. 3. SAMPLE NETWORK JOB EXECUTION PROCEDURE 23

V. CONCLUSIONS 25

APPENDIX 1: TtiE COMMAND LANGUAGE , 26

-iii
DISCLAIMER

Certain commercial products are identified in this paper

in order to specify adequately the experimental procedure,

or to cite relevant examples. In no case does such

identification imply recommendation or endorsement by the

National Bureau of Standards, nor does it imply that the

products or equipment identified are necessarily the best

available for the purpose.

iv
Common Command Language for File Manipulation

and Network Job Execution: An Example

H. L. Fitzgerald

Computer networks provide the capability for

sharing resources across many diverse computer

systems. Utilizing this capability is inhibited

by the requirement that the user become familiar

with all the varied command languages and protocols of each accessed system. This report

presents a general approach to solving this problem using an intermediary system to support a set

of Common Commands for File Manipulation and Network Job Execution. To show the feasibility of

this approach, common commands were implemented

for four systems using the NBS Network Access

Machine.

Key words: Command language; Computer networks;

Network access; Macros.

This Special Publication is one of a series prepared as a

part of a jointly sponsored effort by the National Bureau of

Standards and the U. S. Air Force Rome Air Development

Center under contract number F 30602-77-F-0068

.

-1-
I. INTRODUCTION

Computer networks have oiade available to the prograBoiing community the services and resources of many types of

computer systems. Unfortunately, each of these systems has

its own, sometimes complex, language and methodology for accessing its resources. A network user is faced with the

tasK of becoming familiar with the specific command language

for each system before using the services available on that

system.

One method for simplifying the usage of computer networks might be to develop a set of standards for network access INBS 77] (NiilU lb]. The vendors of computer services

would oe required to make their products compatible with

these standards if the services were to be available to the

networking community. In the absence of sucn a standard, a ditferent method is required.

An alternative approacn to simplifying networking for

users is to develop a standard language to which the diverse

sets of commands for heterogeneous hosts can be translated.

This language should provide a common set of commands to

gain access to the computer systems on the network, and to

manipulate files on those systems. Since the network user

is concerned with many different systems, the language

should present a uniform view of the systems through the

standard commands and also remove many of the complexities

of inter-system interactions. Therefore the language should

permit the network user to easily transfer files between

different systems of the network and provide the capability

to execute programs at particular hosts using data that may

not initially be available where the program is to be executed .

In order to show the feasibility of such a language, an

experiment was performed in which common commands were

developed for the following four systems: a Honeywell 6180

running MULTICS, a PDP-10 running TOPS-10, a PDP-10 running

T£N£X, and a PDP-11/45 running UNIX. The language was implemented on a PDP-li/45 under the UNIX operating system using the Network Access Machine (ROS 76 J as its foundation.

£xpanding the language to include other systems is very

straightforward and requires little programming effort.
II. DeVBLOPHEMT OF THE COMMON COMMAND LANGUAGE

The development of the Conunon Command Language (CCL)

started by determining some of the desired properties of a

common command language. Next, a survey of the existing

command languages of the systems in the experiment was made

to define the required commands. The CCL was designed as an

attempt to provide a viable language for network users of

those systems.

II.l. COMMAND LANGUAGES

The primary concern of most computer or network users

is to get a job done, ideally as simply as possible. Usually, the user has little or no interest in the various peculiarities of the different systems to be used. This includes differences in the syntax and semantics of the command languages of those systems. The user should also be

shielded from dealing with the complexities of error messages which may occur during a terminal session.

At best, then, the language provided to a network user

should allow maximum access to the features of all the systems available with minimum system dependent interaction.

In addition, it must supply a reasonable cross-section of

all the available services each system maintains, but it may

not necessarily handle commands dependent upon the physical

properties of the system due to differences in hardware configurations and equipment.

Extensive study has been made to determine the most

desired properties of a common command language (UNG 74J

.

The properties should include the following:

Obvious

Simple

Uniform

Transparent

The commands should perfotm

the actions their names imply.

The commands should be simple

in format and machine independent.

The functions performed should

be equally adaptable to all

systems involved.

The user should be unaware of

any system peculiarities and

shielded from different types
of error or system messages

extendable The coanand repertoire should

be easily extended to add more

commands if necessary.

In order to develop the CCL the following three steps were

taken:

1. A survey of the systems to be used was made to

determine all the different types of (logical)

file handling functions available. These functions deal with the files themselves as named entities, rather than with the contents of the

files.

2. The command names for the functions were

chosen, trying to maintain an intuitively meaningful vocabulary.

3. The commands were implemented on the i^etwork

Access Machine.

II. 1.1. Command Survey.

four types of computer systems were used for the

development of the CCL. In order to select the commands to

be implemented, a survey of the file manipulation commands

of each of these systems was made, and for each different

function represented, a common command was implemented.

Table II. 1 indicates the types of file manipulation

functions that are commonly available and the corresponding

commands for the systems being surveyed. Dashes in the

table indicate that the system does not have a command for

the described function. (In some cases there may be a utility that can be invoked on a given system, but not a single

command .

)

These commands are for logical manipulations on files

as entities within an operating system. Functions which use

the other resources of the operating system such as editors

will not be addressed at this time. Later this language

will be incorporated with other functions to provide the

capabilities of a Network Operating System (NOS) IKIH 76-lJ

iKIM 76-2] . The NOS environment will provide the user with

the ability to use a network in the same manner that ne

would use a single system. Included within the NOS will be

a Network Mide Directory System that will describe the user,

the user's files on the network, the configurations and

structure of the various hosts on the network, and the
interactions permitted among them. In addition the NOS will

provide functions for remote record access and data translation and transformation (MOOD 78J

-5-
Table II.

1

Functions MULTICS T£N£X TOPS-lid UNIX

append one

file to another

i append i i cat

compare two

files

j compare j... j cmp

make a new

file

1 create .... alcfil ....

remove file name

from directory

I delete

restore file to

directory

I undelete !""

remove file from

directory

i delete I expunge 1 delete j rm

make copy of

a file

1 copy 1 copy I copy 1 cp

1 obtain directory

1 listing

{ Is 1 dir 1 dir 1 Is

1 list contents of

1 a file

1 pr 1 type 1 type j cat

\ change the name

1 of a file

1 rename t rename 1 rename I mv

-6-
II » 1.2. The Common Command Language Structure.

The CCL consists of four major command types: Intrasystem commands, inter~system commands, network job execution commands, and system inter-conneCtion commands.

Xntra-system Commands

bince each of the functions described in Table II. 1 is

available on at least one of the systems, it was decided

that the CCL would contain a command for each of the functions represented. The names were chosen trying to maintain

a correspondence between the functions performed and the

command. In addition, some of the command names were chosen

in Keeping with some of the currently available commands.

append

compare

copy

append one file to another

compare one file to another

make a copy of an existing

file

create

delete

erase

list

make a new file

remove the file name from the

user's directory

remove a file completely

list the names of the user's

files

rename

type

change the name of a file

display the contents of a text

file to the user terminal

undelete return a deleted file name to

the user's directory

Inter-system Commands

Along with the commands for file handling listed above,

the language contains commands to transfer files between

systems.

retrieve move file from remote host to

7
primary host

transfer move file from primary host to

a remote host

System Interconnection Commands

Before a user can actually perform any file manipulations, access must be gained to the system where the files

reside* The command language therefore contains commands to

connect the user to a remote system and execute the particular login procedure required. Likewise, when the terminal

session is over, there exist commands that will log the user

out and terminate the connection.

Network Job Execution

Often, a network user may want to execute a program on

a specific host and the desired data files reside on other

hosts throughout the network. Ideally the user would like

to be able to specify just one command that could indicate

where the program is to be executed, where the input data

reside, and where the output data should be sent. Such a

command could have the format:

KUN FHUGKAM^tiOSTl@tiOST2 INlsINFILEi(dtiOSTA UUT1»0UTFILE1@U0STB

One of these commands would constitute a network job

step and a sequence of network job steps could be known as a

network job.

where

PROGRAM

HOSTl

H0ST2

INI

INFILEl

HOSTA

OUTl

OUTFILEl

UOSTB

program name

where program is to be executed

where program resides

program's name for input file 1

actual name for input file 1

where input file 1 resides

program's name for output file 1

actual name for output file 1

where output file will be migrated
In order to execute a network job an additional command

called 'run' is also part o£ the command repertoire. This

command is unique because its actions are dictated by the

user through two utility programs which are called to define

the network job to be run.

I I. 2. IMPLEMENTATION

The implementation of the CCL was facilitated by utilization of the NBS Network Access Machine (NAM) which provides the communication support for this study [ROS 78]

The NAM is a program that runs under the UNIX timesharing

system on a ^0^-11/45. Through this program the user at an

interactive terminal may establish connections with many

types of remote computers. The NAM provides directives that

permit the user to maintain a dialogue with the systems of a

network. Sequences of these directives stored in files

called macxos have been written that will generate the

necessary machine->dependent dialog to perform the file manipulation functions required for each of the host systems.

The responses generated by the remote systems are in turn

analyzed by the NAM. By permitting the mapping of the

varied system responses into standardized messages for the

network user to see, the NAM facilitates the uniformity of

the CCL.

The commands of the CCL were implemented as a set of

simply named NAM macros. Since each system requires a

unique dialogue to perform a given function, a macro to generate that dialogue is needed for each system. Thus, the

rename command is really implemented as several macros named

'rename', one for each of the systems in the study. The

particular macro that is called depends upon which system

the user is connected to. Incorporating a new system type

merely involves adding a set of command macros for that system.

Figure II. 2.1. shows two such macros for the rename

command: one for a TOPS-10 system and one for a UNIX system.

The TOPS-ll} command to perform the file renaming function is

'rename' and provides one of three different responses to

the user

1) "File X already exists" if there already is a file

with the new name.

2) "File renamed:" if the rename was successful and

3) "? No file named x" if the file to be renamed

doesn't exist.
Macro for the command RENAME for a TOPS-10 system,

.term "t30 1 .match i 'already exists' i 'No file'" topslB

.send "rename "$2" * "$1"(CRJ" *switch matched

*case 3:

.ms9 "File "$1" not found . tCRJ (LFJ

.break

*case 1;

.msg "File "$1" renamed to "$2" . (CRJ (LFJ

.break

*case 2:

.msg "File "$2" already exists. (CRJ (LFJ

*end

.flush

.exit

Macro for the command RENAME for a UNIX system..

.term "t30 1 '%'"

.match "'not found' I 'not exist' I '%'" unix

.send "Is "$2"(CRJ"

*if matched « 1

.send "mv "$1" "$2"(CRJ"

*if matched » 2

.msg "File "$1" not found. (CRJ (LFJ

.flush

.exit

*end

.msg "File "$1" renamed to "$2" . (CRJ (LFJ

.flush

.exit

*else

.msg "File "$2" already exists. (CRJ (LFJ

. flush

.exit

*end

Figure II. 2.. Sample macros.

-10-
Therefore, the rename macro must send the TOPS-lk) rename

commana to the system and analyze the system response. Using the SnAi^ statements 'switch' and 'case', the macro outputs an appropriate message for the resulting system

response.

On UNIX systems, however, renaming files is accomplished through the 'mv' command and existing files with the

new name will be overwritten without warning the user.

Therefore, the rename macro for UNIX first determines if a

file with the new name exists. If not, the 'mv' command is

sent to the system and the response is analyzed to determine

if the rename was successful. In this macro, the NAM statements of 'if and 'else' are used to differentiate among the

possible system responses.

This ability of the NAM to analyze system respbnses,

provides the mechanism to standardize messages that the CCL

user sees. Each of the systems in the above example ha^

different responses for non-existent files, yet the message

the user will see will always be "File x not found" if the

file to be renamed does not exist. Moreover, since the use

of NAM macros permits multiple NAM-r emote system interactions for one user command, the command level capabilities

for the systems appears to be extended.

-11-
III. COMMON COMMAND LANGUAGE USAGE

This section describes the usage of the commands of the

CCL. Each of the four types of commands is covered and a

example of its usage is given.

III.l. SYSTEM INTERCONNECTION COMMANDS

In order to perform any file manipulations on a specific host via a network, a user must gain access to that host

and execute a successful login procedure. Two types of connections can be made by the network user: primary connections which connect him to the host where most of the session will occur; and secondary connections which are used to

allow file transfers between different hosts. For this

study, most of the systems were primarily available through

the AKPA network. bBti refers to the host BBN-TENEX, while

ISI is the USC-ISI TENEX system. N&S-10 and UNIX451 refer

to hosts within the NBS Experimental Computer Facility and

MULTICS is the MIT-MULTICS. (In addition, the language was

expanded to include the UNIX453 machine at NBS and the Multics system at the Rome Air Development Center.)

III. 1.1. Establish Primary Connections.

The following commands make and break primary connections on the systems the user wishes to access. A primary

connection is made to the system the user expects will be

utilized most during the session at the terminal. These

commands are identified by the names of the systems to be

accessed.

bBti <ldentifier> A user enters this command to

ISI <ldentifier> establish a primary connection

with the TENEX systems at BBN

or ISI. The identifier is the

user's name as known to the

system and the user will be

interactively , requested to

supply password and accounting

information.

MULTICS <Identifier> A user enters this command to

estabish a primary connection

with MULTICS at MIT. The

-12-
identifier is the name of the

user as known to the system,

and again password information

must be supplied as required.

NBSltf <ldentifier> This will establish a primary

connection with the NBS PDP-lii)

system running TUPS>lft). The

identifier is the user's

project-programmer number on

the lid and password information is requested.

UNIX451 <Identifier> The command establishes a primary connection with a POP-11/45 running UNIX. The

user will be connected to and

logged onto the UNIX451 system

at NBS. A password will be

requested.

III.1.2« Establish Secondary Connections.

Secondary connections are made when the user wishes to

transport files to or from a host other than the primary

connection. These commands are the system name prefixed by

'conn' or 'leave' depending on whether the user is connecting to or disconnecting from the system.

COMNBBN <Identifier>

CONMISI <Identifier>

h secondary connection is established with a T£N£X system

at BB£j or ISI. The identifier

to be supplied is the name of

the user known to the system.

The password and accounting

information must be supplied

by the user

CONNMULTICS <ldentifier> A secondary connection is established at HULTICS. Again

the system will request a

password which the user must

supply.

CONNNBS10 <Identifier> A secondary connection is made

with the NBS PDP-10 running

13
TOPS-10. The identifier is

the project-programmer number

of the user at NBS and the

system will request a password .

CONNUNIX451 <Identifier> The command establishes a secondary connection with the

UNIX451 system at NBS. Login

commands are issued using the

user's identifying name specified in the identifier parameter. The system again will

require the user to enter a

password

.

III. 1.3. xerminate Friiaary Connections.

LEAVi:; This is the command issued to

terminate communications with

any of the four primary connections. The MAM is aware of

which system the user has established as the primary connection and will execute this

command to log the user out

from that host and terminate

the connection.

III. 1.4. Terminate Secondary Connections.

LEAVEhost This is the command used to

close out the secondary connections. The host part of

the command can be either BBN,

ISI, HULTICS, NBS10 or

UNIX451. The command logs the

users off the secondary host

and closes the connection with

the NAM.

-14-
III. 2. THE FILE HANDLING COMMANDS ( Intr asystem)

Ttie following is a description of each of the file

manipulation commands, their usage and parameters.

A^fEi\iD irILEl i'lLt.2 FILEl is appended to FILE2.

If FILEl does not exist, the

message "File FILEl not

found." is given and FILE2 is

unchanged. If FILE2 does not

exist, a copy of FILEl is made

and called FILE2.

COMPAKE FILEl FILE2 If either FILEl or FILE2 does

not exist a message is given.

Otherwise the character files

are compared on a line by line

basis and a message indicating

whether they are different or

equivalent is issued. (Comparison of non-character files

will be a future option of

this command.)

COPY FILEl FILE2 A file called FILE2 is created

that is a copy of the file

called FILEl. If there already exists a file called

FILE2, it is NOT overwritten

and a message indicating that

FILE2 already exists is given.

If FILEl does not exist the

message "File FILEl not

found." is output to the

user's terminal.

CREATE FILEl The directory entry for file

FILEl is made. If there already is an entry by that

name, the message "File FILEl

already exists." is given.

DELETE FILEl File FILEl is removed from the

user's directory. This implies that the user may no

longer access that file and

-15-
may even create another file

with the same name. However,

the file itself still exists

and may be undeleted (restored) at a later time, provided that either the user

does not logout or does not do

an erase command (see UND£L£T£

and £RAS£.) If a file of the

same name has previously been

deleted, the message "File

FIL£1 previously deleted." is

given to permit the user access to the previous version

of the files. In this case

either the previously deleted

file must be erased, or in

case it is still useful, the

name of the current version of

the file can be changed before

it is deleted. If FIL£1 does

not exist, a message "File not

found." is given.

The command completely removes

any previously deleted files.

Once an £RAS£ is done no more

UND£L£T£s can be done on those

files. In addition, an automatic erase is done when a

user leaves the system.

All the file names from the

user's directory are listed in

the format of the directory of

the system being used.

FIL£1 is renamed to FIL£2. If

there already is a FIL£2, the

message "File FIL£2 already

exists." is given and the

fil^ retain their names. If

there is no FIL£1, the user

will be informed.

The contents of FIL£1 are displayed on the user's terminal.

-16
UNDELETE FILEl The command returns any previously deleted file to the

user's workspace.

III. 3. INTEKSYSTEM FILE TKAMSPOKTING COMMANDS

The CCL extends the file handling capabilities of the

host computers studied by providing commands that transfer

files between systems. Thus the user enters system level

commands and has the ability to transfer and retrieve files

to and from remote hosts. In order to use these commands

#

the user must establish a primary connection with one host»

and a secondary connection with the host with which the exchange is to take place. In addition a directory listing

capability for secondary connections is provided.

LISThost The directory listing of the

secondary host 'host' is obtained .

RETRIEVE FILEl SECONDARYHOST A file named FILEl is sent to

the primary host from the

secondary host. It will be

assumed at present that the

file does indeed exist on the

secondary host and a file of

the same name does not as yet

exist on the primary host.

TKAtMbttiK FlLhl SECONDARYhOST The file FILE! is sent from

the primary host to the secondary host. Again it is assumed that the file does exist

on the primary host and a file

of the same name does not exist on the secondary host.

-17-
III. 4. A SAhPLL S£SbIUN

In order to show the usage of the CCL, a scenario for a

sample terminal session will be given and the commands used

will be listed.

A network user has accounts at MULTICS and the

NBS10. A primary connection is established with MULTICS and

a listing of the files stored there is made. The files are:

mul, mul2f and mul3. The user decides to combine mul and

mul2 and just keep the combined file. In addition he decides to transfer this file to the NBS10 as a backup copy.

Therefore he appends mul to mul2 and deletes mul. A secondary connection is made with the NBS10, a directory listing

is requested, and the new mul2 is transferred there. He

finds that in a previous session he made a file on the NBS10

that should have been a copy of the old mul file, but he is

not sure. He retrieves that file, mul, from the NBS10 but

cannot compare it with the old mul because he deleted it a

few moments ago. Also, since the file he retrieved from the

MBS10 has the same name as the deleted file, he cannot undelete it yet. So, he renames the retrieved file to mulnbsl

and then undeletes the old mul. Now he compares the two

files and since they are different, deletes them both. He

is now finished and so terminates the secondary connection

and then terminates the primary connection.

MULTICS WATKIMS

LIST

APPEND MUL MUL2

0£L£TE MUL

CONNNBS10 510/46

LISTNBS10

TRANSFER MUL2 NBS10

RETRIEVE MUL NBS10

RENAME MUL MULNBSl

UNDELETE MUL

COMPARE MUL MULNBSl

DELETE MUL

DELETE MULNBSl

LEAVENBS10

LEAVE

The following is a listing of the terminal session for

this example.

-IS-
% nan

A Test Version of the NBS Network Access Machine

tMultics Watkins

Nultics 33.3: MIT> Cambridge, Mass.

Load * 37.0 out of 85.0 units: users » 37

Password

:list

Segments « 9, Lengths « 6.

mul

mal3

mul2

queen

queen. pi

1

Watkins. mbx

start_up.ec

Watkins. prof lie

Watkins .con_msgs

r 1248.7 $

: append mul mul

2

File mul appended to mul 2.

:delete mul

File mul deleted.

:connnbsl0 510/46

.JOB 22 NBS-10 5. 078 NBS 5/IL TTY65

%LGNNOC No operator coverage.

Password

:listnbsl0 mul

MUL 1 <155> 29-JU1-77 DSKB: [510,46]

: transfer mul2 nb8l0

File mul2 transferred to nbsl0.

:retrieve mul nbsl0

File mul retrieved from nbsl0.

-19-
: rename mul mulnbsl

File iDulnbsl created.

: undelete mul

File mul restored.

:compare mul mulnbsl

Files are different.

:delete mul

File mul deleted.

:delete mulnbsl

File mulnbsl deleted.

:leavenbsl0

connection nbsl0 closed

: leave

connection multics closed

-20-
IV. NETWORK JOB EXECUTION

This section describes the method of providing network

job execution capabilities developed in conjunction with the

CCL.

IV.l. COMhAND DESCRIPTION

Implementing the RUN command described in section

I I. 1.2 in the same manner as the other commands of the

language would be extremely difficult and not within the

format constraints of a Uhfi macro call. In addition, re-

<^uiring tne user to type in such a sequence of complex

strings increases tne likelihood of error and diverges from

the simplicity of commands demonstrated in the rest of the

CCL. Therefore, two utility programs were developed for the

NAM which, in conjunction with the CCL commands previously

described, provide a means for the user to define a network

job.

The first utility is called HAKEPROFILE. It is an interactive program that queries the user for information

about the various systems the user wishes to access. It requests the user names, passwords and account numbers for the

systems to be used, and builds a data file called a 'profile' for the user which is used by the second utility . The second utility is called RUNNACRO. It also is an

interactive program that asks the user to supply all the information needed to specify a network job. For each job

step in the network job, the user is asked to give the program name, host names, and all the rest of the data names as

described above in section III. 1.2. After the user specifies all the steps, the program builds a NAM macro called

run' that is a sequence of all the CCL commands that are

required to perform the transitions for each function to be

executed. using the profile, the program supplies all the

accounting information required to make connections that the

user usally has to supply interactively. After executing

the RUnmaCRO utility, the user merely executes the RUN macro, and the network job is executed.

21
The following procedure describes the steps a user

takes in order to define a network job,

1. Loc) onto UNIX.

2. Kun the NAM program.

3. Enter the accounts and passwords of the systems to be

used by running the 'HAKCPROFILE ' program. Enter 'MAKEPROFILE' in response to the prompt character and answer the

queries. (Note: The identifier required for the NBS10 is

the project-programmer number pair separated by a slash:

e.g. 510/46).

4. Define the sequence of job steps to be executed in the

network job. For each job step the user must specify the

name and residence of the program to be executed, where it

is to be executed, which input files to transfer, and which

output files to transfer by answering the queries of the

'RUNMACRO' program. The output of this program is a NAM

macro that will perform the desired functions.

5. Enter

RUNMACRO

In response to the prompt "Enter Program Specifications:"

the user enters

pprogi^hostl<^host2

where pprog is the name of the program to be run, hostl is

the name of the system where the program is to be executed,

and host2 is the name of the system where the program is

currently located if it is not already at hostl. If hostl

is the same as host2, enter 'pprogi^hostl '

.

If there are no more job steps to be defined, the user

enters a carriage return.

The utility will then query the user for the logical names

of the input files, that is, the names by which the program

knows the input files. Then the utility will ask for the

actual names for the data files and the hosts at which they

reside. If the file exists at the execution site, enter a

carriage return in response to the host name. If there are

no more input files, enter a carriage return in response to

the file name. After obtaining the names of the input

tiles, the names and sites for the output files will be

-22-
obtained, using the same philosophy for entering the

responses.

6. After execution of the 'RUNMACRO' program, there exists a

macro called 'run' in the user's directory. The user enters

'run' and the macro will be executed.

IV. 3. SAMPLE NETWORK JOB EXECUTION PROCEDURE

The user wishes to execute the program TEST on the

NBSIli). The source for TEST resides on UNIX451. There are

three input files: FILEl located at BBN, FILE2 located at

NBSlk) and FILE3 located at ISI. They are to be given the

logical names INI, IN2 and IN3 respectively. The program

produces three output files: OUTl, 0UT2 and 0UT3. They are

to be renamed to DATAl, DATA2 and DATA3 respectively and

moved to other sites as follows: DATAl goes to UNIX451,

LIATA2 goes to BBN and DATA3 will remain at the NBSlfc). There

will be only one Network Job step in this , so only one set

of specifications will be entered. (Note: The user's

responses are to the right of the ':'. Responses for password entries for the HAKEPROFILE program are not echoed.

All other entries that are not seen are responses of

carriage-return to indicate no response.)

The following dialogue will transpire:

%nam

:makeprofile

Input Identifier at BBN:sww

Input Identifier at lSI:sww

Input Identifier at NBS10:510/46

Input Identifier at UNIX451:fitz

Input Password at BBN:

Input Password at ISI:

Input Password at NBS10:

Input Password at UNIX451:

Input Account at BBN:333

Input Account at ISI: 40

Input Account at NBS10:

Input Account at UNIX451:

:runmacro

Enter Program Specifications : TEST@NBS10@UNlX45i

Remote file access? (y or n) n Logical Name for Input File 1: INI

Actual Name for Input File 1: FILEl

HOST 1 » BBN

Logical Name for Input File 2: IN2

-23-
Actual Name for Input File 2: FILE2

HOST 2 = Logical iMame for Input File 3: IN3

Actual £4ame for Input File 3: FIL£3

dOST 3 » ISI

Logical Name for Input File 4:

Logical Name for Output File 1: OUTl

Actual Name for Output File 1: OATAl

HOST 1 = UNIX451

Logical Name for Output File 2: 0UT2

Actual Name for Output File2: DATA2

HOST 2 * BBN

Logical Name for Output File 3: 0UT3

Actual Name for Output File 3: 0ATA3

HOST 3 = 0UT4 * £nter Program Specif icationss

:run

The "RUN" macro produced is the following. The user

password supplied from the profile is indicated by <PASSMD>.

NBS10 510/46 <PASSWO>

UNIX451 FITZ <PASSMO>

TRANSFER TEST NBS10

LEAVEUNIX451

CONNBBN S^iN <PASSMO>

RETRIEVE FILEl

LEAVEBBN

REMADE FILEl INl

RENAME FILE 2 IN2

CONNISI

RETRIEVE FILE3

LEAVEISI

RENAME FILE3 IN3

EX TEST

CONNUNIX451 FITZ <PASSWD>

RENAME OUTl DATAl

TRANSFER OATAl UN 1X4 51

LEAVEUNIX451

CONNBBN SWM <PASSMD>

RENAME 0UT2 0ATA2

TRANSFER 0ATA2 BBN

LEAVE BBN

RENAME 0UT3 0ATA3

LEAVE

-24
V. CONCLUSIONS

The Common Command Language for File Manipulation and

Network Job Execution was developed to facilitate user interaction with the various systems of a network. As

presently implemented, it enables a user to perform file

manipulations on four different system types after learning

only one simple language. In addition, the language provides the ability to gain access to a system , to identify a user to that system and to easily transfer files between

systems without learning complicated protocols.

work is currently underway to combine the CCL with a Networkwide Directory (NWD) to develop the idea of a "network user." A network user will be connected to the different systems on the network through the NAh and be able to

access the files resident on the different hosts the same

way a single system user can access files resident on diffent devices. Address resolution of the files will be done

through the NAM using the NWD and will be transparent to the

user. Incorporated within this system will be a record level

access capability for files on remote systems along with facilities to control user access to those files.

-25-
APPENDIX 1: THE COMMAND LANGUAGE

Connection Establishing Commands

BBN <IDENTIFIER>

Ibl <IDENTIfI£R>

MULTICS <IDENTIFIER>

NBSltf <IDENTIFIEK>

UNIX451 <ID£NTIFI£R>

File Handling Commands

APPEND FILEl FILE2

COMPARE FILEl FILE2

COPY FILEl FILE2

CREATE FILE2

DELETE PILEl

ERASE

LIST

RENAME

TYPE

UNDELETE

File Transfer Commands

RETRIEVE FILEl HOST

TRANSFER FILEl HOST

Connection Termination Commands

LEAVE

Network Job Execution

Makeprofile Utiltity

Runmacro Utiltity

RUN

26-
[KIM 76-lJ Kimbleton, S. R. , Final Report, Contract

F30603-75-C-0222, Rome Air Development Center, January 1976.

[KIM 76-2] Kimbleton, S. R. and R. L. Mandell, "A Perspective on Network Operating Systems", Procedings of the AFIPS

National Computer Conference , vol. 45, 1976, pp. 551-559.

[NBS 77] National Bureau of Standards, "User - Terminal Protocols, ENTRY and EXIT Procedures between Terminal Users and

Computer Services, Federal Register , vol. 42, No. 238, pp.

62408 - 62416.

[NEU 75] Neumann, A. J., "Proposed Implementation for

Development of User- Terminal Protocols for Computer NetworK

Access, NBSIR 75 - 744, July 1975.

IROS 76] Rosenthal, Robert, "A Review of NetworK Access

Techniques with a Case Study: The Network Access Machine",

NBS Technical Note 917, July 1976.

[ROS 78] Rosenthal, Robert, and Lucas, Bruce D., The Design

and Implementation of the National Bureau of Standards

Network Access Machine ( NAM) , NBS Special Publication Series

500, m preparation.

[UNG 74] Unger, Claus (editor), "Command Languages",

Procedings of the IFIP Working Conference on Command

Languages , Lund, Sweden, 1974.

[WOOD 78] Wood, Helen M. , and Kimbleton, S. R. , "Remote

Record Access: Requirements, Implementation, and Analysis,"

in preparation.

-27-
NBS-114A (REV, 7-73)

U.S. DEPT. OF COMM. 1. PUBLICATION OR REPORT NO. 2. Gov't Accession ""'°-ShYe"t^ NBS SP.500-37

3. Recipient's Accession No.

4. TITLE AND SUBTITLE

COMPUTER SCIENCE & TECHNOLOGY:

rrtmmnn PnmmanH I AnniiAno "Fav^ Flip M^ini mil ai"! nn ;^nH Nlp'hwnv^k' uornniuii ^uiiuiiariu Laiiyuciyc i ur r i i c riaii ijJuiaLiuii aiiu i^ctwur n Job Execution: An Example

5. Publication Date August 1978

6. Performing Organization Code

7. AUTHOR(S)

M. L. Fitzgerald

8. Performing Organ. Report No.

9. PERFORMING ORGANIZATION NAME AND ADDRESS

NATIONAL BUREAU OF STANDARDS

DEPARTMENT OF COMMERCE

WASHINGTON, D.C. 20234

10. Project/Task/Work Unit No. 6502129

11. Contract/Grant No.

12. Sponsoring Organization Name and Complete Address (Street, City, State, ZIP) 13. Type of Report & Period Covered Special Publication

14. Sponsoring Agency Code

15. SUPPLEMENTARY NOTES

Library of Congress Catalog Card Number: 7S-6OOO69

16. ABSTRACT (A 200-word or less (actual summary ol most si^ificant information. If document includes a significant bibliography or literature survey, mention it here.) Computer networks provide the capability for sharing resources across many diverse computer systems. Utilizing this capability is inhibited by

the requirement that the user become familiar with all the varied command

languages and protocols of each accessed system. This report presents a general approach to solving this problem using an intermediary system to

support a set of Common Commands for File Manipulation and Network Job

Execution. To show the feasibility of this approach, common commands were

implemented for four systems using the NBS Network Access Machine.

17. KEY WORDS (six to twelve entries; alphabetical order; capitalize only the first letter ol the first key word unless a proper name; separated by semicolons)

Command language; computer network; file manipulation; macros; network access; network job execution; network operating' systems.

18. AVAILABILITY |XII Unlimited

1 1 For Official Distribution. Do Not Release to NTIS

1 ^1 Order From Sup. of Doc, U.S. Government Printing Office Washineton. D.C. 20402. SD Cat. No. 0C3-003-

1 1 Order From National Technical Information Service (NTIS)

Springfield, Virginia 22151

19. SECURITY CLASS

(THIS REPORT)

UNCL ASSIFIED

21. NO. OF PAGES

32

20. SECURITY CLASS

(THIS PAGE)

UNCLASSIFIED

22. Price $1.50

USCOMM-DC 29042-P74

it V. S. GOVERNMENT PRINTING OFFICE : 1978—261-238/193
ANNOUNCEMENT OF NEW PUBLICATIONS ON

COMPUTER SCIENCE & TECHNOLOGY

Superintendent of Documents,

Government Printing Office,

Washington, D. C. 20402

Dear Sir:

Please add my name to the announcement list of new publications to be issued in the series: National Bureau of Standards Special Publication 500-.

Name

Company

Address

City State Zip Code

(Notiflcation key N-S03)

There's

anew

look

/A Ik I X * • • monthly />^^^^s / X magazine of the Nation-

^^^^ll^^w^^ al Bureau of Standards.

f ^^^^ / Still featured are special ar- ^^^^^^^^^/ tides of general interest on ^^^^^^^ / current topics such as consum-

^\.-^^y/ product safety and building ^^^^^ / technology. In addition, new sections are designed to . . . PROVIDE

SCIENTISTS with illustrated discussions

of recent technical developments and

work in progress . . . INFORM INDUSTRIAL

MANAGERS of technology transfer activities in

Federal and private labs. . . DESCRIBE TO MANUFACTURERS advances in the field of voluntary and

mandatory standards. The new DIMENSiONS/NBS also

carries complete listings of upcoming conferences to be

held at NBS and reports on all the latest NBS publications,

with information on how to order. Finally, each issue carries a page of News Briefs, aimed at keeping scientist and consumer alike up to date on major developments at the Nation's physical sciences and measurement laboratory.

(please delach here) SUBSCRIPTION ORDER FORM

Enter my Subscription To DIMENSIONS/NBS at $12.50. Add $3.15 for foreign mailing. No additional

I postage is required for mailing within the United States or its possessions. Domestic remittances

|l should be made either by postal money order, express money order, or check. Foreign remittances

i should be made either by international money order, draft on an American bank, or by UNESCO

P coupons.

Send Subscription to:

Remittance Enclosed (Make checks payable

to Superintendent of Documents)

n Charge to my Deposit Account No.

NAME-FIRST, LAST III! I I I I I I I I I I I I II

COMPANY NAME OR ADDITIONAL ADDRESS LINE

I I I I I I I I I II I I I I I I I II I I I

STREET ADDRESS III I I I I I I I I I I I I

CITY

I I I I I I I I I I I I I I I I

STATE

PLEASE PRINT

ZIP CODE

i I I I

MAIL ORDER FORM TO:

Superintendent of Documents

Government Printing Office

Washington, D.C. 20402

NBS TECHNICAL PUBLICATIONS

PERIODICALS

JOURNAL OF RESEARCH—The Journal of Research

of the National Bureau of Standards reports NBS research

and development in those disciplines of the physical and

engineering sciences in which the Bureau is active. These

include physics, chemistry, engineering, mathematics, and

computer sciences. Papers cover a broad range of subjects,

with major emphasis on measurement methodology, and

the basic technology underlying standardization. Also in- cluded from time to time are survey articles on topics closely

related to the Bureau's technical and scientific programs. As

a special service to subscribers each issue contains complete

citations to all recent NBS publications in NBS and non- NBS media. Issued six times a year. Annual subscription: domestic $17.00; foreign $21.25. Single copy, $3.00 domestic;

$3.75 foreign. Note: The Journal was formerly published in two sections: Section A "Physics and Chemistry" and Section B "Mathematical Sciences." DIMENSIONS/NBS

This monthly magazine is published to inform scientists, engineers, businessmen, industry, teachers, students, and

consumers of the latest advances in science and technology,

with primary emphasis on the work at NBS. The magazine

highlights and reviews such issues as energy research, fire protection, building technology, metric conversion, pollution

abatement, health and safety, and consumer product per- formance. In addition, it reports the results of Bureau pro- grams in measurement standards and techniques, properties

of matter and materials, engineering standards and services, instrumentation, and automatic data processing.

Annual subscription: Domestic, $11.00; Foreign $13.75

NONPERIODICALS

Monographs—Major contributions to the technical liter- ature on various subjects related to the Bureau's scientific and technical activities. Handbooks—Reconunended codes of engineering and industrial practice (including safety codes) developed in cooperation with interested industries, professional organizations, and regulatory bodies.

Special Publications—Include proceedings of conferences

sponsored by NBS, NBS annual reports, and other special

publications appropriate to this grouping such as wall charts, pocket cards, and bibliographies.

Applied Mathematics Series—Mathematical tables, manuals, and studies of special interest to physicists, engineers,

chemists, biologists, mathematicians, computer programmers,

and others engaged in scientific and technical work.

National Standard Reference Data Series—Provides quantitative data on the physical and chemical properties of

materials, compiled from the world's literature and critically evaluated. Developed under a world-wide program coordinated by NBS. Program under authority of National

Standard Data Act (Public Law 90-396).

NOTE: At present the principal publication outlet for these data is the Journal of Physical and Chemical Reference Data (JPCRD) published quarterly for NBS by the American Chemical Society (ACS) and the American Institute of

Physics (AIP). Subscriptions, reprints, and supplements

available from ACS, 1155 Sixteenth St. N.W., Wash., D.C.

20056. BuiMing Science Series—Disseminates technical information developed at the Bureau on building materials, components,

systems, and whole structures. The series presents research

results, test methods, and performance criteria related to the

structural and environmental functions and the durability and safety characteristics of building elements and systems. Technical Notes—Studies or reports which are complete in themselves but restrictive in their treatment of a subject.

Analogous to monographs but not so comprehensive in scope or definitive in treatment of the subject area. Often

serve as a vehicle for final reports of work performed at NBS under the sponsorship of other government agencies.

Voluntary Product Standards—Developed under procedures

published by the Department of Commerce in Part 10, Title 15, of the Code of Federal Regulations. The purpose

of the standards is to establish nationally recognized require- ments for products, and to provide all concerned interests with a basis for common understanding of the characteristics of the products. NBS administers this program as a supple- ment to the activities of the private sector standardizing

organizations.

Consumer Information Series—Practical information, based on NBS research and experience, covering areas of interest to the consumer. Easily understandable language and

illustrations provide useful background knowledge for shopping in today's technological marketplace.

Order above NBS publications from: Superintendent of Documents, Government Printing Office, Washington, D.C.

20402. Order following NBS publications—NBSIR's and FIPS from

the National Technical Information Services, Springfield, Va. 22161.

Federal Information Processing Standards Publications (FIPS PUB)—Publications in this series collectively constitute the Federal Information Processing Standards Register.

Register serves as the official source of information in the Federal Government regarding standards issued by NBS

pursuant to the Federal Property and Administrative Services Act of 1949 as amended, PubHc Law 89-306 (79 Stat. 1127), and as implemented by Executive Order 11717

(38 FR 12315, dated May 11, 1973) and Part 6 of Title 15 CFR (Code of Federal Regulations).

NBS Interagency Reports (NBSER)—A special series of

interim or final reports on work performed by NBS for outside sponsors (both government and non-government).

In general, initial distribution is handled by the sponsor;

public distribution is by the National Technical Information

Services (Springfield, Va. 22161) in paper copy or microfiche form.

BIBLIOGRAPHIC SUBSCRIPTION SERVICES

The following current-awareness and literature-survey bibli- ographies are issued periodically by the Bureau:

Cryogenic Data Center Current Awareness Service. A litera- ture survey issued biweekly. Aimual subscription: Domestic, $25.00; Foreign, $30.00.

Liquified Natural Gas. A literature survey issued quarterly.

Annual subscription: $20.00.

Superconducting Devices and Materials. A literature survey

issued quarterly. Annual subscription: $30.00. Send subscription orders and remittances for the preceding bibliographic

services to National Bureau of Standards, Cryogenic Data

Center (275.02) Boulder, Colorado 80302.
U.S. DEPARTMENT OF COMMERCE

National Bureau of Standards

Washington, D.C. 20234

OFFICIAL BUSINESS

Penalty for Private Use. $300

POSTAGE AND FEES PAID

U.S. DEPARTMENT OF COMMERCE COM-21 5

SPECIAL FOURTH-CLASS RATE

BOOK