Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
RD-A146 337 AN INPUT TRANSLATOR FOR A COMPUTER-AIDED DESIGN SYSTEM V/2(U) NAVAL POSTGRADUATE SCHOOL MONTEREY CA T H CARSON
UNCLASSIFIED F/G 9/2 N
EE|hE|hEEE|IEhIhhEEEIhhIIIIIIIIIIIIIIIIlIIIIIEIIIIIIIIIIIIIIIIIIIIIlfflfflIIIIEEIIIIIII
.1
I"-
L I, i2.j.
I11I 5II 1.4 1.6-L
MICROCOPY RESOLUTION TEST CHARTOWIoh SfM OF STANDWflC-1%3-A
"--.,V
..,n J-- -.. .*I-.'-'I *- .g, 'E :. I. I. ' .-- '- ' . . ' ". I I' l i i I I U-- -."-
NAVAL POSTGRADUATE SCHOOLMonterey, California
DTICD
THESISAN INPUT TRANSLATOR FOR A
COMPUTER-AIDED DESIGN SYSTEM
by 0
Thomas H. Carson
June 1984
LI.Thesis Advisor: Alan A. Ros
t g.~Approved for public release; distribution unlimited
84. 09 28 046
saCUmrv C16ASPICATION OF THISs PAGE ruho Da te oeoREPOT DCUMNTATON AGEREAD ISTRUCTIONS
REPO OMMNTATOM PGEDEFORE COMPLETING FORMI. REPOT HUNIKIR qSVT ACCESSION NO. 3. RECIPIENT'S CATALOG NUMUIER
4. TITLE (a"N IS"Utle S. TYPE OF REPORT II PERIOD COVERED
Master's ThesisAn Input Translator for a Computer- June, 1984Aided Design System 69. PERFORMING ORG. REPORT NUMBER
7.4 THO 11. CONTRACT OR GRANT NUMBEWa
Thomas H. Carson
9. P611FORMING OMAMIZATIOW MNSM AND ADDRESS 10. PROGRAM ELEMENT. PROJECT. TASKARECA A WRK UNIT NUMBIERS
Naval Postgraduate SchoolMonterey, California 93943
11. CONTROLLINO OFFICE NAME AND ADDRESS 12. REPORT DATE
Naval Postgraduate School June, 1984Monterey, California 95943 120M9 o AE
14. MONITORING AGENCY 0NME G ADDRESIl dWbmi 11PO Cafieiteud Office) 15. SECURITY CLASS. (of this ropot)
UNCLASSIFIEDISs. DIECL ASSI FICATIONi DOWN GRADING ---
SCNEDULIE
14. O*STRISJTION STATEMENT (of INS flapHet
Approved for public release; distribution unlimited
17. OISTI§$?1ON STATEMENT (of OWm @"&"Iu amusrd IS WOOe it If dfl0mi ftine Rape"f)
If. SUPPLEMEN14TARY MOVES
I.KEy woRD" (Comsu on newee 0# accesor me InNd*.tly by block mfinber)
Computer-Aided Design, Input Translator, CSDL (Computer SystemDesign Language), CSDE (Computer System Design Environment)
21L ABSTRACT (CamI I OR FvwIN @#dosI e it MMO 41 td&Wt& bY bek.lv
* The purpose of this thesis is to ce2sign and implement the inputtranslator for the Computer System Design Environment, which isa computer-aided design system. The Computer System DesignEnvironment is used to design real time controllers for avariety of purposes. The input translator will take an input,which has been developed in the prescribed language, CSDL, andwith the aid of a partial syntax-directed editor, (Continued)
CC ?~m 103 gDon 00I 1D Nov "I OUBOLETES/W 0102. LP. 014- 460? 1 SECURIITY CLASSIFICATION or TNIS PAGE (wm a Seaeoro
29CUmtv CLASS FICATION OF TROIS PAGI fVm Do* DUW
ABSTRACT (Continued)
translate it into primitive list form. This form is used by theremainder of the system to select the best hardware and softwarecomponents, as described in a set of realization libraries, tobuild the proposed controller.
Accession For
NTIS GRA&I
DTIC TAB - , -
Unannlounced CPJustificatio -Ec_.-
By _ i .- -
Distribution/
Availability Codes
JAvail and/or
Dist Special
I--
SM 0 102- LF, 0 14 6601
2 sgCUNITY CLAWFsICATION OPP T1418 AOESMa Do- E;Z-0
Approved for public release; distribution unlimited.
In Input Translator for a Computer-Aided Design System 1..
by
Thomas H. CarsonLieutenant Commander cfn ted States NavyB.S., UnitedStates fiavai Academy, 1971
Subaitted in partial fulfi laent of therequirements for the degree of
MASTER OF SCIENCE IN COMPUTER SCIENCE
from the
NAVAL POSZGRADATE SCHOOLJune 19814
Author: C-
Approved by:_Thesis Advisor
Second Reader
Chairman, Department of Computer Science
Dean of Informa an Policy Sciences
3
- .-.- - . - -~ .. - . - -.
A BSTBACT
'79The purpose of this thesis is to design and implementthe input translator for the Coaputer System Design
Environment,. which is a computer-aided design system. The S
Computer System Design En4ironment is used to design real
time controllers for a vgriety of purposes. The input
translator will take an in ut, whizh has been developed inthe prescribed language, and vith the aid of a partial
syntax-directed editor, translate it into primitive list
form. This form is used by the remainder of the system to
select the best hardware and software components, asdescribed in a -set of realization libraries, to build the
proposed ccntroller.
'4
IL
- _ _ _ _-_.__ _ _ _
TABLE OF CONTBNZS
I. INTROD3CTIDN AND BAkCKGROUND . . . . . . . . . .. 8
A. COMPUTER-AIDED DESIGN ............ 8
B. CONPUTER SYSTEM DESIGN ENVIRONMENT . . . . . . 9
C.. PREVIOGS WORK . . . . . . . . . . . . . . . . 10D. SCOPE OF THIS THESIS . . . . . . . . . . . . . 12
II. TRANSLATOR DESIGN 13.. .....
A. DESIGN REQUIREMENTS AND CONSTRAINTS ..... 13
B. CSDL- THE INPUT LANGUAGE .......... 14C. PARSER ALTERNATIVES . . . . . . . . . . . . . 17D. PARSER STRUCTURE . . . . ........... 19
III. TRANSLATOR IMPLEMENTATION ............ 21
A. LANGUAGE OF IMPLEMENTATION . . . . . . . . . . 21
B. TRANSLATOR INPUT ........... .. 22 lot-
C. PRINCIPAL PROCEDURES AND DATA STRUCTURES . . . 23
D. TRANSLATOR OUTPUT .............. 26
1. Primitive List . . . . . . . . . . . ... 262. Symbol Table . ............. .27
3. Scratch Pad . . . . . . . . . . . . . . . 28
IV. TESTIN3 AND VALIDATION . . . . . . . . . . . . . . 30
A. THEORY OF TESTING . . . . . . . . . . . . . . 30B. TEST RESULTS ................. 31
V. CCNCLUSIONS AND RECOMMENDATION5 . . . . . . . . . 38
A. PROGRAM MAINTENANCE . . . . . . . . . . . . . 38B. REOHED DAONS FOR CS .. C........ ..39
C. SU BAR- . . . . . . . . . . . . . . . . . . . 40.
5
APPENDIX A: TRANSLATOR INPUT EXAMPLE . 41
APPENDXB: FORMAL SYNTAX OF CSDL . . .. . . . . . 6..44
APPENDIX C: PRIITILITEL.S. . .. .. . .. .. .. .55
APPENDIX D: TRANSLATOR SOURCE LISTING . . . . . . . . . 59
APPENDIX E: SCRATCH PAD EXAMPLE .. . . . . . . . 110
APPENDIX F: SYMBOL TABLE . . . . . . . . . . . . . . . 116
LIST OF REFERENCES . . . . . . . . . . .. . . . . . . 118
INITIALSTIUTO ISIT O.. L.. S. . . . . . . . . 120
LIST OF FIGURES ,
1.1 Computer System Design Environment . . . . . . . 11
2.1 A Partial Example of CSDL ........... 14
2.2 An Example of CSDL Syntax . . . . . . . . . . . 15
2.3 Parser Structure . . . . . . . . . . . . . . . . 19
3.1 A Sample of the Primitive List. . ....... 26 . ...
4.1 IDENTIFIATIOI Section of the Input . . . . . . 32
4.2 DESI3N CRITERIA Section of the Input . . . . . . 324.3 Primitive List Form of the DESIGN CRITERIA . . . 334.4 ENVIRONNENT Section of the Input . . . . . . . . 33
4.5 Primitive List Form of the input . . . . . . . . 3.4
4.6 PROCEDURES Section Input Example . . . . . . . . 35
4.7 Primitive List Form of the PROCEDURES
Section . o e . .. 364.8 CONTINGENCY LIST Input Example ......... 36
4.9 Primitive List Forn of the CONTINGENCY LIST . . 37
7
1. INT1ODO lUU MR -GN
A. CONPUTBR-AZDBD DESIGN
Computers, as design t3ols, are beginning to touch everyfacet of our lives. We can tarn on our television sets tosee an advertisement for an automobile with a computer beingused to aerodynamically design the body style of the car.Architects are using computers to assist in modern drafting .and architectaral design techniques (Ref. 1]. The potentialfor automating the design of many other products exists and
research in all areas of computer-aided design (CAD) iscontinuing at a prolific ra te.
While research in the areas of artificial intelligencemay lead us someday to a computer which can, using naturallanguage understanding, solve problems reserved for onlyhumans today, current technology limits us to those problems .
where the computer relies an human expert input for a knowl-edge base. A knowledge base developed by human experts isused by the zomputer to derive a design such faster than ahuman and reduce the concern over the complexity of the
process. The computer can maintain a large data base of
components from which it can pick to satisfy a criteria asdescribed by the designer. While not really creative, thissystem allows the mixing and matching, automatically, ofcomponents to produce the best combination available. Theadvantages to be gained are a decrease in the time it takesto complete the design process and error free results,while leaving the human designer to concentrate on thedesired specification.
8
•Fi
One of the most important features of such a system is
its accessibility. The user interface must be one that
meets the needs of the designer while remaining within thebounds of current technology. The interface must be user-friendly to the greatest possible extent. It is thisparticular portion cf the problem which has given rise to
the most debate and brought forth the widest range of
possible solutions.
B. COMPUTER SYSTEM DESIGN NVIROMEIT
The Computer System Design EnvLronment (CSDE), under .
development at the Naval Postgraduate School in MontereyCalifornia, is one such computer-aided design system. It isbased on the research contained in LtCol. klan Ross'sdoctoral dissertation (Ref. 2]. Ross's work is an expansion
and realization of the research conducted by f. V. Hatelan[eef. 33. The first CSDE implementation is one in whichreal-time controllers (nicroprocessers) are designed basedon a realization library (knowledge base) of current micro- S-processer technology. The system creates the problem state-sent in a syntax-directed editor, translates it into anintermediate form, selects a microprocessor realization fro&the library and generates the software and hardware compo-neat descriptions to implement the design. The componentsare used to select a processor volume or implementation. .::The volume checked to see if the timing constraints, setforth by the designer, can be achieved. If so, the monitoris generated and the output is formatted. The monitorproduces the software and ancillary hardware to realize thecorrect strategy. If the timing constraints cannot be met,a new volume must be chosen and tested. The CSDE gives a
designer the tools to derive the appropriate components thatske up the -ontroller, no matter what its task is to be.
9
A :
J IIU I I I U P I,
Motivation aad discussion of the CSDE are contained in
(lefs. 2 r 3].
C. PRVIOUS WORK
The moduLes that make up the Computer System Design
Environment are depicted in figure 1.1. Matelan described a
Control System Design Language (CSDL) as the input language
for this system [Ref. 3]. Using CSDL with a syntax-directed
editor keeps the input details at a high-level of abstrac-
tion while completely describing the proposed design.
To fulfill the input requirements of block 1 in figure
1.1, a syntax-directed editor was designed and partially
implemented as a result of Lt. Barbara Sherlock's thesis at
the Naval Postgraduate School in 1983 [Ref. 4]. Lt. --
Sherlock's editor receives a high level input description of
the problem from the designer, formats it and passes it to
the input translator. This form is a combination of
atelints CSDL and ADA, the Department of Defense sponsored
design language. This language, as the basis for input to
and output from the editor, follows the concept that the
problem statament should not reqaire the designer to be
proficient in the details of a high level programminglanguage. The translator, as its name suggests, translatesthe output from the editor into an Lntermediate form accep-table to the follow on CSDE processes. Its design andimplementation are the subjects of this thesis. The opti-
mizer and functional mapper(Blocks 3 and 4, Figure 1.1)exist as Fortran programs in the CSDE. The optimizer
requires an 80 column format for its input which is a priai-
tive list or the set of functions taat the controller willperform, in an almost assembly-like language format. It isdeveloped from the contingency and procedures sections of
the design input statement. Hardware availability
10
• - - .. . . - . - .. -t.1
I.o
State ProblemDefine Algori thm
2. 4.
Translate to the Primitive Generate a functional RealizatiorFret.:°.
Saltan~lt Reaiisatnio'lto~t " "
ITraslator I Fuctional 4ao.r
Functionally Caoahi. Realiza-
S. ti on?
Select a Reai zation value..
SYE
AnllyTe ?lukng and 3ev*LO.0ilontfor Code.
Volue toTfva i nai ecr
NO
feasible monitor'
stop -Process Complete - ReprtSuc cs or failu.,.
Figure 1.1 Computer SGsten Design Environnent.
O,,tim-..r1F 1 :e'er
Iced On
eai.zt.onor Seera.
prescribed this format when the CSDE was originally imple-nented by LtCol. Ross. Work is currently in progress toinstall both the design input and the realization library in
a relational latabase, thereby updating the optimizing andmapping processes [Ref. 5], But the basis of the input to
these sections of the system, which is the primitive list,
will remain the same.
D. SCOPE OP THIS THESIS
The purpose of this thesis is to design and implement
the input translator for the Computer System DesignEnvironment. The translator must take the problem state-
sent, a design for a real time microprocessor controller,and translate it into a list of primitives and a symbol
table which can then be ap.ped across a realization libraryto determine the most feasible components. Appendix A is an
example of a problem statement in the Computer System Design
Language developed by Hatelan. In addition, the translatormust produce a timing table which can be used by the timing
analyser to letermine a feasible monitor to control the
complete device [Ref. 2]. The timing table is developed
using the contingency section of the problem statement which
contains the timing requirements for the problem.
The next chapter of this thesis describes the designconsiderations for the translator and provides the detailed
discussion of its requirements. The following chaptersdiscuss the implementation and testing of the translator andthe conclusions reached during the work. In addition,Appendice D includes the code for the translator with appro-priate documentation.
12
11. ZUPULLQIT- flMI
A. DESIGN UEQUIBEN!S AND CONSTRAINTS
as previously discussed# the input translator can bethought of as one-of several modules in the CSDE system. Inthe CSDE hierarchy, it lies between the designer and the
optimizer. If vs consider, for a moment, the module as a
black box, then we can better describe its function. Theinput to the module is a specification, written by thedesigner, for a real time controller. While Lt. Sherlock,in her design of the input editor [Ref. 4 decided to
produce a pseudo-ADA specification language as the output ofthe editor, the translator being designed by this author
will use the Control System Design Language. If the ADAouput was to be adapted, this language would have to be
formalized and a grammar produced that is capable of beingparsed. In addition, the pseudo-OdA provides no real advan-tage, as the specification must be parsed and the sameoutput produced no matter what the language. Therefore,
with the additional knowledge that the editor is the subject
of a current thesis project which will return to the CSDLoutput, the decision was made to write the translator for
that CSDL. A partial example of the CSDL description is
contained in figure 2.1.The output fr om the translator consists of a primitive
list, a symol table, and an application timing table. Theprimitive list is intermediate code which reflects therequirements of the input while the symbol table contains
all input variables and their attributes. The application
timing table contains the contingencies with their relatedtasks and all supplied timing values from the problem defi-
nition. This table is used during the timing analysis.
13
tass ad al sppled imig vlue frm te poblm dll--,
CONTINZENCY LIST
WHEN ALARM : 2ES 500S DO ALERT;EVERY 41S : DO EiCODEWHEN DATAREADY : 1306S DO SERIALIZE;
PROC EDUJRES
-FUNCTION DATA READY:BINARY.1 -SENSE - F R.".pIF BUFLER/= OLDBUF THEN DAiAREADY : 1 END IF;EXIT DATI J Ri;DY; -"
Figure 2. 1 A Partial Example of CSDL.
The requirements, then, exist for the input language,
CSDL# to be analyzed to determine what method of translationis to be employed. In addition, the required output must be
standardized among the system modules so the proper seman-
tics can be developed for the translation process. Each of
these issues will be discussed in detail in the following
sections.
B. CSDL- THE INPUT LANGUAGE
A translator accepts a source program, written in a
source language, and transforms it into an object program
(Hef. 6]. A source language designed for use in a computer
aided design system and utilized in CSDE is the Control
System Design Language (CSDL), the origin of which was
previously discussed. It is composed of an alphabet whose
individual elements are called tokens and a grammar which
expresses the rules governing the legal classes of token
strings. The tokens can be futher subdivided into terminals
1_4. -.
. . .
and nonterminals. Terminals are the letters of the allowed
alphabet while the nonterainals are representations of
strings in the language which increase the expressive power.A partial example of the production rules for CSDL is
contained in figure 2.2. The syntax for CSDL, which
includes the alphabet and grammar, is contained in Appendix
B. '
::= WHEN (EPISODE TIRING> DO
::= / THEN
:: *ID* 4X*ID* I ) /*1 D* NUMBER.' *NUMBER*2
Pigare 2.2 An Example of CSDL Syntax.
Different types of translating devices accept different
languages classifications. To narrow the choice of trans-
lator designs, it must be determined which classification
fits CSDL. Neither Hatelan nor Ross, in their early work on
CSDE, includel this description ERefm. 2 , 3]. So, a brief
review of language classification will assist in this deter-
ination. Chomsky distinguished four general classes ofgrammars ERef. - 73. Without turning this section into a texton language theory, these are, from the most general to the
most specific: unrestricted, context-sensitive, context-free, and right-linear. Context-sensitive and context-free
are subsets of the unrestricted class, while the right-
linear and two other grammars related to the right-linear
15 l'n1
grammars, left-linear and regular, are all subsets of thecontext-free grammars. rhese classes allow us to definesentence recognizing machines which form the basis fortranslators. CSDL falls into the category of context-freegrammars. This is the set which, in its production rules,has any string of terminals and nonterninals on the right-hand side of the production while the left-hand side is, Prestricted to nontersinals only. The classes of right-linear, left-linear, and regular grammars restrict the orderand appearances of terminals and non terminals on each sideof the production rules and CSDL loss not fall into one of .these categories. Context-sensitive grammars allow terminalsas well as one nonterminal on the left-hand side of theproduction rules and,while CSDL does fit this category, thecontext-sensitive are a super-set of the context-free gram- ..mars, so this is not an issue when we try to develop themachines which can recognize CSDL.
Each of the phrase-structured grammar classes has anautomaton associated with it. The right-linear grammars can .be recognized and accepted by a finite-state automaton whichconsists of a finite set of states and a set of transitions
between pairs of states. Each transition is associated with
some terminal symbol. The context-sensitve grammars arerecognized and accepted by a two-way, linear bounded auto-maton which is essentially a Turing machine whose tapecannot grow longer than the input string. And, finally, Scontext-free grammars are recognized and accepted by afinite-state automaton controlling a push-down stack, withrules governing the operations on the stack [Ref. 6].
Matelan states that CSDL was created as a context-freegrammar and inspection of the syntax contained in Appendix Bconfirms this (Ref. 3]. In order to recognize strings inthe language and translate them into the presribedprimitive-list format a finite-state automaton with a push- 'down stack will be developed.
16
I-•.-
C. PARSER ALTRNATI VS
It was shown above that CSDL is a context-free grammar
and a push-down automata will be required as the recognizerfor strings ia the language. Additional properties of CSDL
must be investigated to further lefine the problem of
parsing. In a context-free grammar each nonterminal can be
expanded into some terminal string independently of its
neighbors, and its expanded string essentially "pushesaside" its neighbors without interfering with their order in
any way [Ref. 6]. But we do impose some ordering rule for
the selection of the next nonterminal to replace, in a
sentential form for a canonical derivation. The most common
rules are left-sot and right-most. In a left-most deriva-
tion, the left-nost nonterainal in each sentential form is W
selected for the next replacement and in a right-most, the
right-most nonterminal is selected. Most common programming
languages are easily parsed from left to right, but with
difficulty from right to left. Futheraore, algebraic opera- .
tions are usually performed from left to right, by conven-
tion, so it is the order that will be considered. A
top-down parse of some sentence, scanning from lest-to-right
through the string, corresponds to a left-most derivation
while a botto-up parse works from a given sentence upward
toward the start symbol, in a left-to-right manner.
[Ref. 6].There are some rules governing the use of these two
types of parsers which affect the choice of one for use in
recognizing CSDL. Top-down recognition with a look-ahead ofk symbols is only possible on a subset of the context-freegrammars called LL(k) grammars. Although it is not obviouswhether a grammar is LL (k), there is one property which isrelevant in this discussion. An LL(K) grammar has no leftrecursive nonterainals,i.e., a nonterminal A, such that A =>
17
.. t o . .
.w for some w, a string in the language [Ref. 6]. It can be
quickly determined by examining Production 17 in Appendix B
that CSDL is left-recursive. In fact, it is full of recur-
sion. There are algorithms for removing left-recursion ingrammars and for a small grammar that would be the choice.
But CSDL has 190 production rules and' removing the extensive
recursion would increase the grammar size an unacceptable
amount. So top-down parsing will be discarded as a possible
parsing met hod.
A bottom-up LR(k) parser is the other major type ofrecognizer unler consideration. A grammar is said to be
1-R(k) if, for every derivation, the production A => x can beinferred by szanning ux and at most the first k symbols of v
in the following derivation step: ukv -=> uxv *The majoradvantage of this method is that an Li (k) parser can be
constructed for any context-free grammar. This would elimi-
nate the necessity to remove the left-recursion from CSDL.
There is one other major advantage in choosing abottom-up LR(1) parser automaton. An automatic parsergenerator can construct, using a computer, the language
specific tables that control the operation of the automaton.
The LR package from Lawrence Livermore Laboratory (Refs. 8 ,
9] is such a system which constructs the tables. Having itavailable on the Vax 11/780 at the Naval Postgraduate School
made the decision easy. It,also, has the advantages that
the parsing routine is guaranteed to be correct, the CSDLgrammar can be changed easily when necessary, and the
resulting translator becomes simple and efficient. For the
details as to how the package works see References 7 and 8.
18
D. PARSER STRUCTURE
The structure of the parser will follow the technique
described by 3.J. Byers in his book, jQ" sje St.ucllied
DeflaL (Ref. 10], and utilized in the design and implementa-
tion of an ADA pseudo-machine by Captain Alan Sarlington in
his thesis [Ref. 11]. The hierarchy for such a technique is
PR
IN OUT
1 Current state and token Production 2 Production #, Stkptr New state #, Stkptr3 Current state and token New state Ne#tt ,Skt~kntprdsrpin~rn tt
2 Production #, Stkptr ......6 Stack(stkptr) state, New state #
Left-hand side (production #)7 ---------- Token description
Figure 2.3 Parser Structure.
depicted in figure 2.3. The top module, PARSE, provides
FINDREDUCTION with the current state and current look-ahead
symbol. FINDREDUCTION returns a production number if any
1
19
I
reduction exists. PARSE then calls DOREDUCTION and the
sequence is repeated. If no reduction exists, PARSE calls
JINDTRANSITION to see if any transitions exist. DO!EANSITION
accomplishes the transition and the routine repeats until a
final state is reached. If no transition exists, an error
is detected and the routine either attempts to recover or
halts depending on the severity of the error.
The parser maintains two stacks, one to store the next
token and one to store the current state. When DOREDUCTION
provides SEMANTIC with the production number, the componentsof the production have been placed on the stack and SEMANTIC
can take the the proper action. This action could includeadding a symbol to the symbol table with its appropriate
parameters, calling an error routine,or nothing. Aftercompleting the semantic actions the items on the stack are
removed by DOREDUCTION and the proper token replaces them.
Various auxiliary procedures and error routines will benecessary to complete the translator. These procedures will
include the input and output routines required to read thedesigners input and place the created primitives and symbol
table in proper format.The translator, thus, will take a CSDL description of
the desired controller, check for errors, parse the input,
and produce the primitive list , the symbol table, andapplication timing table. The implementation of the trans-
lator is discussed in the following chapter.
20
IL-: .'
I II'. ZANLAM2 LIkIBlZAZTI
A. LANGUAGE OF INPLEIUNTATION
The Computer System Design EnvLronment was originally
implemented ia Fortran, with the system maintaining its data
base on formatted punch cards for use in a batch environ-
ment. Feasible alternatives exist and have been investi-
gated in subsequent research. CSDE is now installed in the
Vax 11/780 at the Naval Postgraduate School, with interac-tive computing available in a variety of programming
languages. - lowever, it is still maintained, mainly, inFortran. It has been shown to be conceptually feasible to
represent the data base requirements of the CSDE by a rela-
tional model [Ref. 5]. Future intentions are to realize
this concept on a data base management system such asOracle, which is available on the Vax machine. The impor-
tance of this is that format, such as column numbers and
location of lata, and interface compatibility lose their
importance and the relations between the data and the repre-
sentations of the relations become major concerns.
An additional property required for the implementation
language is maintainability. CSDL will not be static, aspreviously discussed. As hardware technology changes, therealization library will have to be updated and, accord-
ingly, CSDL will have to modified. This will result in anupdate to the translator, reflecting, possibly, such changes
as new primitives. A high level familiar programminglanguage will ease the burden of maintenance for future
users.
21
Pascal is a high level programming language whichsupports the above reguirements and, therefore, was chosen
over the possible alternatives. Pascal is familiar to mostprogrammers aad,in fact, is the "first language" taught to
new Computer Science students at the Naval Postgraduate
School. In addition, it is easily understood by programmers
conversant with other block-structured languages.
The modularity available with Pascal's procedures, func-tions, and high level constructs will provide maintain-
ability. Eazh major function in the parser will comprise aPascal procedure, making the main body of the program
simple. Also, a section to be modified or updated is self-
contained, and can be seperately compiled and debujged
following changes.L Perhaps the most important reason for selecting Pascal
is the expected improvements in the CSDE system data base.
When the libraries are placed in a relational database, and
the designer's input must be mapped to a library in such asystem, the data structures comprising the translator's
outputs will require change. Pascal data structures arepowerful and adaptable to a relational model, enabling this
major modification to be completed without difficulty.Until such time as this occurs, the output will be of the ..form dictated by current system implamentation. The details
of this will follow.
B. TRAISLATOR INPUT
The input to the translator is the designer's require-
ments for a controller, written in the Control System Design
Language, an example of which is contained in Appendix A.it this writing, a partial syntax-lirected editor is underdevelopment which will create, based on the designer's
ideas, the input in syntactically correct form. No
22
- - - - - - - --
conceptual basis for the storage or file format of the input
has been previously discussed, so several assumptions were
made to enable production of the translator. Since theprogram is to be written in Pascal aad reside as a member of
the larger system, the CSDE, a simple file containing theCSDL problem lescription, which is read by the translator,will be utilized as the method of input. The file will be a
text file with the only formatting restrictions being thoseimposed by the syntax of CSDL, the language being parsed.While this method of input will, currently, require some
hands on system manipulation during run time, it is envi- 0.sioned that a system macro can easily be developed at alater date to automate the process.
It is intended that the input be provided to the trans-lator in syntactically correct form. However, as mentionedabove, the means for this is not yet implemented. Asexample problem statements and test cases have been gener-
ated to exercise the translator, a requirement has developedfor syntax error detection. This requirement can be elimi- I,nated and the ensuing code removed upon completion of theeditor.
C. PRINCIPAL PROCEDURES ID DATA STROCTURES
The parser was summarized at a high level of abstraction
in Chapter 2 of this thesis. This section will point out
the important procedures and data structures employed by the
translator. The supporting functions which complete thetranslator are described as they appear in the program in
Appendix D.The tables produced by the automatic parser generator,
which control the operation of the parser, are placed in
arrays. The array sizes were set in program constants andwould be modified if a change to CSDL caused a modification
23
to the tables. In addition, the-syabol table, the state and
lookahead stazks, and the temporary and constant lists are
all implemented as arrays of records. Each record contains
such information as the type and precision of the variable
or constant and a pcinter to the next record in the list.
With the continuous manipulation of these data structures,
such as pops and pushes on the stacks as well as the
requirement for access to each member of each list, it was
determined that this implementation allowed the maximum
degree of flexibility. Also, the size of each data structure
was described by a prograa constant, in order to improve
maintenance. A limit might change in a situation where acontroller design required a large number of input and
output signals or internal variables, exceeding the maximum
allowed for a stack.
Four sections conceptually comprise the translator
program. The first is the initialization sequence,
coprised of the procedure INITIALIZE and supporting func-
tions. This section sets the initial values for all program
variables and initializes the temporary and constant lists
as well as the input symbol table to null values. It also
establishes the SYNTABLE, which is a list containing all
reserved words in CSDL, each located by a pointer. This
table is used in the program to check each input token to
determine whether it is a reserved word, identifier, or
operator. Additionally, INITIALIZE includes the procedures
for sending the generated primitive list, symbol table, and
scratch pad to output files.
The next section is the actual parsing routine,
comprised of the procedures PARSE, FINDREDUCTION,
DOREDUCTIONs FINDTRANSITI ON, DOTRANSITION, and theirsupporting procedures and functions. This sequence of code,
essentially, repeats itself, looking at each input token,
retrieved by GETSYH, and attempts to move through the
24
S_ _ _ _ __ _ _ _ _ __ _ -.
required production until a final state is reached. The
tokens are placed on the stack and if a reduction can be
performed, control moves to the semantic portion of the
program. If one cannot be done, the sequence finds the
transition and continues movement through the production
rule, getting the next input symbol, with the stack
unchanged. If no transitions exist, an error is present in
the input.
When a reduction number, which corresponds to a produc-
tion number in the CSDL grammar, is found, the program
sequences to the third main section which contains thesemantic operations for the program. It includes the proce-
dures SEMANTIC and SEMANTICI. These are two large casestatements which, for each production, do the proper stack
operations and send the output information to the procedures
in the initialization section to be formatted and filed.
The semantic operations are called from within DOREDUCTION,but really comprise a seperate module within the structureof the translator.
The last section of the translator is the set of proce-dures comprising the error handling routines. This includesprocedures PRINTERRORS, RECOVER, ERROR, and PRINTLINERRORS.
The parsing routine attempts to recover, using the procedureof the sane name, from an error while documenting it to the
user. If the parser cannot recover, the program will halt
and print the complete list, in a file, of the errors notedprior to the crash. This error handling sequence can beeliminated from the translator, as previously noted, on
completion of a syntax directed editor, which would ensureerror-free input.
25
D. TRAISLATOR OOTPU7
The primary output of the translator is the primi-
tive list, a sample of which is contained in figure 3.1.
This list of primitives is similar to a set of macros withS
P is. generated for: DATAAP 2s. oc DATAA )P 3s. gensecond FLGA:1-P .eq & $ [TOI' S'C01:8"1,8)P 5s.jMf aTO a01:6).
P 6s. as gn DATAidIC01:1,8)p 7s.loc &01:)P s. exitproc (DATM:)
Figure 3.1 A Sample of the Primitive List.
the operands &ad attributes corresponding to parameters. It
is converted by the Optimizer module, in the ZSDE, to the
internal format reguired by succeeding modules [Ref. 2].
In the initial implementation of CSDE there was no
front end, i.e., the modules for the designer input and
translation to intermediate form did not exist. Therefore,
the information required in each primitive was hand gener-
ated and formatted by column number so it could be inputed
in batch form as a card image file. Because the information
is still reguired in the same format, the output, containing
the primitive list and called PREIFILE, was set up in an
identical manner. Each primitive is one line and spaceswere added to eulate the blank columns on a punch card.
The name of the primitive appears first (software primitives
preceded by s., hardware by h.). This is followed by theoperand list and selection list (if any) separated by a
colon Ref. 16].
26
The primitive list, also, contains the design
criteria, preceded by d., which allows -the designer tospecify the order of consideration of the realizationvolumes. The generation of many realizations can also be
requested, each of which is presented along with its chipcount and power requirements. The final portion of theprimitive list is the application timing table, with each
line preceded by a beginning A. This table includes thetiming constraints and associated requirements. Further
details concerning the information present in each column in
the sections of the primitive list are contained in p
Reference 2 and, therefore, will not be discussed here.
The primitive names, such as eq and mult, were
chosen to correspond as closely as possible to the operationsuggested, but the names in the realization volumes must be 3.
identical to the ones emitted by the translator for the CSDEto function. They are easily modified in the semantic
portion of the program if required. However, new operationswill dictate a modification to the CSDL grammar with addi-tional productions and semantic rules.
2. §Uhbol Taje
The concept of a symbol table, for use by succeding P....modules in the CSDB, is a result of tais thesis. With the
format required in the primitive list, it is difficult for
the modules to look up, during the mapping, the attributes
such as type, precision, value, and technology for _controller variables and constants. It is thought that if
this information were available in an easily read form, itwould increase the speed of the realization process and
raise the level of system efficiency, The functional mapper
could read the symbol table first, and generate memoryrequirements for the controller prior to addressing the
operations.
27 9-.?
S
A symbol table can take as many forms as there are
formats for a file. The data structure used to hold theinformation is also arbitrary. At the time of this writing,
no decision has been made as to the ideal implementation.
Sol the information will be dumpe4 into a file in the sameformat as the primitive list and can later be changed. Thisinformation includes all variables with their initial valueand precision, all required memory locations, and all
constants. In addition, the input and output ports with theexpected signal names, technology, and precision are
included for possible use. The code to format the symbol 0
table can either be written in a seprate small routine to be
installed as a system module, or could be added to the
translator. Whichever the case, a decision in this matter
may well come in time for the code to be included in the .
final version of the translator for this thesis, in whichcase it will be reflected in the example symbol table in the
appendices.
3. Scratch Pad
A scratch pad file developed naturally as the trans-
lator was designed and implemented. Used initially foroutput, it significantly aided the debugging and verifying
of the processes. Error routines, mentioned previously,
send error diagnostics to this file. Traces of parser
execution which were developed out of necessity as part of
the debugging process also needed an output medium. Because
of this, the scratch pad became a formal part of the trans-
lator. This file, TRANSLATE, is a text file, with noparticular format, containing information which can be
helpful to the user. If an error is detected in the input,the diagnostic, which traces the error, will appear here,with ccments as to possible corrective action.
28
In ad.itian, three toggles have been included which
provide, if desired, 3 types of traces of program execution.
TRACEPARSE will trace the parsing action, providing the
transition and reduction numbers as the parser moves through
the input. TRACETOK provides the input tokens, one at a
time, as they are read. PRINTTABLE displays the contrcller
symbol names with their attributes. These toggles are acti-
vated by including "-#" followed by a toggle name at the
head of the inut file. more than one toggle per execution
can be utilized, but the ensuing report becomes difficult to
comprehend. 6
29
IT. TZSIfli I 712 612AT.Z2!
1. THROB! OF TEBSING
The theory of software testing is a difficult probien
and the subject of extensive research. Preliminary reports
from this research indicate varying effectiveness. Dijkstra
says that debugging can only show the presence of errors,
but never theLr absence (Ref. 12]. It is commonly agreed
that program testing cannot assure program "correctness"
except under special circumstances. But the debate overDijkstra's statement continues because others have developedtheorems which challange his reasoning [Ref. 13]. --
The most important factor in testing is to have a well-
understood goal for the testing process. In the case of the
input translator, proving correctness was not at issue. The
algorithm for the parser is well proven to be a correct one
(Ref. 9]0 so the detection of bugs in the program was the
goal. methods of testing include top-down versus bottom-up,
static versus dynamic, white box versus black box, and other
less known systemtic approaches. In bottom-up testing, the
idea is to build the program with proven (bug free) compo-nents, while top-down begins with tests of the highest level
using stubs to simulate the activity of the lower level
modules. Static testing attempts to demonstrate the truth
of an allegatLon, i.e., it roughly corresponds to bench-
testing a power-driven device without applying power, and
dynamic testing seeks to exercise a program in a controlledand systematic way. The white box testing approach is,
knowing any part of the sofware system is present for somespecific reason, then relating each piece of a softwaresystem to tha requi.rement it ful-fills. Tne b1.ck -Ax rho. - .-
30
.. "
is an extensive testing approach which attempts to dej-on-
strate the presence of function by concentrating on the
exterior specifications of the software system [Ref. 14).
Just these brief examples illustrate the fact that soft-
ware testing is not a well-defined science. The primary
reason for this is that the concern for software reliability
is relatively new. Only in the past decade has any notableeffort been expended in anderstandin4 how a program can b.
proven correct or demonstrated to be reliable.
In selecting possible approaches to establish the relia-
tilty of the input translator, a combination of methods was
determined to be the best. As previously noted, program
correctness is not the objective. Also, the individual
modules were completely debugged as they were built. So the
problem reduces to ensuring the function between the input .
and output is such that the correct output is realized for
each possible input. This is a black box methodology, but,
since the program is to be exercised as a whole, the concept
of dynamic testing also applies. The following section P..discusses the results of this testing and validation.
B. TEST RESULTS
Functional testing, a form of dyna.aic testing, involves
the testing of a system over each of the different possible
classes of input, the testing of each function implemented
by the system, and the generation of test output in eaca of
the possible output classes [Ref. 15]. This is the method-ology that was employed in the testing of the input trans-
lator.
The CSDL input is divided into 5 parts which are
:ZENTIFICATION, DESIGN CRITERIA, ENVIRONSENT, PROCEDURES,and CCMTINGENIES. Each of these sections was examined in
detail to determine the finite set oz permutations in
structure and content, as set forth by the CSDL grammar. p
31
I-.",
These possibilities forzed the basis for test cases to beused in exercising the input translator. Due to its
complexity, the PROCEDURES section received the most atten-
tion, but each part is discussed, in terms of the test
results, below.
The ID INFICATION section, an example of which is
contained in figure 4.1, consists of 3 character strings
IDENT IFICATICN -DESIGNER: "Tnomas H. Carson"LATE: "10 April 1984"PR2JECT: "Start Malfunction Controller"
Figure 41.1 IDENTIFICATION Section of the Input. .
which make up a portion of the documentation for the system.
The strings ire not parsed by the input translator, just
simply read and ignored. This section is optional, as are
they all, and the parser performs no other action on it.
The DESIGI -RIZERIA, an example of which is contained in
figure 4.2, allows the the user to specify the metric and
number of monitors and volumes to be employed in the mapping
process, the next module in the CSDE system. The metric is
one of 3 choices, all character strings, while the monitors
DzSiiN CRITERIAMETRIC FIRST;VOLUES 1ONITORS i;
Figure 4.2 DESIGN CRITERIA Section of the Input.
32
and volumes are integer values. The parser reads each of
these and checks for correctness in terms of value. It then
reformats the information and places it in a special portion
3d:FIRST * 1: 1:
Figure 4.3 Primitive List Form of the DESIGN CRITERIA.
of the primitive list. The possible alternatives were exer-
cised and the corresponding correct output was generated, an
example of which is contained in figare 4.3.
The ENVIRONMENT section, an example of which is
contained in figure 4.4, contains the variable declarations* for the input. It has Is parts which are: procedure declara-
tions, input signals, output signals, and duplex signals.
While each of the above is optional, the controller will -
have to sense at least one input and emit one output to have
some function. Each declaration -an have its name, struc-
ture, precision, initial value, or the technology associated
EN VIR ON ME.N TINPUT: HP5,8.TTL, FIRE SENSE 1 TTL;
0I PRES § TTL.-END IkPbT;OUTPUT: S1 1 TI L' SDI.I1 TTL-
FIRE HT I TTL- D 6UTPUOTARITHMETIC: 3TA0L6,1;'END ARITHMEITIC;
Figure 4.14 ENIROIIENT Section of the Input.
with it. The type of declaration decides which and how many
of the attributes each variable will have. For the internal
33
program variables, in the ARITHMETIC section, the translator
generates a system variable primitive and for each of the
signals it produces the associated software primitive. SAgain, while the translator is parsing the structure of the
input, the real work done is reformating the names and their
associated attributes into the appropriate primitive. No
errors could be detected in exercising the program over this S
5 1
4s. nputport (RP3 TTL:8-s.iaputport (FIRE SENSE TTL:1)
6s. i putport (OIL 1RES,TIL.8)7s.o t put port (FIRE EXT TTL.1I)8s.var (STAGFLG: ,O)
Figure 4.5 Primitive List Form of the Input.
portion of the input. An example of the output generated by
the above example is contained in fiure 4.5.
The PROCEDURES section contains the functions and taskswhich establish the purpose of the controller being real-
ized. The lifferences between functions and tasks are:
functions are allowed only one basic statement and return avalue while tasks allow multiple statements and perform a
job. The key to both is the basic statement which is one ofseveral types seen in most programming languages. The
alternatives ire: if-then, while-do, for loop, assignment,
data input, data output, perform tasK, and wait. The onlyones that might not be familiar are the "perform task" and
"wait". "Perform task" allows for nested procedures and the"wait" statement causes the program to suspend itself for a
prescribed period of time. An axample of a task iscontained in figure 4.6.
34
TASK OVPSPD,IF START SOIT THEN
SENSE (RPM);SD5 : 0;IF RPM > 74 THEN SD5 :- 1; END IF;ISSUE (SD5);
END IF*END OVRSPD;
Figure 1.6 PROCEDURES Section Input Example.
This section is where the parser really does its work.
It must parse each statement in the *procedure and generate
an appropriata section of primitives, including temporaries,
asseubly-language-like software primitives and labels, whichfulfill the intent of the statement. Each of the basic -
statements was exercised through the translator without anyerror detection, but because of the increased complexity of
this section , 100% reliability cannot be confirmed. To doso would require a technigue such as path testing. This
requires that every logical path through a program be tested
at least once. Another possibility is to construct testdata which causes each branch in the program to be traversed[Ref. 15]. klogorithms for such testing exist, but the
problems with each are the excessive time, CPU service, andoutput verifization required. Therefore, complete path or
branch testin; was not attempted. However, the author's
confidence in the correctness, after the testing that wasconducted, is 100%. An output produced from the above inputexample is contained in figure 4.7.
The CONTINGENCY LIST section, in example of which iscontained in figure 4.8, sets up the flow and timing for the
controller by establishing how often each procedure shouldbe executed. There are 4 types of statements allowed in
this section: when-do, at time, simple do, and the every.
35
-. -, ,4...
106t. generated for:OVRSPD107s. proc OV RSPD:)108s. Smpf START SWIT,312:1)109s. sensecond RPM:8Tli0s. gt 3T01, RPM,C07: 8,8,8)Ils: apf BT01 313-8}112s. assign ISDS,6C01: 1,8)113s. loc 313:)114s.issuevent SD5:I)115s. o. 312:116s. exitproc oVRSPD:)
Figure 4.7 Primitive List Form of the PROCEDURES Section.
While the parsing action for these statements, basicallyjust a reformiting routine, is simpla, problems developed in
CONTINGENCY LISTWHEN RESET SWIT:100MS DO INIT;EVERY 10001S DO CLOCK;EVERY 10OMS DO OVRSPD;
Figure 4.8 CONTINGENCY LISr Input Example.
determining what the format in the primitive list should be.
For consistanzy, each was treated the same with blanks left
in the columns in the "simple do", "every", and "at time"statements where a contingency name appears in the "when-do"statement. examination of the example output in figure 4.9and its comparison with the input example above will clarifythis point. Alternative entries, such as the word "each",to replace the blanks are under consideration. The desi-
sion, based on the requirements of the functional mapper,will not occur prior to the submission of this thesis.
Therefore, it is not possible to establish complete
36
A 1 :RESETSWIT:INIT :HS: 100, 0, 0, 0, 0A 2 CLOCK :MS: 1000, 0, 0, 0, 0A 3: :OVRSPD :HS: 100, 0, 0, 0, 0
Figure 4.9 Primitive List Form of the CONTINGENCY LIST.
correctness ia this section. The program does act according
to its given requirements but the possiblity exists for
these to change and, at that time, the section will have to
be reverified.
Only the primitive list has been discussed above, as
program output. The translator also generates a symbol
table and a scratch pad. Since tha symbol table is unfor-
matted, testing established only that the required informa-
tion was present. The scratch pad is not a functional
member of the CSDE and, therefore, was not tested. The
error-checking routines within the translator were tested in
so far as they were used in creating correct input file for
the testing described above. This was considered adequate
due to the impending completion of a syntax-directed editor
for composing the CSDL input for the translator.
The input translator was built bottom-up in modular
form. This methodclogy and the use of the automatically
generated driver for the parsing routines were significant
reasons for the relatively error-free results obtained
during the testing of the translator as a whole.
3
37
r. QCI oSp .J A.R DAZZo
A. PROGRAR NIITENIACE-
The use of the automatic parser generator in providing
the control tables for the translator allows the maximum
degree of flexibility for program maintenance. The
resulting main program is modular and space efficient, with
anticipated changes, such as new emissions from the semantic
routines, easily included in the system.
The most obvious .portion of the system. which will
undergo modification is the CSDL grammar. Matelan states
there is no capability in CSDL for notational extensibility,
nor should there be (Ref. 16]. He points out it is doubtful
that the average user can design extensions that will cause
less harm than good and the provision of a good macro capa-
bility and extendable function/task libraries are preferred.
This author disagrees. The advantage of using the parser
generator is that a new set of tables can be produced for a
modified CSDL with virtually no listurbance to the trans-
lator. The zhanges to the grammar must be consistent with
the rules governing 11(1) grammars, but such modifications
as the inclusion of new tokens or reserved words is within
the capability of advanced program language students. In
addition, to keep CSDL static, using the function/tasklibraries to realize new primitive operations as they become
technologically feasible, only results in a less efficient
controller. It could lead, in the worst case, to the
inability to utilize the latest hardware technology avail-
able for controller design. This was most certainly not the
intent.
3
38
p
7S
One particular change to CSDL needs immediate attention.
Many controllers require an analog input or output signal.
21atelan, in his work, makes the assumption that analog -
information must be converted to a digital signal before it .
reaches the interface [Ref. 16]. If we have the ability to
modify CSDL, this is no longer a complex issue. One possi-bility is to add a new input/output signal type with theCSDE calling for an A/D-D/A converter when this type is
mapped to a library.
B. RECOIEENDITIONS POR CSDE
The flow of information between modules in ZSDE, prior
to the impending completion of the designer and translatormodules, is consistent. Since the system was implemented in
Fortran and resides on one machine, there is no problem.
But with the completion of the translator, the subject of
this thesis, and the designer module having the same time
schedule, the problem of interfaces becomes significant.
The translator is written in Pascal and, while the ouput isa simple text file, the information flow will not be as it
should. In iddition, the designer module is being written
in the "C" programming language which will generate,possibly, further interface problems. It is therefore
recommended that the CSDE system be incorporated, as quickly
as possible, into a data base management system such as
Oracle. This was previously discussed in Chapter 3 of thisthesis and the design of the data base was the subject of
earlier research lRef. 5]. This research pointed out thatthis redesign of CSDE should help streamline the operation
and eliminata any complex programming schemes that were
built out of necessity in earlier work. This concept will
eliminate, completely, the interface problems, as the infor-ation will be input to and accessible from the database as
39
IL-
it passes from one module to the next. An overall improve-sent in system documentation, efficiency, and usabilityshould result while, at the same time, allowing each moduleto maintain its individuality and function.
C. SURARY•
In completing the design and implementation of the input
translator, the objective of this thesis has been accom-plished. The translator has been tested and fufills thefunction required of the module in the Computer System
Design Environment [Ref. 2]. The additional features addedto the translator include an option to monitor the execution
sequence in a variety of tracing moles and extensive error
checking. While not considered integral parts of theprogram, these features were useful in its design and
testing. As the CSDE evolves, these features might becomesuperfluous, at which time they could be eliminated. But
the information provided by the features should be consid-ered prior to that decision.
The design methodology employed in the production of thetranslator was not inovative, but it allowed the program to
be simple and straightforward. The use of the automatic -1parser generator was a time saver and proved to be a toolwhich will allow for the ease of future program maintenance
as no other could. In one sense, we could say, while gener-
ating a module for a computer aided design system, a
computer aided programming tool was central in the
development.
The translator will reside in the CSDZ on the VAX 11/780
VHS operating system. It is a Pascal program with thesource and object code avallable ander the filename "CSDL".The user instructions have been fully covered in theprevious sections of this thesis.
40
TRANSLATOR INPUT BZIPLE
IDENTIFICATION
DESIGNER: "Ila Ross"
DATE: 1112-23-83"
PROJECT: "DaaJ. Process hControl Application"t
DESIGN CRITERIA
METRIC FIRSr;
VOLUMES 8;
MONITORS 8;
ENVIRONMENT
INPUT: CONSIN.8,TTL; CONST,8,TTL; FLGA,1,TTL;PENA,8,TTL;
FLGB.1,TTL; PINBS,TTL; END INPUT;
3UTPUT: VAs8,TTL; VB,8,UTL; END 3tJ]!rPJT;
ARITHMETIC: KCA.8; KCB,8; CNTB,S; ITI1,8; 1TI3,8; AINT,8;
TDA,8; TDB,8S; BINT,8; WSA,8; VSB,8; BDIFF,8;
PSA.8; PSB*8; CONPTT,8; EA,8; EB,8; KPIA,8;
EA1,8; EA2,8; EB1,8; EB2,8; KPIB,8;
END ARITHMEIIC;
PROC EDURES 1
FUNCTION DAflA:
BINARY, 1;
SENSE (PL3A);
IF FLGA I THEN DATA_&: 1; END IF;
END DkTAA;
FUNCTION DArk-B:
BINARY, 1;
41
SENSE (FLaB);
IF FLGB 1 THEN JDLTAB :=1; END IF;
END DATAB;
FUNCTION BCIT:
BINARY, 1;
IF CNT-B >- 4 THEN BCNT :=1; END IF;END BCNT;
TASK 1111;
ARITHAETIZ: ADIFF,8; END ARITHMETIC;I
SENSE (PISA) ;
EL :- PINL*KCL - PSI;
ADIFF := (3*E& - 4*EAl + EA2)*5;
LINT :- LINT + EA/CC;
VA :- VSA + KCA*(EL + ITIA*AIMT T DA*ADIFF);
ISSUE (VA);
DATAL a 0;
EA2 :=El;
E~l EL;
END AFIX;
TASK BCLLC;
SENSE (PIND) ;-
ED := PINB*KCB -PSB;
FBDIFF :~(3*EB - L*EB1 +EB2) *10;
DINT B INT + EB/KCB;
CITE CIfTE + 1;
DATA-B := 0;
END BCALC;
TASK BPIX;
CUTE := 0;
VB :-VSB + KCD* (ED ITIB*BINT 4TDB*BDIFF);
ISSUE (VDBI
END BFIX;-
42
FUNCTION CONFLG:
BINARY* 1;
SENSE (COWSIN);
*. IF CONSIN > 0 THEN CONFLG := 0; END IF;
END CONFLG;
TASK CHGCON;
SENSE (COMST);
IF CONPTT = 1 THEN KCA := CONSr; END IF;
IF CONPTT = 2 THEN ITIA := 1/CONST; END IF;
IF CONPTT a 3 THEN TDA 3 CONSI; ED IF;
IF CONPTT = 4 THEN VSA :- CONSr; END IF;
IF CONPTT - 5 THEN PSA 3m CONSr; END IF;
IF CONPTT * 6 THEN AINr := CONST; END IF;
IF CONPTT - 7 THEN KCB := CONSr; END IF;
IF CONPTT - 8 THEN ITIB :. I/CONST; END IF;
IF CONPTT * 9 THEN TDB :- CONSr; END IF;
IF CONPTT - 13 THEN TSB := CONST; END IF;
IF CONPTT = 11 THEN PS8 : CONST; END IF;
IF CONPTT = 12 THEN HINT : CONSr; END IF;
END CHGCON;
CONTINGENCY LIST
WHEN DATAA :1005S DO &FIX;
WHEN DATAB *50MS DO BCALC;
WHEN BCNT :1001S DO BFII;
WHEN CONFLG DO CHGCON;
43
-- 'o- ;.- -. . . . . .
_HIM I
FORMAL SYNTAX OF CSDL
1. ( 84.. .12. ) 85. 3. * 86.
4. ** 87. 5. *ID* 88.
6. *NUMBER* 89. 7. *STRING* 90.
8. + 91.
9. ' 92.
10.- 93.
11. * 94. 'BINARY DEC>12. / 95. 13. /- 96. (BINARY SPEC>
14. : 97..15. : 98. (CHARACTER REP>
16. ;99. (CODE DEC LIST>17. < 100.
18. 104. CCONTINGEYCr DEF>22. > 105. (CONTINGENC- LIST>23. >- 106. (CONTROL SYSTEM DESIGN>
24, AND 107.
25. IRITHMETIZ 108.
26. ASCI6 109. (DEC GP>
27. ASCII7 110.
28. AT 111.
29. BCD 112. (DESIGN CRITERIA>
30. BINARY 113.
31. CODE 114.
32. CONTINGEN-Y 115. (EPISODE TISING> a,
33. COST 116.
34. CRITERIA 117. CEXPR LIST>
35. DATE 118.
36. DESIGN 119.
37. DESIGNER 120. .EXP_3>
38. DO 121.
39. DUPLEX 122.
40. EBCIDIC 123.
41. ECL 124. 'FOR LOOP>
42. END 125. (FORMAL PARkl LIST>
43. ENVIRONMEIT 126..- (FUNCTION>
44. EVERY 127. (F9NCTION_HElD> _
45. FIRST 128.
46. FOR 129.
47. FROM 130. (IF HEAD>
48. FUNCTION 131.( --
49. H 132.
50. IDENTIFIC&TION 133. (INPUT SPEC>
51. rIF 134.
52. ITL 135.
53. IN 136. (LIST BODY>
54. INPUT 137.
55. ISSUE 138. (METRIC>
56. LIST 139.
57. Is 140.
58. IfETRIC 141. C(MU>
59. MONITORS 142.
45
61. NOT 144.
62. NS 145.
63. OR 146.
0
179. (WHLE DO>
180.
181. (WfHILE> 0162. (ZOPT PROC DISC GP>
1. ::= END END
2. : 8 3. / . :
4. ::' -
5. //
6. := <
7. /=8. p9. I>10. >=
11.
12. z:= *NUMBER*13. / *STEI:Na
14. / < NAME>
15. f (
16. ::= PRIMARY>
17. / *
18. ::= S
19. /
20. : :=
21. /
22. / NOT rERM23. /
24. ::=
25. /
47i::i:
N .~ - -.- *. * -. .
26. :-
27. / AND S
28. ::=
29. / OR
30. ::= 0
31. / (EXP 2> =>
32. ::=
33. / ==
34. ::-
35. / 36. / , (EXPRESSION>
37. -:= THEN END I?
38. :: IF
39. :: DO END WHILE .
40. :: "
41. W:: HILE
42. : : DO END F3R
43. ::= FOR *ID* FROM TO
: S
44. ::= *ID*45. / *ID* ( :
51. ::= ISSUE ( .
52. ::H 5 "
53. M
54. S
55. /fs
56. /US
57. /NS
58. ::* *NUMBER* (TIME ME&SaRE>
59. ::x
60. /
61. ::= DO END IN
62. ::= IN
63. ::WAIT 64. / WAIT :
65. ::- : %PERIOD>
66. ::= WAIT UNTIL
67. :-= j68. /
69. / 70. /
71. / S72. / 73. / 74. /
75. / 76. /
77. : *ID*
78. ::=
49
. .. .- .r . . - -----.-
79. /
80. :=
181. / ; P
82. ::=
83. /
84. / 85. /
86. ::= INPUT : END INPUT
87. :1 OUTPUT :
END 3 UTPUT
88. :1=
89. /
90. /
91. /
92. ::= ;
93. / ;
94. :"= DUPLEX END DUPLEX
95. :: BIN&RY : END BINARY
96. ::=IRITHMETIC
END ARITHMETIC
97. ::= ;
98. / ; S
99. :: *ID* < (BINARY PRECISION> ,
100. : = BINARY DEC> ;
101. / ;
102. ::= *ID* ,
so. .
"' - ." :-"i :... ... ... .,. ... ..". ..". .. . . .' " " " " , • - " .. . . . . ., . . . . • .
103. ::- ;104. / ;
105. ::= *ID*
127. / ASCII7
128. / EBCIDI.
129. / BCD
130. ::=
131. *ID*
132. / , *ID*
133. ::= *ID*
134. / *ID* ( )135. / *ID* *NJNBER* : *NUMBER* }
136. ::=
137. / ( : )
138. := -.
139. /
140. ::= ;
END *ID*
141. ::=
142. /
143. ::= ;
144. / ;
145. :: TASK *ID*
146. ::= ;
END *ID*
147. ::F UNCTION *IO*
BINARY
148. / F3NCTION *10* :
ARITHMETIC ,DECIMAL PRECISION>
149. ::= ;
150. / ;
151. ::-
52
152. / PROCEDURES
153. :=
154. :'=
155. :'=
156. -'
157. / .
158. ::= *NUMBER*
159. ::= *NUMBER*
160. ::
161. / IF
162. ::=
163. / : 164&. I " ,
165. f : , , 166. / : < 8 1> , ,
167. ::= WdEN
DO
168. ::= DO
169. ,:=
* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 7 7~ 7..~---.~---.---t-...--..-.---
178. / ;
179. ::z
180. /CONTINGENCY LIST
181. ::
182. /DESIGN CRITERIA METRIZ 'METRIC>;VOLUMES ;MONITORS ;
183. ::FIRST
184. /COST185. /POWER
186. :=
187. /ENVIRONMENT (DEC GP>
188. ::
189. /IDENTIFICATION DESIGNER :*STRING*
DATE :*STRING* PROJECT :*STRING*
190., < ID SECTION>
(DESIGN CRITERIA> (PIOC SECTION>
54
APPENDIX C
PRIMITIVE LIST
0; cc 4* 4 a
*-0 .. ... .0t 0U.t Oat L 4 4c04
cc 0 J 4 4 Q.A 0 Q
- -4 4 - -4
6 00 4 0
-4 4 u c 4CL CLC L* L
, . . 4. 4 4 .* . . 4 .tO* LC 0 0 4 4"
C a M M -oLULL66t L6LLL6-6L6L61 0 * U-C 0 * 0
I-C C C C3 4 0 4 4 4 4 4 44 4 4 * LS E* K L aA S 0 -6-.em -- 0 - .~- - --0' > 0D 20 > )p >0 >.. )o> >) S >>>aa
No op>o I ~ a,.ae--oe--.- 00- o.---evw - S
*~~~~ -IIU -S - --- S- - -. 5 .4 .- -- 4 -nm.
we C0 .4 4.O e 0.
*_ltl~ 0 3 l 1 ta t 4 !IT It
*u 0 -#-Z-
U. 0a a jj _ _ --- M 1d
C 4,*, 4
C e CC> 4 1, CC0 C 4
-. Ua C 0 %a a a - C
A 0 IL 20a 3004 ave I Vesa aa:9' .,:I I 6CI
.6 .6 .6 . . .6 .6 . 6 . 6
000 we we 6- 666 * .6- 6*
66 6.6'-6- 6 -66 .6.6.a6.S6
0 z0~~~ ~ *tj j 0''r'j 0 CL 4 CL 00 CL A CLC :V zW 1 A L .. 0. .. j-CD O 00uI- o z oc cz O oO* -9" l*3> -- o we 4o Ij0 0 0 Q 0 U9 u u 0,;.:.: ~ . -*OJ -- JQ ....
C4- cx~uW- i .U(JJ&- ..-- . .**-Z O V .jZ O4lc o w ccf 0CC0 4 D cZ o c- c
0 04 ,4
ol Me--. 0 (M CL# 0 0 0 b cm ca C2~~ ~ a o0ua%- . - . .- . - . 0
12 00- 90 " CO 0579 U 1 09 0uoOt 0 0 U 47 , 0a r.0 (a -S- 4 0c
A00- In .0 0 0 CO (Aa N0 ) i t .0c 0 wt 0 0
coo __6 InnUi In f U .~U U . U
--- -- -- - ----- - - ----- -- ,--- --- --- ---- i---
--- S-0- .0 10. I0' l0* l0* l0* ISi i05710
Cc*
0000.c~o
0000*
U U 0 0
0 * Z O A ot 0 w cca "oU0 u 0 v 0 00.00
- -Q- U - u .. U zoO ~0 I'0I-' I .. U j u
I-.- 9-0.. 9-0.' 9-09- W -
- ~9 ~ O'1 O..u 9-. ''~% 000 Z~hum Zmfli ZZ - ,00 .0000G
- c- OZ 0. 00 0* UO OO Ug U(. z zu-qm-c6IMm-0
Q~.-. -. --. .0 U--Z 0
IN00~00Y00U00IO~.....**000000-580
APPENDIX D
TRANSLATOR SOURCE LISTING
Z
V! -0*0* 4.w
W C 0C L(
z a cmC' WA . z LWc
0 I. a0 or -1-. *- L " ow 9 2 4aSeI - 0. a 0 .- C
2sg . 1 W4- .. a 0-
0~( us140 4
4~, t - 3z.iZl ~ I 4.4 > cf . WA -0.C20. a~ a06 4 =IM '4 441@0 a6 WA x- 0 0
£U0-0I 1. (3 U 4-I-Wur1- >. Or. * 00W
40a -0 I-W WNW Sw.;a. %. 41 -. 0 M 20Z-
0-0 C4 I.- 204. L.0@4 CL 4L 0 0 of140
0 C..;C N -i 0 4 La. - 0. 1-1 I1I I..
aa4.C C MO it is- 1i w ac
u 06,.4. 0Wrlrw N M wU W w a0# a 000l 4W z0. 0 24, 4- a-w 4z 0 2 x W s -14W0 C
1- 040 a. WA~ (A a0UlW~z W10 go 11401 z i " jj L
6oa 40 IV If£ WN~C.IO. 01 09- N - Z
204.0 CC- * 4 I .- W214s59
* ~~~ I.' -. -- .
OCI L r936~ 0 *,1
Is- U u.m
0 -C i-. IL- 1
4w . Z . 0* .*( Wj4;0 "-M 0u I; 1--h I- I. UZ. a Qc ZU* UI.4 c W L -2 - 0
.9 - 0 Z I.-l Iii CLulat tL CW -I-- I.- U W*Azz (LIn.. a: Cc J0=50Azj (-W JZ 0 0" u LUj
z I-a *41 a .. W - - -lU 0 a.CI. alO~ > 4 sc 0, i mi *L >- IL-i
0 i C MAOIA J 0W a Z4 - aia- 4 .9 j
0 0A -Z U a 4c W. w M -Cx .J0.us4I( 0.- (A W W4U.(L w
ZZ'-.ill.0 0i-I I (.4 -W. 0~ It4K
C56 & IL - C >zI Z ~ .IA 0u -r.zIIA. W41-1-1CCCO4J0 4I W &4 m wi OiIIIx-. a.0 C - *Xz I-. I 03 1*1 a. 1 *-v>mz a *Z l A ILC 4m V i *O - L- CN -AU - -C CC ULa -i0O*DIL U. to.- 2 66L OU l *. Cc -U-OIL0 1- U 4i IAOuIA.. -C C I-Z (-AW W'.- V; j
i 0ZIZ C§ L ii- O-.-. 10-i-A AWS 4> O-CluKlu-zi- O..i-IA * u Z. ILw UI-- w0 0 UA44a> .w
> -ulu - a 4i >LL U-..L .. too MA0 tu> CCON 0 *-Z L- Cof OZa.->L-...O- x iW > iw-jM V Z0 o i -- N W I~ (A Ua au 16- cm *It 0 IN NA 4 x Iffa Zi'- Ua. w U -4 44 cy
If xOw. UP~i. ul IAaLi94Li-w ml L-~w ni i a.
p (f . w i If I& Iz -N VOW 1- a 0 4W n .- I il0-ov - -0 91 9.1I~ a W > z - ~-4 4 -n - -I--- L)I4AinIS *. 4J 0 A -oI.-Win W.UZ Ci i i- Z'II x~x 04~-. IL Z0 U L64Si i-A W I
ix >A- 4 >iL L. -.
-. 1a.A au C L -w~n W- vi W.0
0 I0 i-n 0 i- i-0n000~i -i
IU a4 4 AW 45- X>>3W0
0 u
Ia -1
[W"
0 3
ccM 4A 4A0MI AzC
.1-I- C . -us a 0 WZ. z. A
A A -C A -L ZU) 4K x P- CC -'LZ.J.l0 11.1- IC WI OW 4
W22 -C o 0 0-) -L I- 00 u CL A
00000 000 &L U. 0U oU 0-UOM wcc 0 W cc W .9UO x s 3 jv c U
- -- I- Zj 0 1-U Q a )UUam* IaWWW Wa WJa- us . M a U 0 4 -4 &.4=W- ZN MN-N NNW W W C.L- Wa I- z aW
"" N - ;N N N z I-U) CUw InW 4A cc I . 1#A 0 ( 4A 4 U )- --. u- (A) I- 19 U4O*UMa I- F-.0 ZZU Q z(A 0 -MO IL .9z IL W) ='-"w 0WW W u 00 ~-C Z) z0 ZOO0. 0 -- a W cc~ (-IL Z.j .C 1I ~ Wius f 0* 0. 0 Z Z I- '-
* .I- X E*- -. 0 4C *--.0 Z* 04-CW I-- ) I- . MWJ--"-
-. ~ -- In~O X*.0 * 4*I-9. 4 444 4C44 - 44 Ia 0 1)-UC U) 0W-I-I- -0 W M -uML L ULL cc U) ccam 0 zo W 0 C CLU.0 3 0. ZI1- 0ccCcc-c ccUL U M cc Cc I- W01- -4 *WW -qX C; Z LU. C - 4.
I- X 4 C4 44A 444 A 4 4 4 - XCc . Z 0 l- 43 Cc IM - OUatUCIt.0x u I- M. WX 4 -ZWU 0 -..J LW W zWa I- 00000o 000 00 ZM* " > ).- IAU* Ila 0 - A1W
I-- W W WW usW W WW Wa Wa Q. Cc A ZW I-Z Wx 2 9 96 3 xE a I cc U .0 W Z 4C t4.
(uUU U Q u u U Z -. Z > a - zX W - -94 44 - 444A 44 go -ZO 4W) > U
W WI- 0..00. a.. 0.a CL CL9 *aI 0". X I- cc *cc I.-J 14 W Q 2.-I- U *4AEX 0 M 0 1-0, C." ..J J. 0 > -CI-- " -C I- aWX- x ccL m UlIL V) Cc. 0 U)-UU I 1- x U)1- aW a - M ...M ma ZIL 0 aI 0 z MZ0 I-~ U)z U Q Z . W a .W W 7
1,- 42 W Wu 0 lU4- Z A X30 4 4 WE x i azCC A 4 MUU ) I- ccZ WI * w OU I- I- cc'
1001-4>A LLZ 1 -.i0 .LI-a.- W J ZZLI-Z M - U) U) W a.
61
caI
II
>
40
CLLi
£9 - &W
laiat a.4I-. 4iU
UU x U w
C Lu - > LAuc0 . .. .4A. Lu Lu 9- 3c
0 .. -C -C a U A Lu
w 0 > t. )- 0 A 0 I c
-CA -)(to > i .-
I - -J " X LA Ju L4 Z
Il -1 (3c uJ # -. ( 0 * 4 x 4..4c Z cc z, 49 LA 2£ -a LU. *. -1
C, 0 a Ii. L u WW cc -0 Cc Cc A- *0(A *- IA A44wu 0 31. 0 f- ZE x - -AU 1 9 w W cc w Z - cc £4
I 0 LA z .. U. Q >1 4 S. x,-C - A atU* I>x a- 4L 4Z .- > U x -- -C.L -A > ...L > u W 2u It4 lW., W J £0C.M> -4- Z>Z)K2 4UA CC £Z L M
-0 Z z 1 £ 4 >. Po As MAMZC a4 w U = 8 - -C CC" Q 4 a CZO.Z 4 l£ u
(AiC Lu Cl0 > viU. I.- -C4.. W 14cW ul u deI~ IL u* m- -C 0 4 co 9.- -C C (3 ( 0010 Z 4 W%&;m.4 -4 4 .. L0 W 2 4-W-I vi LuI P-a ji a£ w zWQIat 0 Mc40 -C - -2 Lu A z
-1 I l UlW u9-- . P-4.. 0 1-& wzLAw a. (AxO0W IL.ImooC Z4AOIL 2 Ca M - 24-Z£0 X 4Z4£cc> * I.L 4.4 4 >299 3Lu4.444 Lu > LA 0
200 wLU4Lwa&aUJN40 LA4A W I- F- j4 9- Lu L w u
L0000000000000000000400a0W00eaoa --------------- a
62
..... . .....
............................................................
-. Z Z.* . .J r..
. . W4. . .. .. . .. .1A 0 e
4 * ~ uj Q-(20am. *, -
. . . . . . . ... .-.
us 0 Z. I .( C4 o 4
Zig (4 in4OI0.4 ~ u~-n
.9 IL 1
* ..
IL 0. In du*VS i4 o
in. aj cz . .In .... ..Lg~~L .q2 .I Z4 . C
CL 44 cc t I . . 0 U, (
u -& V) V ~-~- w ~ ........................................... w- ~X4.. ix M .11 0.(X4..~IIW~
0~ ~~ ~ cc 1112 . u . 0 UW I Z 4 n I l 4
Z 5 Z4 W ,.' I- z1 g jot 9 M - (-. w-. " (2 .. .- . . . ... S ...
a.. j~ zwt 11 z-4.£U 0.o46J£.jz~o n> 03 ; *i(a 930 .W. .u . . . . . . . . . .I
0 00 I4AZ 03 .j s.-IA
N N N N (4 NN
63
U)A
t- -C-4 0 ot 04
. T z 0oCN 4-c r: 1- 1W W; 0; f.
ae 0; W- -; .9 -N .1 c; f-0 -t in in C- N- 0t Zt C CwtWat t!
O.--~~w~ -v vN - C
I- -C -O) VieCo-.rV~ - NN -- f- In ; IMV;- 0.0 ; ;0.0 co .3 0-,O M- 0 -- C- -- -- -9 - - -CC
P: - 043- -09i T@ -- O T*-OZ1 ; ;; . N 1)V i U. fNO C W - IM NO 4MO
I- ~ ~ ~ ~ ~ ~ = 0;. -9:~ 01. -9- -90 ' C;N- 9- C 0C - o 9 02 - -o lw~D- ( -aOC -9 ;OWNOCCOOC w ONC-O 9 C- 9-9-N- we -00 .(l4 'Or -Co -c -0 . .9 ~ 0 - O .-0 ;gs .C NNOO -NOOCO v9.o -00C~Cp
u v N a( In InC-C C OW O Z -0- CC -N09 2 -0 - 0 0N4O.C4- 1 - C- Cot- .- V MCmC.9C N -0-C C N N O
Z -CCO 0 - -' - - 9 -t- C- in M V - N 0 C CC Cw - -N 9OmCL zO-;O---N)Cfill!-'qCO1 0; -CO CON---------------------
- --N C O S O;o -0 - - ! * - W C .- - -- 0 C N - O C - - - - - - - - - -
Ui N N-:Co _ - N C __U)-C ONr!!NC--- t-~ w 0) -- N9O -00---------CD 9 N--0~c~ -- -to -- CO .O-Co - ---- - - o)---------------OC C O N
In (A -C -~a -o - -C-o - Co--Co C -- O-W C C-0 -C N OW
v Cwv) C -Co -- 00 C I- -in -CO NC 9- N O C -0 CoVifC ; -.:0;
U 00 CC -1000-04W -00VO -01N9 ZA-n~m-nV -NN- - 0 P. 0 - C4CC 9' V
S If! -O-oo9-COZ~.C C -009 NN 1NNO900 coccoCO.0C9-O9-0. 0 .OCON 9'-9 CU) CD- - - - - - - - - - CNOO )CoM
U. 20 -C - CO -- -- -- -O~--CO UNfO-o90164Co
I- Nt
MCIN
0=0-
IL NOO O WO O M W0 0 0 -0-NW -: --coa- j - -0 -- t-0 0t -
V) 0 In -0- ( aM0
4~ -00 .C40 va ;0 :V 0C ; 0 O- Nq .0V0(aICOwi--P
IN U. N0 a w004in v -WIOWaIN 0 -(.4 - -00--- ... r~o op--
! 1 0 NO- W CC V 00 Mf--O6M 0S N- -
NWI lW -. 1 -0 N c V! 10PW00Q 0W W 0 a!-- Nt60N N50 C) -0 ) N-M N v v 0a 0 0 o aN 0(-N v -MWI-WIP-N .0
Ve o IP-0- -NW IIWIWcON6GS - 0 N0QtOfN. 0 - W I 0, -Ne -l t1 t1 l ~ t
N~ ~~ ~~~ Z1 -2 IT .-- N0lI I IQ N 0 0W -w -NIN, 1! 0I-6 0N00WNW0 . 0 a 14 : N -NI0NSI6-6-,
00 I- 1 C q_2 - -- -06 0-m -W ~ I.~ 0 - In C4 M 4-ov -.N ON -000400 NNIIAWI(0P-06000 0 00 W -WINSNWIWIO -
£ 0IP 6---- NI Tfw IW @ P S e W . -NII-ON~O -
0 v-00% . .0IS N IO O @'. II-O WS .0 '. wiwilQ1U0P-.- t.....4 O I CCt in -0 ) -N N i N I NW -
-N U. N. 0) ) NCIIIIP665 . 0 - - -s -6 ) W- i -:~a: m 0 0 -00 - - CC WN v (NWvISOm-0P%
P-S Z -N CD;;! 0N00.1 V f00.0 00 N OI 1) ;00N0)-IPC- 5 ) 6 0)))WWWWQ-65( -N I N N)W-I
N 0 n0Nf n MN 0 -- - 000P--N ~ ~ ~ ~ ~ OO O N wo N-600-(6I~)-I-P - -- IWI e -N-
--4N 24'A, 0- P... C04 -N IWI" m wIvfwISv-6 0 0000 w -0 w fa-m. "000"00000000000mCJ 0))N6"-................................................(06--I m U) V) 65f)0 5-ON-SC. 0m
P-ON 0 P-O6P-O--S I6S0) 6 5 I ~ I-0-- 0NP6)-
0 N
1 P N *in-OOW N -O iN QO Y~ n -top-inin-0 -in40NOWN (Mu2
o - N -rpcleo (gooNl' -0--N MO
Ct!n~i ;4 MT-O SS- N OSS -- o Non i-S- S0 CSCrSN-~qnS QN OI yin .N . ct-:01 ..n. .e.N. .o. .n.-i
.N40~5q -0 SNn- WO OO N V OnOUS- VNNIO000nO
NoVI WI NOO OW W O -inni OWNiWN i ON OWNClflQ-iWN02O 0 -- aOva- Ov-N NN--N - N - N 0. -
.5 - -NNN- NNN -QN-NONNN0 ONOSNONcc WN vO 00 WNo 'o 0 v m 0 o toto toa PNN N in n a *W c TQ n N t-oSi
- N -C NN-N -t -NN - --- - o - - -
N -NS~~~W Nt- OWNSN NNonO qW l n-Ne -NO O Woo-ON W-
N.4 NNo -mo NO OMN0NWNNomovN
-;q.:~ nN oaooaoct- NNN -OM -OONN -N
N - ------ __ - --- - n------
WSO SWSini-innSO in~innyt0-eeO~nee-e in t-O'qN WONM
N~n tSi-- O in1%iin~iS NiO~nnWilt N~ N NiilN~W(-)M r" N- N-- -- N 0 O-
NSSfl ON OS OS NSN SW ~ tON ~ i S~-inn **-O.66*
0 P- C% N .7~T U
(00 In
.o . 010 - 0 co"( - CrP-N01;0 N 10qo q
a O- co-i P. ,oq-pt4Cc -0 to N0( le d) C aM.T
* Q~14 NI: 10 0t . .(~-ei0. _: Vi et 04 10 COO.01 G;4 m . vm
0 M 0 co 01 N a t0 V(). 0N 0 T 0- in ~0(~O01 --- cc - . .l 00 M -w U7 f
La.1 I 1044 f. 'D( ;1( ;(0 ;e :;Nw- C1 -OMWC0 O O NN.9 . 0 ... 01-4NN(01-01I! N .N .i
(00 04 co 1-O.( t0oC4 DN N10-10 P. r- cc0 I. ; VO,4 ..fQ) . . . . ..0 . a N M O O- 0
1 003 N .. .Q .*0* . N- - . -
in r. 0 Ch0 0 gl "l -40m wt v01. v0 : -0
00400 -4 )10-0~1flOO0 N.--4 -C, .- oa0O 1
O-liO-0 O n (04 1 ci to(In41-Il1- 00 .N-
in 0. -C0 10NC. 0 -01C;0 *-03 C 4 .M n-E m -01000r-. cc F. 0 W1 v C(00 1 0 * 4 .f
.,q; a C; U Tv-.-W)."i1-NQi- .- CO4---N -NM 0m v040( *NCam 14.3;0*; O* 00 . 4;..M0 Ci P: V; QNM14~01 W~01* -. 11-0O-0- ION m N
MN - .. :n V. o.......... V M 2 ;(D i
-- .N -~ 0 in.... n i -01 1;!C'4-W- 0 0 ON- N
In a a
r- Ncc c 0 N C; 1 0 W; ; (03 1 4i A m-
10 1- 0 -NI4 0 1- 0-N~4 0 1- 0 -4 00- 0O Nt4La- 00.N) 10 1N N N N N~~)f t 'D m 44 44 '111111111 1 't 00001 pi 2 1 1----! 1
44444444444*444444I! C, - r4 4 *4 444 4 4 4 4 404 r. -' -CocaOO. OO OOO.OOOaOOOItOO OOIliO OO OO OO OOV O
in -0 -M M6I
ci () - In- ; 0O.-:WcM0_ -_ Um -- -9-
-- w--m -c v0 -21
-WO N (0
0) ;N M . N -0 .- T1 ... c-F 2. 4a- NO 0)----eN,-ton,
(A- ('40 '1 0 -- -t9- 9U)W 0 *- Nw * - . . In 2 00 V* -in0) -- 0(;
0N4 -0004-CN V C- 4 W(- (a omm
0 - *- -- -0 -Il ' 4 0 - . . .. .e ."C2 -N0%0 M10V-N N-w0 -9 N O N 00 N-N (A CO z -- 0
0;C 9;-- N 0- -- 00 - ; .0 - N 0 "n 0--9N;30-NI -9-.-N 0 * -00 -- ;00 *0 (0) . .. . e .- .- I -
r N- F 4C M N0) *N0 (4 It -NO 0)2 -- (0) -l vi ItW -
t-N n .0((. -- N . D -O ON . bn-wqN-N9-vvO9-4Omw-9N o 04. 0) -. 0. -W-i0 --
wl a z 0 - r-N --ON* NO V-Ng 99 -- In N in 00 in0( -- N UA -- N0C4 la4C4 -N 9 09 - 0( 0 4t 0: t--- . .' . .n ol -.' -O -c- A-tl Ii.. t0N-0 0) O-N900 -N Q -900)1 o (NN- -
N~~ -O -00NOP- )NO009 4(0(((0 0)O0 01 c0
-q t4 1- 02-- ; nP:2 -4in0f9- . .N9 . .000 . . . N . . 1 -OON -N N I N00l0 -N V . )q -0 N N O 0 N N 90 C4 IN- in Ul 11 -(;0 -. -
F--9 ) 0-- 0 -- N C; 0--- -; q; (40C j0 -4MC
14 N---90N;O 0 -- 0 v0)002-0) UJ -X.. 0.9(( .-)N . . W- O VN 9
-0o -0- - - 0 NO N -O -0 N -- AC I l U - toN0NN0
ON -0) VIn0 - 0NO0 4 n-*I -0 f 0-0-N -- 0)0-- U 0) N -- 0NN9NNNN0 NNN-NOON IA O0NN - 4 OC.(0)00-N0
- - 9 -. J 0)90(0-9-00) UJ --- -00
*~ 76
j Wn*60
M --
>- 0I I
10
100 U -u VI
go a >f.- 1093aU.1 Z W -( A I
j- - 1 X I- >.>Of- t- a. -Al'6A-4
> I.- -C >r- cc0 XW . + + Ll. in-i acE *- .- LW c z
C 4. A-I U U 2fA Z .M- cc- OL w
-C -4 >.I t0o 211. .ZO) IL ( -0.7.-0 N flg Il- cc -- Z
In . z*a2 I .M -0o >2 -- 4 UA X Ia. 1- 4(fl >'a > £>LW . ( W * .- wA-J 0V4 Zc >C L A1 04- 441 .- .9 - Z .. i---.. * #A I--40. 0 u t.- - - .W CJ if -. I 4x> Z- J --L
Z -- 0 Cc Jul* -'-- I- Wo W ) .- 10 )1 -CI-CC v W 2l 2 L .m-0 w W 0 * 0 X I- I- 2 *-Z =nJ- 8 L > a
C0- N L >.I U --* WZVI Z .. A X Zn inI z -- AZ4 Z>WI ui* * -1 Z 0 .>IJ ) ax fl~wU wII UI0w 0..
-W- C. 44 4 I- '--' '-U 0. IIZZ).- U -. Z JX J WA,CL I - a >00 ~ w cc a * loWM XX -- a.J 0K .w* U
Z K w- I-.= f-.J >' i ag >z -Cx ~ I-- " ;.-.ZIP > 9 xZ ZW >O~ lu41 ZI 91.l4- IL w EU Z.i-a *.19z
-4 U 0. *. * 01.>
4Zu. UIA Z~ >69
z -
In
4 I& a
41 = = -
1- 090AJt t f- z
Z V 0 U.1W
I-. 4 .
'*0 0 A4 CIUz 00.-. a kWZ9c
K -- N touA0W AUi WI Zjv 0 0 0 00 r r r - I U
ti 0- - Z N 4-_j ..cc zV)0 0a -4 U.A 24 11 1Z Z4- cu )w
P-V)= - cd C2U >1 N -a.3 u aI IO.I- a0a - 40>> > > > > >> > >
11 xUZ W4 --- **(J zo4 "Jl4. - U Q-~ I. x 4 UJ
j Zu *..zz m0 0-N(,Y0IxO0-qxf-6
11.c1m I. Z44441 - OW - 4.-Al-40-0 a- = ... J.4 I- I119t18I-I I-gI I- lmil4fl i, -J a..4I
2. 0 WU CIAZZZ AC UW 0IuJgja OW 44 11 W£ IL m 3 LZ z .- W ----- Z0
4Wt 0F d 1)V oP D 0 NVlWW o-~$U P. 4 0 M£ N V ££ 0 £0 0V 0£ N 0£ N M V 0
IoWonIn lssow SUSS 000000.000 -W -. - -- --
000000000040000000000 000 00---------------------0N00
70
,0
7
I ~ L NI AIUI
0 0 0 39 lo
>. I- I-0 4 - 11.-
-A 45 - - - - - 40 W
zm
cc 0 ZA O0 4A0 1 0g-C
o a ( Co a. C aC 0 coo 0 1&1 =. MA
0~ W'SrC CI 3- U- ' I- -g Z -nI w o- - & V ' . 4; Ix in 1zU 0 c "
*u A I.- tollll M1- -9 m go- ( . 0 4 -. 1 go 110 a-C zn U.a . .- 119 - 11 + -
Z ; 0 ; 1 J- gn1 Z P- ,... in ,0 - z 1" IA
Z Cl -2 -- c 09 CO Ic +4 -itIA.z11U.- W. Z: *-W > 0J a0 -- J9J .. -. L .
7777 It t1 us oSo-- 0 4.0 N -- 0 -- oZ9 C 0 It to 1. U IAC . t .
• *-Caaaa . ,-N 0 i- Zu l-.
II .I.I.II .. lo L I,,, 3 w m c L .0 o a,aJ i ... .. In W uI o- 2 A a a .-IL ,
916 It-U (16 916 C .0. x 0 0w9010. cOm u -. 1.U. 0J O 0 P- 0 0-. %A 11 #A go -C .
,-i z..4 2. ,-II o- .. - IS- 1 ,,--,., in -.. ..J WW ...... -- II IA . ,.~ M OJi.. ,,, .,)1- o ,,,,,J9,,, IL ) l Z
¢U .I "V MA W W.0J 0- 0 . ,.'1/ ." . .-MA.E*Z 4.
"* ) I( I- 1-1-1-l** " ' OMkO -4.**. I IIJC 1L0.J ., U-* * ,
.v .. ,ZU --UZ -- . .zMM-W, ,* . "W Z. "A 10 u z1-1 - . ,
71I
"U ** -3W3MA O *"*in"* *,0- 4 AIAIW U ** ** .* J 3. *, 00 -*, . 01£.4 ,-,-.-,,,-.WW. . o,-4...M ,,00...0 02 00 . .
ooooeooooeoooooooooooooooooeoooooooooooooooooooo L-
71 '
z
J00
> WA
-~ 1-
N. .2 21 z 1;
2- 11 0t0t 11JA 4A 11 :
Cc 0 22- I .I J UJ
I2 ce 00A0 "I C
44 4a -C iJA
0 aa z -00 L0 .zU> W U -000 0 :;
3 14 W..ol 4 A4 c z 0 m I-(
,AC~ Z4 -- -- Z M- wx m ." ZZ .o- .. . .- (lulW O
0z 1-4w ww v 49m t-- -4 o-a i - '
N0 0 14 J.
0 3Vt t .4 31a C w 00P 0 as0 N -W to4 0 r-C 0 tI 0P oq %MVi ar oalamo m o co co ------ *
0000 I- 4cocococc ui 00 -acocoocoo
4 - * -0. . *41f *.. 114 72U
C;S
us Cf
tuS
us z us
z z Z:
CL AJ *U Lu
LuI4(A
J a, .. . 0z a. 1- - -
A. 0u. Au. 44I - hi- A J Af -. r- 0c 1 a xj12 - I-
U Z I -L (A UA -C 41.4-j 0-IU Lui 0.: ( n0 -o u =us - . a *wU
z U *u C .- - j u -.cc w 0 0-2- .*0 00 Z1M u c 0 C; W0 L> 0 0.' j-- 1 (5 a 0 i- .
aO J. w f1- IL 1.. >~f AO L --! IL 11 1.- &~l .-mV0 mVI- w z j -Z
f* 1- - 0 -0 it IA (A (A 0- (ACL z- ij 11 0- US Ifl 1 M C. X( U. -1 a.-I-
00. A. CL.U 0L I.-* .. a . nL a- A 4tZL #A U0 0 " =La at-A- J uWZ -I.-.. *. _j L " 0 Ma Cieco QW -C U w9X B 0U 0 2 W.-CLu IihJL -w £ £ Cc 0.UJ -'-h mI
= 4 ul Z. 0 -~ 00IL. Wo" MO 0 3 OUV.. 0.6 hA I--.I 0.00 .Z 0l IL £ I-2 LU. J -at z 0 - 00.-.. Ll -C t 3 *.AU 0'- u 0. -C£U lAW .4*AJU
0-..0 I 0.- d- 0 0'0 us.1 0- > L II 01'- IICc. .f~.. .- 1 I,.L .A0.0 M0A Z £- 01 u '-. 0 A Z £- 01
~ ~ .-. IlL34.~0 .- I-u VI173
0 0l
ItL>
a:0l 0 *. Wu M.
4- W 0 2- C;at- a ..A 44 0 I
440 I- .. . 0 u
0I- .4e LU aI >w- a- 0 00+
CC IA 2j 0.A L ;- A-2 Z A.
-~ IL 0~ -0 IL- * *. V*-+ +
a 1- .. 1- I- ... 4 4
- Wa. ui- L -L U W
- 0 *£ 4r .2 _j -VI - f0.U" Mae0 - mU- 4
i-i- wo - - J. > 9L4- 9-2.. £ 44 z Z ~- =2a I
-u wV x04 9 - >. w) >.
a O az P- 494 U- .1 4-. .. = -- .0- 2IZ; >- IW C 4W- -- CZ£ -01 Z' U WA ku
"-£VI 0- SWW j W U W -I- W 0 0 ILI9-09- -- I 9.-.IO£ a 9 +WOVIW £0 >2 91 0IX UU W-Z 242x 00 - W0£-00- 9-.
44 $A Wi = 24-C0 Z 4 -- 9-..E-0 9-440 LW-. W ZZ 9I-U 0 4A v Z.4 Vi to1- 4VI.0j AI C0.I.
JVI O - UU ZW U-9J.J m ~-.JV J U (AJ 0 >> VU I w a - 07 .- UW -z 0-.0w jVinw CA U Cc-44a- - - 4£ 99 - -Z Z 24C- WVIA Cc0 uA.>IWWVI A-V N'- 0-> LU(z> Z2.- - J. 4I W. VI -4 111 4.. CL 0
LU L J 04W -W W OZ 4 A *.W- WVI 2 - -W WA. L x £cj X I--.. " j W 2 U- I£Z 4C VIW4 X W -ZW4W .0.j L> LW Luus
- I 1 4L o j- > -- 0- WWl 4J-.- '-0 M 4W 4W04.-- >I--IL -29. "0 ILVI > l LU 11 110 w U. 9 UA 40.. > IL " -U. 0I2 0 >' I 129P- VI) 0 4CW 13 1 1U .49-L 0W 0. tI-9L E W
> 44W> 2>2 #-U at E LU I2 X-4 9- IU *-IL 2LMS.0 QZ x luWI A ..- JAV > 0-4A CL uj 1 .- x- -E - " 9- = I- a "M-.Z.-£- W9 C.W i ui
W - L4I- (5Wu A. Z 2-VI CA A 2 (L Z 9-.- m"' £0m x >0 CL C0Wj . .W -Z* VIV W . Z=4 A.'-A. VI m Z a a.£wIa -M UVI 1> >_
9- Z -.- W '- LWw L9-Q 0 IL - -- Z WU0 ZA..--C..Z it -9- 9--4 9W 3 s a£ - ££ Z.. *. U' I- W £4 0 wI- LU - W ZU A. x
32 Ul 32VI£. .. c0 02.J -. 22- -- 0j -. ZW9- "t9- "I- -Z. ZWWWW
LU 32UU(Je 0 0310 U* zom-.£3wo03£ 0 U. uILU4uLU 00 '-'- 4W A3 IL 3Z 0'- 24wjmL 3&L 32 2. Ul.. LU
a.A A. 0. U.
74
cc .- . us
4*J 0 a
a we-aCa
- 4.us-. 39
2 *j CLa 2
tU 0 W0l -J . U -UW usu1 - M 4
a. cc4i UU S-CCzza aA( W OWZ -. Z LU atU0 W N >i. . -Z Z1 n If zW
P2 Q NI a
-w wW. a. wCL0 inj 4c dc 4 (i-awoo; - w *- ar- 14 -m 0 - nWI JIc 4 i cc u 41I- co Z1 WI4 a L v o X
a . LU I ICMU- U Wn 0Q Z - - +-- 0 4 1"- - 10- 0.> m 4 w 0 - . O a -- CL .- Z- 0. Zt1 I
I-0 c UI1 l o.- LU "4 X OX a~ in W NW; I119 MIX I- - . 1 1