| OCR Text |
Show 25 Defstruct(Transition(!:Constructor(MkTrans),!:Prefix(Trans!-)) Label (NIL), Type (NIL), MOVE,FORK,JOIN,-AFTER TName (NIL), Join-States (NIL), Condition (NIL), Next-State (NIL), Unconditional-Outputs (NIL), Conditional-Outputs (NIL))$ A complete state machine would have been fully described by using State and Transition "Defstructs" as they were used in ASSASSIN [3, page 90]. However, to provide a highly interactive graphical design aid, which is the main purpose of GCS, the geometrical information is needed. The graph "Defstruct", which contains the graphical information, includes the following fields: Defstruct(Graph(!:Constructor(MkGraph),!:Prefix(Graph!-)), Origin (NIL), TextPosition (NIL), InLabel (NIL), OutLabel (NIL))$ Predefined symbols are used to represent different objects in a graphical state machine. A rectangle is used for a state. The Origin field in the Graph "Defstruct" remembers the absolute coordinate of the upper-left corner of the rectangle. The TextPosition remembers the starting coordinate of the state name text. InLabel and OutLabel fields are, respectively, lists of transition labels which end in or originate from this state. They are basically used for the purpose of updating. The Arc "Defstruct" which contains the graphical information as well as connection information, and has the following fields: |