126
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|I EhIhhEEEIhhII IIIIIIIIIIIIIIl IIIIIEIIIIIII IIIIIIIIIIIIIIlfflffl IIIIEEIIIIIII

RD-A146 EE|hE|hEEE|I EhIhhEEEIhhII IIIIIIIIIIIIIIl ... · requires an 80 column format for its input which is a priai-tive list or the set of functions taat the controller will perform,

  • 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