(logo)
(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Open Source Books | Project Gutenberg | Biodiversity Heritage Library | Children's Library | Additional Collections

Search: Advanced Search

UploadAnonymous User (login or join us) 
See other formats

Full text of "Proposal for a Network Interchange Language"

.. Messages fom ftlel 
-- Wednesday? July 2? 1977 09137:10-EDT -- 
Datei 19 Jul 1977 1839EDT 
Froml WALDEN 
SubJect: f¾{ 
Tol 8essler Heart, McKenzie HcOu{llan, Walden 
Mail from USC.ISlE rcvd at 19-Ju177 828-EOT 
Datei '19 Jul 1977 1523-PD? 
Froml PaSTEL at UBC-IBIE 
Subject: material for arpaet completion repot 
To) alden at BBNE 
cc! postel at I$IB 
Oavei 
the followlng information may be o assistance n you work on the 
arpenet repo.tm if t can be of any assistance n trcking down 
dates of meetings or publications o any other help let me know 
Chronology 
April 1969 
Network Hoeklng Goup omed, First RFC publJshed 
$m Crocker "Host Saltwater" RFC [ N[C 687t 
First host level ProtoCol $ecifted, 
g Deloche "Host Saltwater" RFC 9 NIC 
February 1970 
Second host level potocol roposedm 
$, Croaker "New HOST.HOST Protocols" RFC 33t N[ 735 
12-Feb-70, 
June [970 
Version 2 o second host level rotocol 
S, CPoeker "An Official Protocol Profferlng" RF½ 54 NC 
75b [6-Jun-70 
August 170 
Host level Potocol published as ofIcial 
S Crokept "OffiCial Host to Host ProtoCol," Document 
NC 719, 3-Aug-?O, 
ReaoU.ce. Sha.mg Computer Networks" RFC 62 
3=Aug-?O. Alma published in Communications O the AM 
Network GaDhi½s Meeting 
Where  Who ??? 
Initlal Connection Pffoto½ol 
$ CrockeP "$Pd Level Ideas and other Nolse" 
November [970 
NetwoPk Waftking Group Meeting at FJCC in 
J. Pastel "Network Meeting Reports" RFC 77 
E, Hayer "Network eetng Nobeat" RFC 8 NZC 5q 
9-Dec-?, 
[nitlal network use at UCSO and RAND, 
E, Herslam "NCP Status RePotl UCBB/RAND" EFC ?B N[ 599 
-----------------------------------------------------------
undoted, 
December lg71 
Data Reconfiguret{on Service frst suggestedt 
E= Hatslam "ffotocols and Data Foamstay"EFt 80 SIC 5B08 
Graph{Cs Protocol f{st 
$ Cockee "poposal or a Network Standsad Format foe 
Data StPeam to Control Graphics Displays" RFC 86v NZC 
5jan-Tl, 
Remote Job ntPV peotoCol rst 
R Braden "NETRj$  A Th(Q Level Peotocol for Remote Job 
EntPy" RFC 88 NZC 568 
Initlal use of the network at MZT end 
NIC 5697, 19Jan71 
February 1971 
Telnet poocol fiest poDosed, 
J Melvin "A Ft Cut at a PPopoaed Telnat Ppoto½ot" RFC 
?, NIC 57a0, 15-Feb?t, 
E, MeyeP "LoggeP PPoto½ol Popomed" RFC 98 NI½ 5?QQ 
NetwoPk WoPkng Goup held at Un{vePsit¾ of 
R Hateon "otes on the Network WoPk{ng Group Meetings" RFC 
101 NI½ 572 
R, atson "Addendum to NWG Meeting Notear" RFC 108 
5807 5-Mar-?lm 
Most level Oeotooo) modlfied m 
$, Ceockee "OutPut o' the Hoar/Moat PPoto½ol Glitch Cleaning 
Commlttee" RFC 10 NIC 5763 
Hoar level protocol 
R e BeesslaP "Output o the Most-Most ProtoeD) Glltch 
Cleaning Committees" RFC 07 NZC 5806 
File Teens(at PeDrocol ((rat ropoSedm 
16-APr-?l, 
May lg?l 
Network Wok(ng Goup meet(nO held at $JCC in Atlantic 
Jm Meafnee "inutes of the Netwoek Woeklng Geoup Meetlng" 
RFC iba, NIC 6778 
Telnet peDrocol 
T m OeSullivan "TELNET Peoto½ol" RFC 158 NIC e78 
l-May-7)m 
Data Reenflguetion Seevice spe½If}ed, 
Bm AndePson "ata Re{onftgunatton Shevice .- An 
Zmptementation $pecieetton  RFC tb NZC b780 
June 
File TPanateP PPoto½ol design 
Bhuahan Am "The Data TPansteP Protocols" RFC 17 NC b793 
3-jUN-Tt, " 
Bhushen Am "he F(le TnenafeP Potoeol"RFC NZC 
July !971 
He(1 Protocol first (scussem 
Watson R, "A Me(1 Box Protocol" RFC t9 NIC 
O-JUL*71, 
Graphics meet(no helU by NIT, 
Auguat lqT! 
Terminal IMP Pcoto½ol Implementation 
McKenmiev A, "CP iCP and Telnetl The Tepminal IMP 
-----------------------------------------------------------
j .uoounuu Du!oo W Lo:ood ouLo my 
,ooood eenueL puemo3 doon uomo3 y 
mma uozuWsu u ½I) ouodeuo 
3 daqoO 
) LOOou uosue ot oq uo uoo. 'V ueqmwg 
ioOod osul OL Bu)^iOne u t pepnLu puemmo 
6I eun 
LBI Aenue 
[Z6I eqmenON 
mff 3 .ainpeq3 õu%aoN ono9 DUdOM doMoN. m v 
IL6I aqoo 
e 
-----------------------------------------------------------
UaePs IntePemt goup meeting 
RFC 585 NIC 2050 6-NOV-7. 
June tg73 
A f(le access pPotocol s pPopose, 
Day Jm "F(le Access PPotocol" RFC 
25-JUNI-73, 
July 
'NetwoPk Greph(c Meet(ng 
Buncht 8, "MtnuteB of NetwoPk GPaph(c8 GPoup Meet(ng n RFC 
59 t NIC 177g5 21-AUG73m 
Octobe, 1975 - 
A common tet ed(tng subsystem pPcosed. 
Padl(psk¾t M. "Neted) A Common Ed(toPfo, the ARPA Netwo,k" 
RFC 569 NIC 18972 
July 
A cPossmnetoPk debugging pPogram S pPopoaed 
MadePt [', "NetoPk DebuggCng P.otoColt" 
Novembe 
A Host O Fpont End pPotoeol pPopoed, 
Pedllpsky M. "A PPopomed PPotocol fop Connecting Host 
Computers to ARPA-Lke NetoPks via 
End PPocessos" EFt bQTt N[C Dtil'Tt 12-NOV-7Q, 
Decembe. 
A procedupe optanted pPotocol is .pPoposeds 
Pastel, j, "PPoceduPe Call Potocol Documents" 
June 
MeJoP extensions to the HP/Host IntePface pPoPosed 
We!den D,C, "[MP/Host end Hoat/ZMP Potocol Ch&nget" RFC 
687t NI½ 265t 2mJUN-75m 
.) 
-----------------------------------------------------------
Proposal for a Network Intercharge Language 
Introduction 
In this paper an attempt is made to spe_ify a high level progra lnguage 
for cmputer ne.rks, and more specifically the ARPA network. The main con- 
cept introduced .is the one of an abstract Network Lachine, which is consistent 
with the idea of a HOST asking a service frcm the puter netw.Drk cormidered 
as an overall ccrut facility. The dialogue is always be_n a HOST and 
the Network MacVee %.ih language is always the same, though is configuration 
may vary accordir to the real rnote EOST. 
ß Fr'c a progr&utng language point of vi, this concept is similar to the 
proposed in 1958 [STR058] but never implemented, however; the application to a 
ocmpu ne..rk implies a realti.e interaction betw-een programs. Also, _he 
possibility for the use_r to use N_L either in a standard mode or in an extends/ 
mode where he defines himself his .n entities sbould give to NIL a max/nmzn of 
flexibility. 
Basic concepts introduced in 
1.1 
Aim of NIL 
The to ma n objectives of NIL are: 
a) to describe the environment in which a progr-u is :ecuted 
(its cupl.-ment ) this involves the description of: 
- data formats and data structures 
- exchanges %th input and out devices and haracteristi 
- expected _ thn 
- interface with operating system 
b) to express the front end part of an interactive systsm: 
The data fl. through sun interactive syst gœ.rrally decreases 
as the data reaches the kernel of the systu: it is assum-ud 
that in mny interactive systems a separable module exists or 
can be defined which involves a great nount of data 
with. tP user, and much less exdhnned th the rest of the 
system. This module is called Front-End. It is /reportant 
the respcnse time of the 3stm is affected as little as possible 
by additioD] tranuission delays. Also, it is desirable to 
keep t/:e data rates as 1, as possible on the net.ork. 
It is assed tbt the trar-fer of a Front Er- does not imply to solve the 
whole problem of puxjr=-u tr-,ferability. 
-----------------------------------------------------------
RmqueSt for Cmnts-51 4 ay 70 
1.2 NIL subcategorization 
As pointed out by S. Volansky [ ] it ts convenient to divide ges 
in several sublanguages corresponding to their main functions. NIL is 
thus. subdivided in: 
- a control sublanguage 
- an operation sublanguage 
- a data declaration sublane 
- an envirorfnent sublanguage 
1.2.1 Control sublanguage 
The control sublanguage states {EN a ccrmputation is done: It describes 
the fl. of control or orderin of the ccputations. With sce infor- 
mation contained frcm the other sections of the language, it also states 
MHERE the ccmputations are to be executed. 
As a cL_uter net%.rk introduces loose connections between several systems, 
the control language of the Ne.rk chine should be able ,in an elaborate 
version / of assignir ccmpu. tations to available processors, taking into 
account the t/me delays and resource allocation problems involved. It is 
not our purpose to consider this level at the moment. 
1.2.2 Operation' sublanguage 
The operation sublanguage describes the operations to be perfolmed on the 
data without iication of the sequencir between operations, it an.;ers 
to the question of HC,; an operation is performed. The operations are sub- 
divided into t% groups. 
- a cctation grou.D 
- a data manipulation group 
The later is the most important part of NIL since its main purpose is the 
transformation of data structures and patterns. 
1.2.3 Data declaration sublanguage 
The data declaration sublanguage is necessary to declare the variables 
ar data structures on which o._rations are performed. 
The possibility is given to build structures of atcrmic elements called 
beads. NIL provides a standard set of beads used in the "standard mode"; 
in the "xtered mmde" a user may define n beads and n-; structures of 
thn. 
-----------------------------------------------------------
Rquest iorts bl 4 May 70 
1.2.4 Enviromuent sublanguage 
The enviroment sublanguage presses the context in nich a program 
expects to operate; expected characteristics of the peripherals, 
semantics of the exchanges with th-e outside rld through a particular 
operatin system. 
Thus a ccrplete "program descriptor" will contain four distinct sections: 
environment section 
data declaration section 
control section 
operation section 
1.3 
The identification section is cmitted because it corresponds to the log 
in and socket grabbing pa of the initialization procedure. 
The Network Mac/ 
One fundmmental concept in hL is that of an abstract Network ,chine 
which 'has the follcnug characteristics: 
an infinite muory: there is no problem of muory allocation 
or garbage collection in this machine. But as an item must be 
accessible, it must still have an address. 
variable %Drd length: a 0rd may be considered as the smallest 
intelligible and addressable itsm of data. The atomic element 
called bead is in fact the machine ,rd. The structure and 
length of each type of beads are expressed in the data defini- 
tion sublanguage. 
HOST 
As presented on figure 1.9.1, one HOST 
only ccmuunicates with a Netvrk Mach- 
ine which may operate in o modes. 
I. ./Network 
--- Machine 
figure 1.B.1 
their structures/and the allc wruu,tions on them are 
standard and need not to be redefined: standard beads and 
structures are kn. of every HOST 
extended mode where in addition to or instead of the standard 
data definitions and manipulation, a }lOST may specify new beads 
structures and transformations. The extended mode all.;s the 
user to define his ,n machine as the Neb.,:ork Madine. 5b_is is 
then equivalent to the mocles MY LOCAL, YOUR LOCAL proposed 
in RFC #42 ky Ancona. If the definition of a nan has not been 
altered the stan dard definition is assumed. 
3 
-----------------------------------------------------------
Reques% for Ccmnents 51 4 May 70 
The data definition sublanguage is as w11 used for the purpose of document- 
ing the set of standard beads. 
The instruction set of the NetDrk Machine stands at a high level per- .' 
mirting global transfonations of data structures. 
The 'environment of the NeHrk Machine is determined by the ubset of 
the environnent of th server's HOST ich is used by the program in 
execution; the syste HOST-Net%r ,chine can take two main configura- 
tions sh in figure 1.3.2. 
etwork 
Network 
Machine 
(user) 
figure 1.3.2 
a) 
The NetDrk .ch/ne'stands for the user of a 
program provided by the HOST (server HOST) 
The HOST machine is the user of a progr am 
provided by the Network Machine. 
The server machine assigns its har,ure .environ- 
ment to the user machine. This choice is made 
so tbt programs can be remotely used %.thout 
being modified; it is up to the user of a reno 
program to adapt himself and his own environment. 
Thus, when the Network chine is server, it 
defines the Data Definition and Environmant 
sections. 
-----------------------------------------------------------
. Network Working Group 
Request for Ccraren #51 
M. E1/e 
4May 70 
1.4 
Impleuentation 
The data and environment definition sublanguages should be able to 
describe as Well envirorment and 
data in HOSTs as data in Net- 
0rk Machine. At the limit 
it should enable two progrmms 
written in different languages 
as long as the data 
representation they use are 
expressible in the data de- 
scription sublanguage. 
In each HOST %ill be 
implemented a "generator" 
which will accept rules 
describing the HOST data 
structures and environ- 
ment and will generate 
an adequate translator 
to translate thsm in 
Net%rk :chine format, 
as shovnu in t/e figure 
1.4.1. 
_HOST description Network .chine 
\ - -  --'/_ (description 
\ /non standard mode) 
 .\ / ' INetwork chine' 
/ , 
< Data in Data is ß 
HOST for TRAkLATOR Net,rk Machinge 
mat format 
figure 1.4.1 
Once the ne.rk machine 
standaids will be settled 
it seens val,:hle to think 
about emulating the tran- 
slator using a micropro- 
gramed unit which %Duld 
be either added to the 
Host or rather to the IMP" 
thus avoiding the load of 
a translation %ich may 
involve lengthy operations 
on the bit level - (Figure 
1.4.2.) 
HOST 
Figure 1.4.2 
5 
-----------------------------------------------------------
Request forts 51 
4May 7o 
2.2 
Data definition sublanguage 
Fields 
All cu't,unications with the Network iachine are done using 
strings of bits: these strings of bits, also referred to as 
messages are parsed by t_he receiving HOST to reconstruct inside 
its memory the data structures in its own mamory and code. 
Bits are grouped into significant fields: a field is a group 
of bits having definite contents. ' It ray conAfn: 
a) an elint of data (data field) 
b) scme bit pattern specifying enviromTent parameters 
C) a pointer 
d) the identification of scme other fields. 
the 
method to describe the formats of beads is derived from 
method of description of a binary message suggested in 
#31: 
a) each field is declared with its nae and length in 
number of bits. 
b) ccmonly used fixed values of a field that correspond 
to a special meaning, may be given names. 
c) legal ways of concatenating fields are initiated by 
rules; when only certain fixed values of a field ar 
all=d, they may be either specified by their 
value or by the corresponding nan,. 
Data fields (type (a)) are conca =tanaed to form data beads: 
a bead is an indivisible atomic unit of data .Used as 
building elem=_nt of any data structure to be transmitted 
betaen HOSTs and NeWark chine. A bead is the smallest 
unit of data that can be referenced. 
The legal ways of forming a bead by concatenaticn of several 
fields are indicated in a construction rule. Beads have a 
fixed length and an unambiguous structure. In real machine 
beads are usually defined as an integer number of cq. ntiguous 
registers. This constraint does not apply here, though it 
may turn out to be more efficient to favor HOSTs with, for 
instance, 32 bit.rds, and 4 bytes per word, which .a.e the 
most ccmnon Drd structure on the ARPA network. 
Data beads may be cnsidered as the operands of the language 
in which fields of type (b) and (c) would be operators. 
-----------------------------------------------------------
Request for Cmts' 51 4 May 70 
2.3 
2.3.1 
oø 
Control fields 
The way data beads are linked onto the other and the environ- 
merit in which they operate are specified by additional control 
fields which cannot be referenced and are operators on or 
identifiers of the following string of beads, or linkage 
The scope of a control field may as well be all the beads or 
substructures of a structure, if it is specified at the level 
of the head of the structure. To be more precise, to kinds 
of structures of beads must be defined: homogeneous and 
.A structure is defined as brmogeneous' if beth a unique type 
of bead and a f/xed parameter environment for the whole 
structure is specified at the head of the structure. 
A structure is defined as heterogeneous if at least one of 
the folling conditions is true. 
- different types of beads are used for building the 
structure 
- the envirorr_nt in ich lie the beas of the structure 
is changing within the structure. 
Five mn control fields need to be defined. 
a) MODIFY 
b) .FIg 
½) POINTER 
d) IDENTIFICATION 
e) PARfER 
MODIFY field 
The DDIFY field is a one bit field preceding every bead of 
a heterogeneous structure: it is a flag set when follc=d 
by one or several control fields of type b, d, or e, which aim 
at modifying either the environment of data beads or their 
type. This field has the value: 
1 if the attached data bead type and its environmant do 
not change 
0. if the attached elemant is a control field or a 
sequence of control fields of type b, d, or e specify- 
ing a change in type/or environment of follcing data 
beads. 
-----------------------------------------------------------
2.3.2 FLAS field 
2.3.3 
2.3.4 
2.3.5 
Ehen set, the MODIFY field is inmediately followed by an 8 
bit FLA field indicating which of the IDENTIFICATICIN and 
several possible PAR,R fields are present; when set to 
one each individual bit means the follcwing: 
bit number 
o 
.1 
2 
6 
7 
POINTER field 
IDEhIFICATION field present 
first parameter field present 
second parameter field present 
sixth parameter field present 
next' field is another FLAG field 
for scram more paranters (in case 
attached to a bead environment). 
The number and nature of pointers to be attached to each bead 
depends on the structure definition. A given list structure 
may need one forward pointer. A ring structure may use an 
additional pointer to the first element. The necessary 
'lLnkage between beads are defined in the structure definition 
therefufter the necessary pointer fields autcmatically added to 
each data bead. A bead is referenced within a structure by 
an address relative to the head of the structure. Thus a 
16 bit pointer field should be fully sufficient to contain 
this address. 
IDEntIFICATION field 
The IDENTIFICATIfIN field is an 8 bit field which identifies a 
bead type aon 9 the list of defined bead 'types. Standard bead 
types are nunbered from zero up and non-standard bead types are 
numbered from 255 dcx,nu. The non-standard types hungering is 
special to each server program or to a set of server programs. 
The IDITIFICATION fields foll=½ a MODIFY field of value 1 when- 
ever the bead type has not been defined all over the structure 
in the structure root. Identification fields are also used at 
the level of the head of the structure to specify the type of 
identical elements (beads or structures) used within this structure. 
PARA field 
The' PARN-R field gives the list of the enviromnent parameters 
in %,,,ih the foll,ng string of data beads lies. A 
field is specific of a bead type; it directly follo..s the MODIFY 
field when there is no rbiguity or the type of the next data beads. 
-----------------------------------------------------------
Network Working Group 
Request for Commsnts 51 
M. Elie 
4 May 70 
2.4 
Example: the paramir field of the standard bead BEAS5;T 
will contain the following fields. 
a 2 bit field indicating the type of movement generated 
00 do not display move the beam 
01 "display fidel point point_ 
10 display vector vector 
11 unused 
a 4 bit field indicatirg beam intensity, by a number 
frc 0 to 15, 0 meaning a null intensity, and 15 the 
maximum possible intensity. 
- a ! bit field for blinking 
0 off 
1 on 
- a 1 bit field for light pen sensitivity 
0 off 
1 on 
{=talan .guage definition 
A COBOL - report like meta language is used in the examples 
because of its readibility, as well in the beads as in the 
structure definitions. 
Symbol Meaning 
+ cncatanation 
{ } choice 
[ ] 
optional choice 
repetition 
lcwer bound on the 
number of identical 
itrs; if cmitted 1 
is assumed to be 0. 
u 
upper bound on the 
number of identical 
items; if cmitted u 
is assund to be . 
a number alone means: exa.ct 
nutabet of repetiticn. 
9 
-----------------------------------------------------------
Network ,brking Group 
t for ts #5i 
M. Elie 
4 May 70 
© 
© 
2.5 
2.5.1 
ahel for further use within the same rule 
assignment 
conditional alternative 
grouping - 
indicates a special value given to the following field nam 
Proposed Standard beads 
Alphanuneric beads 
Character: CHAR 
A character is ourposed of one eight bit field (which has the 
same name). Many special patterns, corresponding to currently 
used special characters are defined; they are indicated in 
table 2.5.1, as %11 as some subsets of CHAR. The basic char- 
acter code is declared as standard ASCII 
standard EBCDIC 
or by the name CODE 
followed by the 128 characters in this code corresponding to 
the 128 ASCII characters. If no cod declaration is specified, 
the ASCII code is asstr by default. 
Number representation 
Nounally the kernel of a program stays in the'server's HOST 
and the user's HOST should have no arithmetic operations to 
perform on the data. In this case, the princip!as involved 
in the arit3mtic unit conception of a HOST do not need to 
be described. But the format of fixed and floating point 
n9_rs has to be described. 
in the case when user and server HOST's have the same 
number representation,for instance the standard 
representations the transmission of data in their 
nunbet representation reduces the data fl been 
if the server HOST has a different nunber representation 
than the standard representation, depending on the data 
transmitted, there are two alternatives: 
!0 
-----------------------------------------------------------
Network Working Group 
Request for Ccnents #51 
M. E!ie 
4 May 70 
+ the nunerical data is exchanged as decimal numbers in the 
standard code 
+ the fixed and floating point format are defined to the 
Network Machine ar the user HOST performs 
either a' direct transcoding frcm the server binary 
representation %o decimal' representation and vice. 
versa. 
or a transcoding frcm the server binary representation 
to its own binary representation and vice versa. 
As most of the numbers exchanged are to be printed in decimal or 
are given as decimal input, it is felt that when there is inc.ati- 
bility betven binary representations of corresponding HOSTs, 
exclu%nges in decimal representation would be the easiest. 
Thus are defined: 
a) ß Number in decimal r_epresentation %J%ich is not a bead but 
a string of characters (see 2.3.1) 
b) Fixed point numbers single precision FXPNU. 
double precision FXPNL 
Field definition BYTE 8 
SBYTE 7 
SIGN 1 
FXP NLi<-.qIGN + S 'EYTE + {BYTE} 3 
c) Floati point numbers single precision FLPNL%  
double precision FLPA4P 
FLP NIil --SIN + SBYTE + {BYTE} 3 
FLP N[42 -- FLPJM] + {BYTE} 4 
This only expresses the tax of the fioating point number. 
The semantics sbDuld say: in FLt 
SIGN is the sign of the nher of format {BYTE} 3 which is 
the mantissa 
SBkE is the exnoonent, and its value is based by a value 
of 4016 to insure positive exponents. In fact, 
ar FLPAL¾.I1 differ by their savmntics. 
11 
-----------------------------------------------------------
NeWark Rbrking Group 
Request for Ccnnents 51 
M. Elie 
ß 4 5y 70 
These properties will be expressed by special field 
definition: 
EXP -- SBYTE  '40HSBYTE 
MANT  SIGN  {B!_IUE} 3 
and a floating point number iJ defined as: 
FLP = /qT 
i2 
-----------------------------------------------------------
NeWark krking Group 
Rsquest for Ccuents #51 
me 
Special Curacters 
Transnissin Control Characters 
SOH 
STX 
ETX 
EOT 
DLE 
SYN 
ESC 
Printer Control Characters 
horizontal tabulation HT 
vertical tabulation VT + 
new line NL + 
end of messa9e IIM + 
Teletype Control Characters 
Carriage return CR 
shift out SO 
shift in Sl 
BS 
' 0Xi' CULR 
'OBX' CHAR 
'0AX' CHAR 
'08X' CHAR 
"ODX' 
'O' CHAR 
'OFX' CHAR 
Device Control Characters 
DC1 
DC2. 
DC3 
DC4 
Table 2.3.1 
13 
M. Elie 
4 ly 70 
-----------------------------------------------------------
Net,rk Workin Group 
Request for Ccuents #51 
M. Elie 
4 May 70 
2. Subsets of Characters 
Numeric characters 
Printable characters 
 PRfAR 
Intezmediate characters 
ITCHAR + 
Final Characters 
FIN CHAR + 
Tranamission Control 
Characters* 
TRACH2 + 
Derra Control Characters 
' charactars 7 ' 
DL 
Teletype control Character 
Alphabetic characters 
Printer Control 
Characters 
PCiAR 
SO 
SI 
BS 
Table 2.3.1: Special ASCII characters and groups of ASCII 
characters. 
*see USACII standards 
-----------------------------------------------------------
etwork Workir Group 
Rsquest for Ccranents 51 
M. Elie 
4 &y 70 
2.5.2 - Graphic Beads 
As proposed in RFC %5 by J. Rulifson, the screen of any graphical 
display is taken to be a square; the coordinates of points are 
normalized frcm -1/2 to +1/2 on both ax=_s. The position of the 
first point of a structure is deYrmined by the deflection frn 
the origin %Jlich is the rest point of the beam; follc..ng points 
are determined by their deflections (AX,AY) frcm the last beam 
position. 
Thus, only t%o data fields need to be defined: 
DEFLECTION 
which is a 12 bit field: the deflection is 
defined by a number betv=en - 1 and +1 with 
the precision usual to the server. 
which is a 15 bit field defining an angle frcm 0 
to 2H in radians be.=en le horizontal axis and 
an axis passing through the origin. The first bit 
of it indicates if the angle must be taken clock- 
wise or counterclockise. 
The data beads are: 
Dependin on the parameters which are set when this bead appears, 
MOVE may specify: 
- an invisible movement of the beam; in this case the beam 
intensity is null 
- a new point: in this case the beam intensity is on only 
%Jlen the beam has reached the n point. 
a vector: in this case ebeam intensity is set to a certain 
non zero value 
MOVE + {DEFLECTION} 2 
Arc of circle: AN2 
An arc of circle is defined by its center, followed by its start- 
ing point and the angle of its ending axis. 
+ 
15 
-----------------------------------------------------------
NetDrk Working Group 
Request for Coramerits .51 
-M. Elie 
4 May 70 
2.6 Proposed parameter fie!d.. 
2.6.1 Character strings. 
In character strings some of the control characters are really 
parameter fields: they act as a operator on the following 
strir of characters. i.e.: 
lc_r shift 
upper shift 
nev line 
But as the code and use of hese characters are determined in 
the standard codes, they are not included in parameter definition. 
It may be taken advantage that tese characters are in the t 
left colunns of the ASCII or EBCDIC stard code: they correspond 
to codes with the first three bits null in EBCDIC and the' first 
two bits null in ASCII. 
2.6.2 Graphics parameters 
The follc.ng parameter fields are defined: 
scale SCALE 4 
beam intesity . INT 4 
light pen sensivity SENS + ,..TIH 
b  nkir BLINK + ITCH 
beam BF__.! + I 
SWITCH is. a 1 bit field ich may take the values: 
C <-- '1' SW/TC 
OFF  '0' SfiTCH 
A s%tch par,v, eter Stays ON, as long as it is not reset to 
OFF. 
The beam intensity is expressed by a nunber frcn 0 to 1. 0 is 
black and 1 as light as the display can go..Numbers in be.en . 
specify the relative log of the intensity difference. BEAM 
permits to switch the RV. AM on or off without changing the 
Current Ihf parameter. 
2.7 Structures 
2.7.1 Structure definition. 
The structure definition consits mainly in the _=oecification of 
the topolcgical relations bet,%n data beads: 
- sequential relations; no pointer field necessary 
- lir through a number of pointers. 
16 
-----------------------------------------------------------
Network brkir Group 
Rquest for 'Ccments 51 
4 May 70 
2.7.2 
2.8 
2.8.1 
Standard structure type. 
Two basic standard structure typ are chosen 
VECTOR to represent.-sequence of data beads (strings, arrays, 
tables... ) 
PIRX. to represent any kind of directed graph, tree., ring...) 
VECTOR (C;N,...N C) + VECTORHDR + VECTORBODY 
VSLfORBODY+(=C+l:{defi.ed bea} Ni + [VECrORBODy] 
Cis he n of s (col)  e vr, t v- 
It   probly   de a cess vecr 
R  %.ch se of e idl ele s- 
t  1 elt +'.a  d + e n of idcal 
el  sce. 
PIX (M) 
The first bit 'of a pointer field indicates if the pointer points 
to a tenninal elnent or not. If it is the case, forward 
ointer fields are not added to the data element. 
M is the nunber of data elements in the structure. 
Objects 
object definition. 
An object is defined by a ssmantic rule including, on the right 
set of parameters of the object definition. 
on the lef Operands:- name of tbead s used a s data elements 
hand side pertors: parameter fields 
structure of the data beads. 
i.e. The definition of a n, object called SQUARE is: 
(A,L',A) PDT',(/,v,.) R(1,4) (3,'OFF'+ 
MfE (A) + B.F14 'ON' + .XIE (0,L) + ./DVE (L,0) + 
(0,eL) + 
Where ROT refers to a transformation defined in the data manirul- 
ation language, and VECTOR is defined as a starard structure. 
-----------------------------------------------------------
NetwoCk Workir Group 
Rsquest for Craments 51 
M. Elie 
4 May 70 
2.8.2 
The identifier of the w structure is SQUARE 
ß The structure type used is VECSXDR %n[t] dimension 1 and 4 elements 
The elements of the VECOR are standard beads 
The parameters are A, L, and A  
Parameter fields n. .'OFF' and ME.! 'ON' are used. 
Alphanumeric standard objects. 
Cxoressed character string (C4STR/G) 
O2 -R (1) [PRCHAR] n + 
A essed string of characters is any number of times a 
string of any number of printable characters foll.d by one of 
the foll.nhng characters 
- horizontal tabulation folld by the nutabet of correspond- 
ing blm%ks to be added 
- vertical tabulation follcd by the number of lines to 
- escape foll.d by any character 
new line 
end of page 
The campressed string is ended by an EOF character. 
-Ccde teble (CODE) 28 
CODE-V3IR (1; 128) 
OODE is the name of the translation table assumed for a given 
program. When defined by the user, he must give frcm 
column 1 to column 8 the 8 bit pattern equivalent o the 
correspoPxitng œCII code. 
18 
-----------------------------------------------------------
Netw,6rk 'brking Group 
Request for Cu,',ents 651 
M. Elie 
4 !y 70 
Binary image 
B CARDVECIOR (1;120) 
(CEAR 120 
Packed decimal number 
i A X 
C X 
E X 
F X HNL%! 
B X 
bits field 
PDNUM 6--- {PN + DSIG 
Decimal number (unpacked or zoned 
14n<31 
DNL4 --- K.. + D SIG PM 
-----------------------------------------------------------
Titlz: DEL 
Author: Jeff Rulifson 
Installation: Stmnford Research Institute 
Date: 2 June 1969 
Network Working Group Request for Ce3ent: 
-----------------------------------------------------------
:EL, '02/06/69 , I010; 58 
aua! trnsm issian? 
JFR ; .DSN=I; . LSP-O; ['=] NO NJ[ SP ; i"?); 
11 JS lr ac.. 
the De co de -[-,ncode La nquage (DEL) is a macne i ncepen.efc IJng,..!ge 
tailareal t.o {o sPec jfic computer netuork tasks: 
occel:Lins inpu{ codes from interactive consoles, giving immecliaLe 
feedback, ona packing the resul ting i.nforation iLo roes.sage 
pkeLs f nelwork transmission. 
ao accepting message packets from another computer, unpacking 
tem, b, uiloing trees .of displa information, and sending oher 
inor,aa,Li, o.[o the user al his iqler,clive sta/icn. 
'This is  .wcrking :document for [he evolution of t!'e D....k languge. 
Comments should De made through Jeff Ruiirso a[ SR]. 
oreword. 
The init ia ! RPA network uorking group met at SR[ on P,½t. ouer Z5--26, 
1968. 
[ uas generally agreed beforehand that the running or nterac{ive 
program acros$  he network was  ne first problem tho[ ,auid e 
faced. 
lnis group, lr_ady in aggrement about the underlaying notions o'f 
a DEL'-like approach, set Ooun some LerminolJgy, expectations for 
DL progra, and lists of proposeO semantic capagility. 
AC Lhz meeting e.re Andrews, 8aray, Cart, CrocKer, Ruii ton, 
So ug nl on. 
and 
A second round of e,etings was then held in a pjece.ea! 
Crocker meet with Rullfson at SRI on Nov cinDer 18, Ib8. tns 
resulted :in the inconpcrdtion of forr,al co-routtres. 
and SLoughton meet ui lh Rulif son aL RI on Dece.ber JZ, 198. I [ 
ws dec. ei.ded to meet again, as a grouP, prnaaly at UTAH, in late 
Janur ar , J9bg. 
The tirst public release of this oaper was at the 8[?N 
Camb.,'"'i dge on {ebruar;¾ I 3 , I 969. 
NE roeeli n, i n 
NET Standard Tramlatons. 
NST Ihe NST library is the seL of programs recesary Lo .me.]h 
efficiently uith th:e code compiled at the user sis from the SEt 
progr,ms-it reives. The NST-OEL ppro.ich to NET inter,ctive szstem 
communicat ion is Ant ended to operate over a broad ;p-cErum. 
-----------------------------------------------------------
./ 
in thir..-.'.,Je, the NST defau: = 
'C'e'. .C' reCeiVe unvel'scJ h .   
lJipu[ in the nor'm8 [ fa'.hzon f.. 'or 
nd . R 0œ.'. t -o-gram beCOmeS 
A n. jI' e lnLer.medi,'.. u';e o' NœT-D ' is o hav ecro l,o ':s t,)r . 
In t  i. mode , the gEL program wou' d run . ,.  oup .,:'x TT Z 
Lh  u9. 
JL .'oui: e,"ho ; cnaracleri, Lrar ,la.e L.hem ' . 'he ch '_cer ? . 
Of  sre'r-host, pack 'the Lr.[ated cha'.:,:Ler '. me5ag .... 
When mess,'ges come from the ser :_-r-S.o',t. the DœL proqam oul ' 
his TTY. 
A .more mot lous task for DEL is the operalie 
d-pIay--orienled syslems from reinale cenoles evr 
Large .irLeract. ive systems usu. fix offer a lot of feec:-ac, .'.o 
the. usm. The unusual natur  of the ?edbck m-----------------------------
Universal Hardware Re. presentation 
1'o minimi!ze the 
user codes to: 
representation. 
numDe. r of translaLor's needed lo ap any faci I i t7' s 
an)? 'other facility, there [s a univec:.,l harO,-dre 
/his is sinply a I ua¾ 
hard,ar e Oev ices at a I 1 
init i dl 'n ewLork. 
of talkingø in general terms, aDout ,,1 I the 
the interactive O isplo sLal ions in the 
For example,  display is-- t houqht oœ 
role-point hs coordinates (0,0), the range 
axzs.  ooinl may no be specified to an 
[he par{icuiar 3u,mber or Oensitx o ?astor 
s being a squ,re, the 
is - I [o I on ot n 
accuracy, reQordte> of 
points on a uisPty- 
The representalL.on is discussed in the semdnLic explanitationu 
comp-ni.n5 the f orma 1 description of DEL. 
Introduction Lo t.he Network Standard Translator. 
Suppose lhal a ,user at a remote sit e. say Utal, is entered in the 
AHI s¾ste'm and .nts ,to run NLS. 
lhe f irgt step is to enter NLS in the norma[ way. i th-t Lime 
the Utah spstem .ill requesL a symbolic program from NLS. 
REP 1,his jrogram is written in DEl. It is ca.tied .he NL 
Remo't Encode Program (REP). 
The rora m accept s input in he Univers-,.l Her dar e 
Repz'esenLaLion -d LranslaLes iL to a form uable o0 ? NLS. 
It ma? paclk characters in a t)uf fer. also do some 1oca I 
f ed bak. 
When the pro.'e. is 'first received at 'Utah it is compile< and 
loaded to Oe run in conjunction with a standard liOrarz. 
Ail i