Skip to content

RFC 51: Proposal for a Network Interchange Language

  • M. Elie
Unknown
RFC Tips
Page 1: Network lflo.rking Grou.'"P M. Elie
~ . '!'Jes t for Ccnment.s #51 4 Hay .70
L C A-
Proposal for a Net"iOrk InterChange Language
IntreXiuction
. In this paper 04"1 attempt is made to specify a high level programning Lanquaqe
for co:nputer networks , and rrore specifically the l\.RPA network, The main con
cept introduced. is t.he one of an abstrract; Netv;ork iV.L3chine, which is conai.st.ent;
with the idea of a HOST ask.inq a service fran the o::roputer netvork considered
as an overall canputinJ facility. The dial~e is always between a HCST ar.r1
the Nebvork Ma&.ine ~;Jhich language is always the same, though itS configuration
may va:ry accordir.g to the real remote nOST. .
. Fran a prcqranrrdnq langu'3.ge po.int; .of vi.ew, this concept is similar to the mX:OL .
proposed in 1958 [STR05S] but never implemented, oo'J..'E!Ver,· the applicati.on to a
o.::mputer network implies a real time interaction between programs. Also, ::'~e
possibility for the user to use ~'IL either in a standard rnode or in an exten:1ed
mode where he defines himself hi,s own entities shoul.d give to NIT. a maxinum of
flexibility.
1. Basic concepts introduced in NTh
1.1 Aim of NIL
The u..'O main objectives of NIL are:
a) to describe the enviror.ment in which a prcqzam is executed
(its conplemerrc ); this involves the description of:
data formats am data structures
excharqes with input and out~t devices and characcerd.stdcs
-- expected =;:.uu fhen -
- interface ~rlth operating system
b) . to express the front end part of an interactive system:
The data flcM rhrouqh an interactive systxsn g( 'nerally decreases
as the data. zeaches the kern el of the syst.sm: it is assumed
that in ma...'1y interactive systems a separable rroduLe exists or
can be defLned vzhi.ch involves a great errount, of data exchanqed
with the user, and much less exchanqed vath the rest of the
systrm, This modul,e is called Front-End. It is Impor -tant; th~t
the zesponse time of the syst.em is affected as little as poss.ibl. e
by additional trar:.smission delays. Also, it is desirable to
keep the data rates as 10;" as possdbl,e on the n etvork.
It is assumed t.hat fhe trar.sfer of a Front Ern do es r.ot imply to solve the
whole problem of p:o.:;sT<li.11 trC.!'1Sfer &l1i.1 ity •

Page 2: , .
Netwo:~:k Working Group M. Elie
Request for Ccmrents #51 4 May 70
1.2 NIL subcategorization
As pointed out by S. Volansky [ ] it's convenient to divide J.an:ruages
in several sublanguages cozresponddrq to their main functdons , NIL is
thus . subdivided in:
a oontrol sublanguage
an operation sublanguage
a data declaration sublanguage
- an environment sublanguage !
.1
1.2.1 COntrol sublanguage I
The control sublanguage states WHEN a ccmputatzion is done: It describes
the flOtl of control or orderinj of the canputations. ~lith sane infor
mation contained frcrn the other sections of the language, it also states
WHERE the canputations are to be executed.
As a canputer netvork introduces loose connections between several systems,
the control language of the Neb-x:lrk r-1achine should be able ,in an elaborate
version/of assigning canputations to available processors, taking into
account the time delays and resource allocation problems involved. It is
not our purpose to consider this level at the m:ment.
1.2.2 Operation ' sublanguage
The operation sublanguage describes the operations to be perfonned on the
data without indication of the sequencing between operations, it answer's
to the question of Hal] an operation is performed. The operat.ions are sub
divided into u.x:> groups. . .
- a canputation group
- a data manipulation group
The later is the most irnp:>rtant part of NIL since its main purpose is the
transfonration of data structures and patterns.
1.2.3 Data declaration sublanguage
The data declaration sublanguage is necessary to declare the variables
and data structures on which operations are perfonned.
The possibility is given to build structures of atonic e Iementis called
beads. NIL provides a stan:1ard set of beads used in the "standard rncde" ;
in the "ext.ended IIDc1e " a user may defi ne new beads and new structures of
them.
2

Page 3: !
I
I
.' Network Working Group M. Elie
Request for Canrents #51 , 4 May 70 I
1
i
1.2.4 Envirorroent sublanguage
' The environment sub).anguage expresses the context in whi.ch a pregram
expects to operate; ex.pecte:1 characteristics of the peripherals,
semantics of the excharqes with the outside \A.orld through a particular I
~operating system. ,
!
I
Thus a canplete "projrem descriptor" will contain, four distinct sections:
'enviro nn en t section
data declaration section
control section
operation section
The identification section is anitted because it corresponds to the leg
in and socket grabbing port of the initialization procedure.
---- --- --- 1
,
1.3 ' '!he Network Hachine
One fundanenta'l concept in NIL is that of an abstrac ·t Net\'1Ork r-1achine
which ' ha s the follo;.7ing characteristics:
- an infinite memory: there is no problem of memory allccation
or garbage collection in this machine. But as an item must be
accessible, it must still have an address.
- variable word length: a word may be considered as the snallest
intelligible and addressable item of data. The atanic element
called bead is in fact the machine word, The structure and
1eI"X]th of each type of beads are expressed in the data. defini
tion sublanguage. ~
As presented on figure 1.9.1, one HOST r=:-=-l(--3 Network
only carmunicates with a Net\olOrk Mach- ~ Machine
ine which may operate in bX) medea, , figure 1.9.1
starrlard mode where the beads ..f-4:('H:i~a .
their structuresI am the all&',ed -' transforrna tions on them are
standard and need not to be redefined: standard beads and
structures are known of every HOST
- - _ ... -- .. . , ' . --- .,. ", , ' .. . " .. . .. . . . - : .
extended rrode where in addition to or instead of the standard
data defini lions and ' manipulation, a HOST may specify new beads
structures and transformations. The extended rrode. al.Icws ::-1l.e.
user to defi ne his aim ma chi.ne as the Net work Machi.ne , Tlu.S 15
then equivalent to the mcdes HY LCCcIL, YOUR LOCAL proposed
in RFC #42 by Ancona. If the d efinition of a narre has not been
altered the st.andard definition is assumed.
3

Page 4: Network vlorking Group M. Elie
Request for Carments #51 4 May 70
The data definition sublanguage is as wel.L used for the purpose of documenb
ing the set of s'candard beads.
The instruction set of the Net\'.Drk Machine stands at a high level per
mitting global transfonnations of data structures.
The ' envirorment of the Neu-x:>rk Machine is detennined by the subset; of
the environuent of the server I s HOST \'mch is used by the program in
execution; the systen HOST-Netv..-ork Naclllne can take bo-:o main configura
tions shown in figure 1. 3.2. .
• a) The Neuvork Hach.ine · stands for the user of a
pro:;ram provided by t;he HOST (server HOST) '
b) The HOST machine is the user of a proqram
~f-(--/f~=~~ provided by the Neb-lOrk Machine.
~ ~server) The server machine assigns its hardware .environ
ment to the user machine. This choice is made
so tf'l.at prcgrams can be ranotely used without
Network
Machine
(user)
bei.ng- mcx1if ied; it is up to the user of a remote
program to adapt himself and his own environnent.
Thus, when the Network Machine is server, it
defines the Data Definition and Environrrent
sections.figure 1. 3.2
4

Page 5: .' ~
Network ~'Jorking Group M. E1ie
Request for Caments #51 4 May 70
"1.4 Irnplenentation
The data and environment definition sublanguages should be able to
describe as wel.L envirorment and
data in HOSTs as data in Net
,,"ork Machine. At the limit
it should enable .two programs
written in different languages
to a:mnunicate r .
as long as the data
representation they use are
expressible in the data de
scription sublanguage.
In each HOST will be
implenented a "generator"
which will accept rules
describing the HOST data
structures arrl environ
ment and will generate
an adequate translator
to translate than in
Netv.;ork Nachine format,
as sbown in the figure
1.4.1.
once the network machine
stanc1a.rds wi.Ll, be settled
. it seans valuable to think
about anulatin:] the tran
slator using a micropro
gramed unit which would
be either added to the
Host or rather to the nIP"
thus avoiding the load of
a translation whi.ch may
involve lengthy operations
on the bit level - (Figure
1.4.2. )
HOST description Neu\:ork Hac1'ine
• (description
standard mcx1e)non
r Netv.ork Hachin~
starrlard mode I/
I i
I
GENERATOR/ I
I
/
/ I
I
I
I rata is J,. ~ Data in \ TRANSLATOR I-------~
HOST for Neh?Ork Mach±ile
mat format
figure 1.4.1
HOOT
Figure 1. 4. 2
5

Page 6: · Network Working Group M. Elie
Request for Ccmrents #51 4 May 70
2. Data definition sub1anguage
2.1 Fields
All ccmnunications with the Network Hachine are done using
strings of bits: these strings of bits, also referred to as
messages are parsed by the receiving HOST to reconstruct inside
its memory the data structures in its a.m rremory and cede.
Bits are grouped into significant fields: a field is a group
of bits having definite contents • . It may contain:
a) an elarent of data (data field)
b) sate bit pattern specifying' environrrent parameters
c) .a pointer
d) the identification of sane other fields.
'!he method to describe the fonnats of beads is derived from
the method of description of a binary message suggested in
RFC 4/:31:
a) each field is declared with its narre and length in
number of bits.
b) ccmnon1y 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; men only certain fixed values of a field are
allo.'led, they may be either specified by their
value or by the corresponding narre.
2.2 Data beads.
Data fields (type (a» are concatenaded to form data beads:
a bead is an indivisible atomic unit of data .us ed as
building element of any data structure to be transrni tted
between HOSTs and Network Mach.ine , A bead is the smallest
unit of data that can be referenced.
The legal ways of forming a bead by concatenation 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 contiguous
registers. This constraint does not apply here, though it
may turn out to be more efficient to favor HOSTs with, for
L instance, 32 b.i.cwords , and 4 bytes per word, which .a r e the
most carmon ....rord structure on the ARPA n etwork. !..""
Data beads may be consd.dered as the operands of the Lanquaqe
in which fields of type (b) and (c) would be operators.
6

Page 7: -,
Nat\vork V\orking Group
Request for Carrrents #51
M. Elie
4 May 70
2.3 Control fields
'!be way data beads are linked ore to the other and the environ
ment in which they operate are specified by additional control
fields whi.ch cannot be referenced and are operators on or
identifiers of the follo.ving string of beads, or linkage
between individual beads.
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 .he ad of the structure. To be more precise, two kinds
of structures of beads must be defined: hcmogeneous and
.heterogeneous structures •
.A structure is defined as hanogeneous if both a unique type
of bead and a fixed pararreter environrrent for the whole
structure is specified at the head of the structure.
A structure is defined as heterogeneous if at least one of
the follcwing conditions i's true ..
- different types of beads are used for building the
structure .
- the environrnent in which lie tile beads of the structure
is changing within the structure.
Five main control fields need to be defined.
a) MODIFY
b) . FLAG
c) POINI'ER
d) IDENI'IFlCATION
e) PARAMETER
2.3.1 MODIFY field
'!he HODIFY field is a one bit field preceding every bead of
a heterogeneous structure: it is a flag set when follo. ~·ed
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. '!bis field has the value:
1 if the attached data bead type and its envi.romrant; do
not change
o . if t11e attached elernent is a control field or a '
seque nce of control fields of type b, d, or e specify
ing a change in type/or environment of follo.ving data
beads.
7

Page 8: · , Network Working Group M. Elie
Request for Carrrents #:51 4 May 70
2.3.2 FIAG field
\'ben set, the MODIFY field is imnediately follaved by an 8
bit FLAG field indicating which of the IDENTIFICATION and
several possible PARAHEiI'ER fields are present; when set to
one each individual bit means the follcwing:
bit number
o IDENTIFICATION field present
. 1 first pararr.eter field present
2 second parameter field present
- - -+-- - _..
, 6 siXth para:rreter field present
. 7 next - fielq#- is another FLAG field ,
' for sane more pararreters (in case '
\ rrore than 6 parameters may be
I attarned to a bead environrrent) •
\ -- - -- --- - - - - ..
2.3.3 POINTER field
The number and nature of pointers to be att ached 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. 'Ihe necessary
lin1(age between beads are defined in the structure definition
thereafter the necessary pointer fields autanatically added to
each data bead. A bead is referenced within a structure by
an address relative to the head of the 5 tructure. 'Ihus a
16 bit pointer field should be fully sufficient to contain
this address.
2.3.4 IDENTIFICATION field
The IDENTIFICATION field is an 8 bit field which identifies a
bead type arrong the list of defined bead 'type s . Standard bead
types are nuubered from zero up and non-standard bead types are
numbered from 255 dam. The non-standard types mrrnbering is
special to each server program or to a set of server programs.
The IDENTIFIC"\TIO~J fields ,f ol I a .., a HODIFY field of value 1 when
ever the bead type has not been defined alloVer 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 wi, thin this structure.
2.3.5 P~~R field
The' PARN1E.'TER field gives the list of the environment pararreters
in whi.ch th e f cd. Lcwi.nq stri ng of d at a b eads li es. A PARi\HCTER
field is specific of a bead type; it directly follolls the HODIY:{
field when there is no arrbiguity or the type of th e next data beads.
8

Page 9: Network Working Group
.' ReqUest for Connents #51
Example: "the par~er field of the standard bead BEN-NVr
will contain the follcMing fields.
M. Elie
4 May 70
- a 2 bit field indicating the type of moverrent generated
00
01
10
11
do not display
". display final point
display vector
unused
nove the beam
point .
vector
- a 4 bit field indicating beam intensity, by a nun:ber
fran 0 to 15, 0 meaning a null intensity, and 15 the
maximum possible intensity.
- a 1 bit field for blinking
o off
1 an
- a 1 bit field for light pen sensitivity
o off
1 on
2.4 Metalanguage definition
A COBOL - report like rreta language is used in the examples
because of its readibility, as well in the beads as in the
structure definitions.
Symbol
+
Meaning
concatanation
{ }
[ ]
choice
optional choice
repetition
1
- - --- - - - -- _. -- - -- ~ - - - - -- - _... ._ -- -_._ - _._ -- - ---- -_ ._._- --- - -- - - . _ -~ - - - - - ---- _._- -
laver bound on the
number of identical
items; if anitted 1
is assumed to be O.
u upper bound on the
nurrber of identical
iterns; if anitted u
is ass umed to be 00 •
.a number alone rreans: exact;
nU1lber of repeti lion.
9

Page 10: " .. .' " Netw"Ork \'k>rking Group " M. Elie
Request for eomtents *51 4 May 70
..
=
= ::>
(
"
)
o
G
2.5
2.5.1
label for further use within the same rule
assignment
condi tional alternati ve
,
grouping
indicates a special value given to the folloong field narre
plus
minus
Prcposed standard beads
Alphanumeric beads
Character: CHAR
A character is canposed 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 we l l, as sorre subsets of CHAR. The basic char
acter code is declared as s tandard ASCII
standard EBCDIC
or by the name CODE
follo. ...ed by the 128 characters in this code corresponding to
the 128 ASCII charactars , If no code declaration is specified,
the ASCII code is assumed by default.
Nu:nber representation
Normally the kernel of a proqrarn stays in the ' server's HOST
and the user's HOsr should have no ari thrnetic operations to
perform on the data. In this case, the principl es involved
in the arithmetic unit conception of a HOST do not need to
be described. But the format of fixed and floating point
nunbers has to be described.
in the " case when user and server Hosr' s have the same
number representation,for instance the stiandard
representation) the transmission of data in their
nunber representation reduces the data flo..; between
them.
- if the server HOST has a different number representatioi1
than the standard representation, depending on the d ata
transmitted, there are two alternatives:
10

Page 11: » ,
".
Network Working Group M. Elie
Request for Ccmnents #51 4 May 70
+ the nunerical data is exchan:jed as decimal nUI1'lters in the
standard code
+ the fixed and floating po.int; fonnat are defined to the
_Neuvork Machine and the user HOST performs
ei ther a ' direct transco:1.ing fra-n the server binary
representation to decimal representation and vice .
versa.
or a transcoc1ing f ran the server binarY representation
to its own binary representation an::l vice versa.
As most of the numbers exchanged are to be printed in decilnal or
are given as decimal input, it is felt that when there is incanpati
bility between binary represe..T1te"ltions of corresrx::mc1irrg HOSTs,
exchanges in decimal representation would te the easiest.
Thus are defined:
a) .Number in decimal r~presentati.on whi.ch is not a bead but
a string of characters (see 2.3.1)
b) Fixed poirrt numbers single preci.sion FXP1.'illMl
double precision FXPNUH2
Field defi.nition BYTE 8 SIGN 1
SBYTE 7
FXP NThU~SIGN + SBY'I'E + {BYTE}3
FXP NUM2 <-FXP!-'TQM i + .: {BYTE} 4
c) Floating point numbers single precision FLPNUMI
double precision FLPl'-JG'M2
FLP NUHl ~ SIGN + SBYTE + {BYTE}3
FLP. NUM2 ~ FLPNUr'-U + {BYTE} 4
This only ~presses the syntax of t..;e floating po.int; number.
The sanantics should say: in FLPNUI\'l1
SIGN is the sign of the number of fonnat {BY'I'E}3 vlhich is
the mantissa
SBi.'TE is the exponent, ard its value is based by a value
to insure positive exponents. In fact, FXPNu'H1of 401 6
and FLP ~·;(JMl di f f er by their s emant.i.cs ,
11

Page 12: Network vbrkir.g Group M. E1ie
Request for Carments #51 '4 Nay 70
These prop=rties will be expressed by specd.al, field
definition:
EXP .(_ SBYTE (±) I 400 I SBYTE
rW1r <_,. SIGN G1 {BY"TE} 3
and a floating point number is defined as:
FLP "= !v1ANT .pp
12

Page 13: :
Nebvork Harking Group r-1. E1ie
Request for Crnroents #51 4 r-1ay 70
1. Special Characters
Transnission Control Characters
SOH
STX
ETX
Ear
ENQ
ACK
DLE
NAK
SYN
EI'B
ESC
Printer Control Characters
horizontal tabulation HT 1- 'OXl' CHAR
vertical tabulation VT 1- 'OBX' CHAR
new line NL 1- 'OAX' OlAR
end of message ID-1 1- '08X' CHAR
- _.
Te1e otype
Control Characters
Carriage return CR 1- "ODX' oOIAR
shift out SO 1- 'OEX' OIAR
shift in 81 1 'OFX' OlJ-R
BS 1
Device Control Characters
OC1
OC2
OC3
OC4
Tabl e 2.3.1
13

Page 14: .:
Neu..urk \,]orki!'B Group M. Elie
Request for Carrnents if5l 4 May 70
2. Subsets of Characters
Numeric characters 1
2
NUM + aJAR
9
Printable characters
PRCHAR +
Intennediate characters 'J~acters "I'
ITCHAR + \n~l= ) OIAR
Final Ch3.rac ·ters
FIN CHAR + CHAR e ITCHAR
Transnission Control<,
Characters* CHAR
TRACHA..~ +
t~}Derra Control Characters DEL Teletype control character
OCQIAR + CHAR' (OCl I' TYCOIAR {CR ~
S1 r,t~~ ) SO "
BSJ
Alphabetic characters
M:l?H +
Printer Control
Characters
~HAR +
Table 2.3.1: Special ASCII characters and groups of ASCII
characters.
*see USACII standards
14

Page 15: - <, Netwurk ~vorking Group r.1. Elie
Request for Ccrrments #51 4 Hay 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 fran -1/2 to +1/2 on roth axes. The pos.i lion of the
first podrit; of a structure is determined by the deflection fran
the origin whi.ch is the rest po.int; of the beam; fol1m"d.ng points
are detennined by their deflections (AX,AY) fran the last beam
pos.i.tdon • .
Thus, only u.o data fields need to be defined:
DEFLECl'ION which is a 12 bit field: the deflection is
defined by a mmber between - 1 and +1 with
the precision usual to the server.
ANGLE which is a 15 bit field defining an angle fran 0
to 211 in radians between the horizontal axis and
an axis passing through the origin. The first bit
of it indicates if the angle must be taken clock
wise or counterclock.\vise.
The data beads are:
MOVE
Deperrling 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 team intensity is on only
when the team has reached the new point.
- a vector: in this case thebearn intensity is set to a certain
non zero value
MOVE + {DEFIECl'ION}2
Arc of circle: ARC
An arc of circle is defined vJ its center, fo'l.Lowed by its start
ing point and fhe angle of its ending axis.
ARC + {DEFI.ECrrCN} 4+liJ."\"l(;I.E
15

Page 16: .
. ". NeUt.Drk ~Alorking- Group ·M. Elie
Request for Colments #51 4 May 70
2.6 Proposed parameter fields.
2.6.1 Character str.i.nqs.
In character strings sane of the control characters are really
parameter fields: they act as an operator on the folloftTing
strin:; of characters. Le. :
10\'1er shift
upper shift
new line
escape
But as the code and use of these characters are detiemtined in
the standard codes, they are not included in parameter definition.
I ,t may be taken advantage that these characters are in the Ut70
left columns of ti'e ASCII or EBCDIC standard code: they cor.respond
to codes with the first three bits Jll..lll in EBCDIC ard the ' first
two bits null in ASCII.
2.6. 2 Graphics parameters
The follOt.-,.i.nq parameter fields are defined:
scale SCALE 4
beam intesity I~"T 4
light pen sensivity SENS + SV·iTrCH
blinkim BLINK + S"I"1I'ICH
beam B.E1J'1 + SWITCH
~~rDCH is . a 1 bit field Which may take the values:
00<-'1' S\"1I'ICH
OFF <.- '0' S"I'1I'I'CH
A switch parameter stays ON, as long- as it is not reset to
OFF.
The beam intensity is expressed. by a number' fran 0 to 1. 0 is
black and 1 as light as the display can go. .Numbers in between
specify the relative log of the intensity difference. BEAM
permits to swi.tch the BEAM on or off without chancJing the
Current INT parameter.
2.7 StructLrres
2.7.1 Structure definition.
The struc tur e de f in i ·t i on con sit s main l y i n t.he speci f i ca t i on of
thetor.olcgical relation..s between data beads:
sequential relations; DO r:ointer field nec essary
link.s through a mmber of p:>inters.
16

Page 17: '" . Netv..urk v.larking' Group M. Elie
Request for 'Cannents #51 4 May 70
2.7.2 Standard structure type.
'l\-x) basic standard structure types are chosen
VECIOR to represent 's eque nc e of data beads (strings, arrays,
tables ••• ) ' '
PLEX to represent any kind of directed graph, tree, ring .•. )
VECTOR (CiN, ••• N +- VECroRIIDR + VEX:TOP.BODY
C)
VECrORBODY+(=C+l:{defi.r!ed bead}Ni + [VEC'IOPBODY]
VECTOPJIDR +'VECTOR' IDEN"TIFICATION + C + N + N2 + ••• -tN
l cC is the number of parts (co.limns) in the vector, each part hav
:in:J ~:TC elsuents.
It is also probably interesting to define a canpressed vector
CCMPVECTOR in whi.ch sequence of the identical elErnents ~are trans
rni tted as 1 elanent + .a special bead + the number of identical
eleuents in sequence. '
PLEX (H)
The first bit of a podrrter field indicates if the p::>inter po.irrcs
to a tenninal el.ement; or not. If it is the case, forward
p?inter fields are not added to the data element.
M is the nunber of data elsuents in the ' structure.
2.8 Objects
2.8.1 object 'definition.
An object is defined by a semantic rule including, on the right
hand side r a name to identify the object
'La set of parameters of the object definition.
(operands: name of tie beads used as data e'lemenbs
on the left: : , --
hand side loperators: parameter fields
structure of the data beads .
Le. The definition of a new object called SQUARE is: SQUARE ';,-
(A,L~Ae) RYI'lh(ANGLE:Z,) (VECrOR (l, 4) (OCl\!'1' OFF' +
MOVE (A) + B.EJ..I-I 'ON' + f.'lOVE (O,L) + r..:OVE (1.,0) +
HOVE (0 ,~L) + NOVE (e.L, 0) )
v.]here Rar refers to a transformation def i.ned in the data rnani.oul,«
ation Lanjuaqe , aril. VECTOR is def i.n ed as a atardard structure:
17

Page 18: ·"
Neu.~"'Ork \'Iorking Group M. Elie
Request for Ccmnents #51 4 May 70
The identifier of the le\" structure is SQUAnE
.The structure type used is VECTOR wi.th dimension 1 and 4 el.enents
The elerrents of the VECTOR are standard beads HOVE . '
The parameters are A, L , ard A G
Parameter fields BEAH ,IOFF ' and EEAH ION' are used ,
2.8.2 Alphanumeric standard objects.
Ccrnpressed character string (CQ."1STRmG) , "t\.
~NlJi'll ) .
V!'+}.,"'tJM I EOF)
:C+CHAJJR
a::JMSTRING ~ VECIOR (1) ( [PRCHAR] n +
EOP
A canpressed string of characters is any mmber of times a
strin:3' of any number of printable characters fo'l.Lcwed by one of
the follcMing characters .
horizontal tabulation fo l.Iowed by the mmber of correspond- .
in:; blan.1.::.s to be added
- vertical tabulation fo Llrwed by the nurnber of lines to
be ski.pped,
- escape fo'l Lowed by any character
- new line
- end of page
The canpr-essed string is ended by an EOF character.
Co1e table (CODE)
CODE.(-VECroR (1; 128) [~28
CODE is the name of the translation table assumErl for a given
program. When definErl by the user I he must give fran
column 1 to column 8 the 8 bit pattern equdvaLent; to the
correspor.ding ]lEerr cede.
18

Page 19: . . ~
. .
Netv.:ork ~·;orkilXJ Group
Request for Ccmnents #51
H. Elie
4 .I-1a y 70
"
Binary card image
B CARD (-VEX:TOR (1; 120) {CHAR}120
packed dec.irrB.l number ffiU ·1 4 bits field
X
X HNUH PN1JI·1 f- HNUH
x
.::~~'X
X
X
1£.n.:31
. PDNUH f-- ~NL"r-t} + DSIGN
_ . Decimal mmber (unpacked or zoned
_ lL..n<31
DNU1 f-- {i-roi.1] + D SIGN+ PNUM
- I
19
RFC 51: Proposal for a Network Interchange Language
Unknown