@DATABASE GOOSA.guide
@AUTHOR   James T. Steichen
@$VER: 1.5 (for GOOSA 1.5) by J.T. Steichen

@WORDWRAP

@WIDTH 80
@TAB   3
@INDEX "Index"
@TOC   "Index"

@REMARK            FONT  helvetica.font 13

@REMARK TType  is for highlighting tooltypes:
@MACRO  TType  "@{FG FILL}@{B}$1@{FG TEXT}@{UB}"

@REMARK CTitle is for Centering & Highlighting section titles:
@MACRO  CTitle "@{FG SHINE}$1@{JCENTER}@{FG TEXT}"

@REMARK MI     is for Highlighting menu items:
@MACRO  MI     "@{U}@{B}$1@{UB}@{UU}"

@REMARK BU     is for Highlighting button names:
@MACRO  BU     "@{U}@{I}@{B}$1@{UI}@{UU}@{UB}"

@REMARK ST     is for Highlighting string gadget names:
@MACRO  ST     "@{FG SHINE}@{I}$1@{FG TEXT}@{UI}"

@REMARK LV     is for Highlighting ListView gadget names:
@MACRO  LV     "@{FG FILL}@{I}$1@{FG TEXT}@{UI}"

@NODE "Index" "GOOSA - main index:"

   I.   License & legal terms.

        a. @{" Warranty     " LINK "warranty"} -- (Are you kidding?) 
        b. @{" Distribution " LINK "Distribution"} -- What comes with GOOSA
        c. @{" Author       " LINK "Author"} -- Who is this Guy?

   II.  Before you begin...

        a. @{" General information        " LINK "Main"}
        b. @{" What you need to use GOOSA " LINK "Requirements"}
        c. @{" What you need to know      " LINK "UserKnowledge"}
        d. @{" Installation & backups     " LINK "Installation"}
        e. @{" Running the program        " LINK "startup"}
        f. @{" Editor Panels              " LINK "Editors"}
        g. @{" Tool Types                 " LINK "tooltypes"} -- Hurray, Someone who uses them!

   III. Detailed explanations

        a. Context Model - Abstraction of the system boundaries, what's
                           inside the system, what's outside.
           1. @{" Context System Table      " LINK "CSTCard"}
           2. @{" Context Descriptive Entry " LINK "CDECard"}
           3. @{" Context System Diagram    " LINK "CSDCard"}

        b. Information Model - Understanding of static information in the
                               system.
           1. @{" Information Structure Table   " LINK "ISTCard"}
           2. @{" Information Descriptive Entry " LINK "IDECard"}
           3. @{" Information Structure Diagram " LINK "ISDCard"}

        c. Behavior Model - Understanding of dynamic information in the
                            system.
           1. Object Communication Model
              a.) @{" Object Communication Table   " LINK "OCTCard"}
              b.) @{" Object Communication Diagram " LINK "OCDCard"}

           2. State Model
              a.) @{" State Transition Table   " LINK "STTCard"}
              b.) @{" State Transition Diagram " LINK "STDCard"}

           3. Process Model - Operations performed on the data (Actions
                              in the BDE are processes).
              a.) @{" Process Descriptive Entry " LINK "PDECard"}
              b.) @{" Process Flow Diagram      " LINK "PFDCard"}

           4. @{" Behavior Descriptive Entry " LINK "BDECard"}

        d. @{" Requirements Traceability Matrix " LINK "RTMCard"} 

        e. @{" User Technical Notes             " LINK "UserReqNotesCard"}

   IV.  Miscellaneous
   
        a. @{" Key to documentation " LINK "DocsKey"}

@ENDNODE

@NODE "Main" "General Object-Oriented System Analysis & Design"
@PREV Index
                          @{FG SHINE} GENERAL INFORMATION @{FG TEXT}
@{B}
   G.O.O.S.A. @{UB}(General Object-Oriented System Analysis) is a Computer
   Aided Software Engineering (CASE) program that allows the user to inter-
   actively enter User Requirements (as they become known) & System Capa-
   bilities as they are put together.  The general philosophy behind this
   program is to allow the user of it to enter various parts of a software
   (& hardware?) system into a database, then view it as a table or dia-
   gram.  A glance at the @{" main navigation panel " LINK "MainCard"} will show that related
   panels are grouped together.  Also, GOOSA tries to be extremely flexible
   in that it makes it easy to choose which types of software modelling
   you wish to use, Flow diagrams, State & Behavior, or Object definition &
   communication, or the entire enchilada!

   For all of you professional programmers out there, I shouldn't have to 
   explain why this is a program that should be available to Amiga pro-
   grammers.  For everyone else, see 
   @{" what we programmers have to put up with! " LINK "BadExample"}
   
   GOOSA has been put together with the idea of keeping the User interface
   as consistent as possible.  This means that all editors have @{B}Add, 
   Modify & Delete@{UB} buttons as well as @{B}Prev & Next@{UB} buttons, for 
   navigating through all parts of the entered data records.  Related 
   panels (or cards, to use the @{B}CanDo! @{UB}nomenclature) are tied to-
   gether with buttons that move the user from one to the other (example:  
   The CDE display is tied to its editor, the CST panel & the CSD panel).

   For each panel that uses a numbering scheme, the user is free to come
   up with whatever numbering that they choose, but it is suggested that
   you use the recommended numbering that @{B}GOOSA@{UB} expects.  These recommend-
   ations are specified in the documentation where these numberings can
   be entered (see @{"Composite Editor" LINK "EditCompositeCard"}, for example).

   Every Database that you create will be saved in a collection of files.

      For example: @{FG SHINE}
   
      GOOSA.Assocs
      GOOSA.Attrs
      GOOSA.BDEs
      GOOSA.Caps
      GOOSA.CDEs
      GOOSA.Comps
      GOOSA.IDEs
      GOOSA.Norms
      GOOSA.OCTs
      GOOSA.PDEs
      GOOSA.Procs
      GOOSA.Rels
      GOOSA.Reqs
      GOOSA.States
      GOOSA.Subs
      GOOSA.Supers
      GOOSA.TechNotes @{FG TEXT}

   See Also, @{" Index " LINK "Index"}, @{" Documentation Key " LINK "DocsKey"}  

@ENDNODE

@NODE "DocsKey" "What the various highlights in the documentation mean:"
@PREV Main
@{FG SHINE}
   Here is what the various types of highlighting mean in 
   this @{AMIGAGUIDE} help file: @{FG TEXT}
   
   @{B}Key words & important things to remember.@{UB}

   @{FG SHINE} NOTES @{FG TEXT}

   @{CTitle "Categories"}    
   @{JLEFT}
   @{MI "Menu Items"}
    
   @{BU "Button Gadgets"} 

   @{ST "String Gadgets"}

   @{LV "ListView Gadgets"}
    
   @{TType "available ToolTypes"}

   @{" Links to more help (Main) " LINK "MainCard"}

@ENDNODE

@NODE "startup" "GOOSA - Running the system:"
@PREV Main

  The GOOSA system is invoked by typing the command @{B}GOOSA@{UB}
  or by clicking on the GOOSA icon.
  The program will open its own windows on the workbench.  Using the 
  @{" ToolTypes " LINK "ToolTypes"} stored in the icon, the program will load whatever DataBase
  is specified by the @{TType "DefaultDataBase"} ToolType. Once GOOSA has
  displayed its @{"startup logo" LINK "TitleCard"}, simply press the @{B}Start@{UB} button to begin using
  the program.
  
  @{" Then what? " LINK "MainCard"}

@ENDNODE

@NODE "Requirements" "GOOSA - Requirements:"
@NEXT distribution
@PREV Main

   @{B}REQUIREMENTS
   ~~~~~~~~~~~~@{UB}
   @{B}GOOSA@{UB} uses DeckBrowser which is Copyrighted (c) by InovaTronics.
   I've included a copy of it with my distribution.  It should be placed
   in the command path where the Amiga OS can find it (example: @{B}C:@{UB})
   If you have cando.library or the CanDo! (c) program, you can use
   GOOSA_Small (see the .readme file) along with DeckRunner instead.

   Besides the complete @{B}GOOSA@{UB} @{"distribution" LINK "Distribution"}, the following items are 
   @{FG SHINE}required@{FG TEXT} in order to run the program:

   The following fonts are used & required by GOOSA:
   
       Helvetica - 13
       Times     - 24
       Topaz     - 8,9,11
   @{FG SHINE}
   WARNING:@{FG TEXT}  There is no error checking for the presence of these fonts,
             so watch out!

   C:
       DeckBrowser (CanDo! (c) support program).
       
   68000 or better microprocessor.

   AmigaDOS 2.04+    

   Hard disk space.
   
         
@ENDNODE

@NODE "warranty" "NO warranty for GOOSA:"
@PREV Main
@NEXT Requirements

   @{B}NO WARRANTY
   ~~~~~~~~~~~@{UB}
   There is no warranty for this software package. Although the @{" Author " LINK "Author"}
   has tried to prevent errors, he can't guarantee that the software 
   package described in this document is 100% reliable.  In fact, I can
   certainly guarantee that there are some problems in the code.  You are
   therefore using this material at your own risk.  The author cannot be
   held responsible for any damage which is caused by using this software
   package.  @{FG SHINE}Hey, what do you want for free?@{FG TEXT}

   (See @{" Disclaimers " LINK "Disclaimers"})

   I would appreciate any bug reports & I would suggest that you send them
   via e-mail to my attention:  @{B}jsteic1957\@aol.com@{UB}

   There are also some areas of the program that have not been fully
   implemented yet because of limitations of CanDo!  If anybody can tell
   me how to implement Super BitMaps in CanDo! windows, maybe I'll be able
   to finish these display panels (PFD, OCD, ISD & STD).

@ENDNODE

@NODE "distribution" "GOOSA distribution:"
@PREV Main

   @{B}DISTRIBUTION
   ~~~~~~~~~~~~@{UB}
   This software package is @{B}ShareWare@{UB}. It may be put on any
   media which is used for the distribution of ShareWare, like Public
   Domain disk collections, CDROMs or FTP servers.

   In order to ensure the integrity of this software package, distributors
   should use the complete original distribution. The author cannot be held
   responsible if this software has become unusable due to modifications
   of the distribution contents or of the distribution files themselves.
   There is no limit on the costs of the distribution, e.g. for the media,
   like floppy disks, streamer tapes or compact disks, or the process of
   duplicating.  Such limits have been proven to be harmful to the idea of
   shareware, i.e., instead of reducing the price of the
   floppy disk below the limit, the software was simply removed from the
   master disk.

   Although the @{" Author " LINK "Author"} does not impose any limit on the 
   distribution of this software, he would like to express his personal 
   opinions on this matter:

   * This software package should be made available to everyone free of
     charge whenever it is possible (so they can send me money instead ;)).

   * If you have acquired this software package under normal conditions
     from a Public Domain dealer on a floppy disk at a price higher than
     US $5, then you have definitely paid too much.  Please don't
     support this improper profit making any longer and switch to a
     less expensive source as soon as possible.

   The following files form the complete distribution of @{B}G.O.O.S.A.@{UB}:
   
   GOOSA
   GOOSA.info
   GOOSATitle.iff
   
   DBaseManager
   DeckBrowser
   
   Help/
      GOOSA.guide
      GOOSA.guide.info
      
   DBase/                   - Example database of the Program itself.
      GOOSA.Assocs
      GOOSA.Attrs
      GOOSA.BDEs
      GOOSA.Caps
      GOOSA.CDEs
      GOOSA.Comps
      GOOSA.IDEs
      GOOSA.Norms
      GOOSA.OCTs
      GOOSA.PDEs
      GOOSA.Procs
      GOOSA.Rels
      GOOSA.Reqs
      GOOSA.States
      GOOSA.Subs
      GOOSA.Supers
      GOOSA.TechNotes

@ENDNODE

@NODE "Editors" "GOOSA - General Information on the Editors:"

   In general, all editors have the following components & abilities:
   @{FG SHINE}
   ADD@{FG TEXT}
   - This button inserts space into the internal Records for the
     item that the panel is an editor for.  Before pressing this 
     button, make sure that @{B}ALL@{UB} Textfields, buttons & Lists contain 
     the desired information for the additional Record, in order to
     save time re-editing & using the @{B}MODIFY@{UB} button. 
   @{FG SHINE}
   MODIFY@{FG TEXT} 
   - This button changes the current internal Record to the contents
     of the other button, string  & list gadgets.  Before pressing 
     this button, edit @{B}ALL@{UB} Textfields, buttons & Lists that you wish
     to change for the current Record.    
   @{FG SHINE}
   DELETE@{FG TEXT} 
   - This button removes the current internal Record from memory.
     @{FG SHINE}WARNING!:@{FG TEXT}  Once a Record is deleted, it @{B}CANNOT@{UB} be recovered!
   @{FG SHINE}
   NEXT@{FG TEXT}
   - This button advances the display to the next internal Record.
   @{FG SHINE}
   PREV@{FG TEXT}   
   - This button regresses the display to the previous internal
     Record.
   @{FG SHINE}
   Various string gadgets@{FG TEXT} 
   - You enter your data into the string gadgets.
   @{FG SHINE}
   List gadgets@{FG TEXT} 
   - Where necessary, the list gadget allows you to enter an
     arbitrarily large text description for the internal
     Record.  Other list gadgets simply display selectable
     items (Objects, Attributes, etc.) that you may select
     & place in the appropriate string gadget(s).  The editor
     usually does this for you.
   @{FG SHINE}
   Other buttons@{FG TEXT} 
   - Some editors have boolean selectors for data, Most 
     editors have buttons that permit navigation through the
     various panels that are related to whatever data you're
     currently editing.

   @{FG SHINE}
   PROJECT menu@{FG TEXT}  - These menu items are mainly for file manipulation &
                   printing.
   @{FG SHINE}
   SORTS   menu@{FG TEXT}  - These menu items allow you to change how the data is
                   sorted on the editor panel.
   @{FG SHINE}
   Close Window gadget@{FG TEXT} - This gadget returns you to the 
                                   @{" main interface panel " LINK "MainCard"}.

   For specific information on a given editor see:
   
       @{" Edit User   Requirements " LINK "EditUserReqCard"}
       @{" Edit System Capabilities " LINK "AddSysCapCard"}

       @{" Edit CDE     " LINK "EditCDECard"}
       @{" Edit IDE     " LINK "EditIDECard"}
       @{" Edit BDE     " LINK "EditBDECard"}
       @{" Edit PDE     " LINK "EditPDECard"}
       @{" Edit Process " LINK "EditProcessCard"}
       @{" Edit CST     " LINK "EditCSTCard"}
       @{" Edit OCT     " LINK "EditOCTCard"}
       @{" Edit STT     " LINK "EditSTTCard"}

       @{" Relation Editor    " LINK "EditRelationCard"}   
       @{" Object Editor      " LINK "EditNormalObjectCard"} 
       @{" Composite Editor   " LINK "EditCompositeCard"}  
       @{" Association Editor " LINK "EditObjectAssocCard"}
       @{" SuperType Editor   " LINK "EditSuperCard"}
       @{" SubType Editor     " LINK "EditSubCard"}

       @{" Edit Attributes    " LINK "EditAttributesCard"}
   
@ENDNODE

@NODE "UserKnowledge" "GOOSA - User knowledge:" 

    It is recommended that you have some knowledge of object-oriented
    programming, be that in C++, Ada, Smalltalk, or some other programming
    language.
    
    Please follow the recommendations found in this guide concerning how to
    use the program; the program expects certain symbols to mean certain 
    things (see @{" Symbology " LINK "Symbology"}).
    
@ENDNODE

@NODE "Symbology" "GOOSA - Symbols & what they mean:"

   It is recommended that you use the following symbols which have the
   definitions stated here, for all Object numberings:
   @{FG SHINE}   
   *@{FG TEXT}   - Object Identifier.
   @{FG SHINE}   
   .@{FG TEXT}   - Separates Object number from Attribute number.
   @{FG SHINE}
   ,@{FG TEXT}   - Separates #.# (Object.Attribute) pairs.
   @{FG SHINE}
   [@{FG TEXT}   - Start of Capability string.
   @{FG SHINE}
   ]@{FG TEXT}   - End of Capability string.
   @{FG SHINE}
   Q@{FG TEXT}   - Start of the Requirement Question number.
   @{FG SHINE}
   :@{FG TEXT}   - End of the Requirement Question number.
   @{FG SHINE}
   &@{FG TEXT}   - Concatenates Object Identifiers.
   @{FG SHINE}
   +@{FG TEXT}   - Concatenates SubTypes.
   @{FG SHINE}
   <->@{FG TEXT} - Indicates an alias.
   @{FG SHINE}
   R@{FG TEXT}   - Relationship number.
   @{FG SHINE}
   A@{FG TEXT}   - Association number.
   @{FG SHINE}
   S@{FG TEXT}   - SuperType Object number.
   @{FG SHINE}
   C@{FG TEXT}   - Composite Object number.
   @{FG SHINE}
   N@{FG TEXT}   - Normal Object number (i.e., NOT R, A, S or C).
   @{FG SHINE}
   P@{FG TEXT}   - Process number.
   @{FG SHINE}   
   !@{FG TEXT}   - Store (optional).
   @{FG SHINE}
   !!@{FG TEXT}  - Store always.
   @{FG SHINE}
   E#@{FG TEXT}  - Event number (external to the system).
   @{FG SHINE}
   X#@{FG TEXT}  - External (to the system) Event.
   @{FG SHINE}
   I#@{FG TEXT}  - Internal (to the system) Event.
   @{FG SHINE}
   T#@{FG TEXT}  - Temporal (internal to the system) Event.
   @{FG SHINE}
   A#@{FG TEXT}  - Action number (@{FG SHINE}NOTE:@{FG TEXT}  these might be confused with Association
         numbers, except that they won't ever appear in the same areas of
         the program, or your data; therefore it should be clear from the
         context what the numbers represent, either Association numbers or
         Action numbers.  If you prefer, specify the Action numbers as
         Ac# to avoid all confusion).
   @{FG SHINE}
   /- or -/@{FG TEXT}  - Indicates an inaction in STD & STT.

@ENDNODE

      
@NODE "Installation" "GOOSA - Installation:"

   Simply create a directory on the hard disk that you want @{B}GOOSA@{UB} to 
   reside in & copy the Archive file into it.  De-compress the archive.
   Finally, make a logical assignment to the Goosa directory.  If any of
   this is beyond your capabilities, you probably shouldn't be using this
   program.
   
   Example:
   
      Copy GOOSA.lha DH0:Goosa/

      CD   DH0:Goosa

      Lha  extract Goosa.lha

      Add @{B}Assign GOOSA: DH0:Goosa/@{UB} to your S:User-Startup script file.
      
@ENDNODE

@NODE "TitleCard" "GOOSA Title card:"
@NEXT MainCard
   The first part of the program that you see is the Title panel, where the
   program does its initialization.  Press the @{B}Start@{UB} button in order to 
   get to the @{" main " LINK "MainCard"} panel.
   
@ENDNODE

@NODE "MainCard" "GOOSA Main card:"
@PREV Main

   From this panel, the User can access any part of the @{B}G.O.O.S.A.@{UB} program.
   The most-used parts have button gadgets in the panel.  There are also
   menus that access less-used parts of the program.
   
   @{"Information Descriptive Entry" LINK "IDECard"}  @{"Object Communication Diagram" LINK "OCDCard"}
   
   @{"Information Structure Diagram" LINK "ISDCard"}  @{"Object Communication Table" LINK "OCTCard"}
   
   @{"Information Structure Table" LINK "ISTCArd"}    @{"State Transition Diagram" LINK "STDCard"}
   
   @{"Context Descriptive Entry" LINK "CDECard"}      @{"State Transition Table" LINK "STTCard"}
   
   @{"Context System Diagram" LINK "CSDCard"}         @{"Behavior Descriptive Entry" LINK "BDECard"}
   
   @{"Context System Table" LINK "CSTCard"}           @{"Process Flow Diagram" LINK "PFDCard"}
   
   @{"Technical Notes" LINK "UserReqNotesCard"}                @{"Process Descriptive Entry" LINK "PDECard"}
   
   @{"System Capability" LINK "SysCapsCard"}              @{"Process" LINK "ProcessCard"}
   
   @{"User Requirements" LINK "UserReqsCard"}
   
   @{"Requirements Traceability Matrix" LINK "RTMCard"}
   
   @{"Make a Report" LINK "ReportMakerCard"}

                                  @{"Relation Editor " LINK "EditRelationCard"}  @{"Object Editor" LINK "EditNormalObjectCard"} 
   
                                  @{"Composite Editor" LINK "EditCompositeCard"}  @{"Association Editor" LINK "EditObjectAssocCard"}
                                  
                                  @{"SuperType Editor" LINK "EditSuperCard"}  @{"Edit Attributes" LINK "EditAttributesCard"}
                                  
                                  @{"SubType Editor  " LINK "EditSubCard"}
   
   See Also, @{" Menus " LINK "MainMenus"}
    
@ENDNODE

@NODE "MainMenus" "Menus for the Main control panel:"

   Herein are the menu item descriptions for the Main Panel:
      @{FG SHINE}
      PROJECT @{FG TEXT}

      @{MI "Load...    (A-L)"}    Load a database into the program.

      @{MI "Save       (A-S)"}    Save all data into the current database filename.

      @{MI "Save As... (A-A)"}    Save all data into a different database filename.

      Print >>
         @{MI "To File... (A-F)"}
         @{MI "To PAR:    (A-P)"}
         @{MI "To SER:"}
      
      @{MI "DataBase..."}         Switch to the @{" Record Keeper " Link "RecordKeeperCard"} panel.
      
      @{MI "Quit          (A-Q)"} Exit the @{B}GOOSA@{UB} program.

      @{FG SHINE}
      EDITORS @{FG TEXT}

      @{MI "Edit CDE...       (A-C)"}  Switch to the @{"Edit CDE" LINK "EditCDECard"} panel.

      @{MI "Edit IDE...       (A-I)"}  Switch to the @{"Edit IDE" LINK "EditIDECard"} panel.
    
      @{MI "Edit User Req'... (A-U)"}  Switch to the @{"Edit User Requirements" LINK "EditUserReqCard"} panel.

      @{MI "Edit Behavior...  (A-B)"}  Switch to the @{"Edit BDE" LINK "EditBDECard"} panel.

      @{MI "Edit PDE...       (A-R)"}  Switch to the @{"Edit PDE" LINK "EditPDECard"} panel.

      @{FG SHINE}
      BEHAVIOR @{FG TEXT}
 
      @{MI "Edit ToolTypes..."}        Switch to the @{"Edit ToolTypes" LINK "EditToolTypesCard"} panel.
      
@ENDNODE

@NODE "RecordKeeperCard" "GOOSA Record Keeper card:"

   This panel allows you to perform housekeeping chores on the entire
   project database that's currently in memory.  This part of @{B}GOOSA@{UB} will 
   translate your project from the internal @{B}CanDo! @{UB}proprietary IFF FTXT
   into DBase III-type records that can be used by other database programs.

   This part of the program uses the DBaseManager that's distributed with
   GOOSA.  DBaseManager is mostly a collection of DBase III functions with
   an attached ARexx port.
    
   Most of the functionality of the panel is contained in the Menus.
   
   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "FileName"}
   - Enter the base name (NO extensions) of the database here. 

   @{ST "ID"}
   - Enter the identifier of the Record to go to in here.

   @{CTitle "Buttons"}
   @{JLEFT}
   @{BU "Type"} - This gadget displays the type of the current record.
   
   @{BU "First"} - Display the contents of the first record in the database.

   @{BU "Next"}  - Display the contents of the next record in the database.

   @{BU "Prev"}  - Display the contents of the previous record in the 
           database.

   @{BU "Last"}  - Display the contents of the last record in the database.
   
   @{CTitle "List Viewers"} 
   @{JLEFT}
   @{LV "DataBase Record"} 
   - Displays the contents of the currently selected record.

   @{LV "Write Buffer"}
   - Enter what you want to write to the database into this list viewer.

   @{CTitle "Menus"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Create... (A-C)"} - Create a new user-defined database.
     @{MI "Open...   (A-L)"} - Open the user-defined database.
     @{MI "Close     (A-S)"} - Close the current database.
     @{MI "Search"}          - Search for the given ID in the database.
     @{MI "Read"}            - Read the current database.
     @{MI "Write"}           - Write the Write Buffer to the database.
     @{MI "Delete"}          - Mark the current record as @{B}deleted@{UB}.
     @{MI "Undelete"}        - Unmark the deleted record. 
     @{MI "ShutDown"}        - Exit the DBaseManager program.
        
   @{FG SHINE}RECORDS @{FG TEXT}
     @{MI "First (A-T)"} - Same as the First button.
     @{MI "Next  (A-N)"} - Same as the Next  button.
     @{MI "Prev  (A-P)"} - Same as the Prev  button.
     @{MI "Last  (A-B)"} - Same as the Last  button.
         
@ENDNODE

@NODE "ReportMakerCard" "GOOSA Report Maker card:"

   This is where the user can see the overall design of the system he/she 
   is working on.  Depending on which menu items under the @{I}Reports@{UI} menu 
   are selected, the user can see all or parts of the system under design.
   Within the ToolTypes list in the @{B}GOOSA@{UB} icon, the user can set 
   up a default list of which reports ReportMaker's Reports menu will en-
   able.  @{B}GOOSA@{UB} looks for a string like the following (which will
   enable everything) in the ToolTypes list of its icon: @{B}
    
   @{TType "ReportConfig"}=UR|CST|CDE|IST|IDE|OCT|STT|BDE|PDE|RTM
   @{FG SHINE}
   NOTE:@{FG TEXT}  Technical Notes can only be printed & saved from the
          Technical Notes panel! @{UB}

   @{ST "SearchGadget"}  - The user enters a string to search for in the report
                   into this gadget.

   @{ST "ReplaceGadget"} - The user enters a string to replace the search string
                   with into this gadget.

   @{LV "Text Area (Unlabeled)"}     
   - The report that is placed here is fully editable by the user.  It is 
     recommended that you save the generated report to a file, where you 
     can edit it with a fully functional Text Editor of your choosing.

   See Also, @{"ReportMaker Menus" LINK "RMMenus"}

@ENDNODE

@NODE "RMMenus" "GOOSA - ReportMaker available Menus:"
@PREV "ReportMakerCard"
   
   Herein are the menu item descriptions for the ReportMaker Panel:
      @{FG SHINE}
      PROJECT @{FG TEXT}
      @{MI "Preview (A-P)"} 
      - Will generate a report based on which Report menu items are checked.
        The user can edit the report before it is saved or printed.

      @{MI "Print To File (A-F)"} 
      - Will get a filename from the user & then save the displayed text 
        to the filename specified.

      @{MI "Print To PAR:"}
      - Will send the displayed text to the parallel port.

      @{MI "Print To SER:"}
      - Will send the displayed text to the serial port.

      @{MI "Reset Report Menu"}
      - Sets the checks in the Reports menu items according to the 
        @{TType "ReportConfig"} ToolType in the @{B}GOOSA@{UB} icon.

      @{MI "Clear Report Menu"}   
      - Clears all checks in the Reports menu items, which means that no 
        report will be generated.
      
      @{FG SHINE}
      EDITOR @{FG TEXT}

      @{MI "Search By Whole Word"} 
      - will search for the string in the Search string gadget & stop only
        when it finds an identical string surrounded by white space.

      @{MI "Search By Whole Word Ignore Case"} 
      - does the same thing as Search By Whole Word, except it ignores
        case differences as well.

      @{MI "Search Ignore Case Only"}
      - will search for the first string, or sub-string within a larger 
        string, until it finds a match, ignoring case differences.

      @{MI "Search Default"} - search for string or substring with matching case.

      @{MI "Replace By Whole Word"} 
      - will replace the string in the Search string gadget (with the 
        string in the Replace string gadget) & stop only when it finds an 
        identical string surrounded by white space.

      @{MI "Replace By Whole Word Ignore Case"}
      - does the same thing as Replace By Whole Word, except it ignores
        case differences as well.

      @{MI "Replace Ignore Case Only"} 
      - will replace the first string, or sub-string within a larger 
        string, ignoring case differences.

      @{MI "Replace Default"} - replace string or substring with matching case.

      @{MI "Replace All By Whole Word"} 
      - will replace the string in the Search string gadget (with the 
        string in the Replace string gadget) & stop only when 
        it finds an identical string surrounded by white space.  This 
        search & replace is done on the whole report.
 
      @{MI "Replace All By Whole Word Ignore Case"} 
      - does the same thing as Replace By Whole Word, except it ignores 
        case differences as well.

      @{MI "Replace All Ignore Case Only"} 
      - will replace the first string, or sub-string within a larger 
        string, ignoring case differences.

      @{MI "Replace All Default"} - replace string or substring with matching case.


      @{MI "Top of Report    (A-T)"} - goes to the first line of the report.

      @{MI "Bottom of Report (A-B)"} - goes to the last line of the report.

      @{MI "Next Page        (A-N)"} - moves the cursor down 30 lines in the report.

      @{MI "Prev Page        (A-H)"} - moves the cursor up 30 lines in the report.

      @{MI "Delete To EOL    (A-Y)"} 
      - deletes the characters from the cursor to the end of the current
        line.
 
      @{MI "Delete Line      (A-K)"} - deletes the entire line the cursor is on.

      @{FG SHINE}
      REPORTS @{FG TEXT}

      @{MI "User Requirements"}
      - a check here will make GOOSA report the user requirements.

      @{MI "Context System Table"}
      - a check here will make GOOSA report the context system table.

      @{MI "Context Descriptive Entry"}
      - a check here will make GOOSA report the context descriptive 
        entries.

      @{MI "Information Structure Table"}
      - a check here will make GOOSA report the information structure 
        table.

      @{MI "Information Descriptive Entry"} 
      - a check here will make GOOSA report the information descriptive 
        entries.

      @{MI "Object Communication Table"}
      - a check here will make GOOSA report the object communication table.

      @{MI "State Transition Table"}
      - a check here will make GOOSA report the state transition table.

      @{MI "Behavior Descriptive Entry"}
      - a check here will make GOOSA report the behavior descriptive 
        entries.

      @{MI "Process Descriptive Entry"}
      - a check here will make GOOSA report the process descriptive 
        entries.

      @{MI "Requirements Traceability Matrix"} 
      - a check here will make GOOSA report the requirements traceability 
        matrix.

@ENDNODE

@NODE "EditToolTypesCard" "GOOSA Edit ToolTypes card:"
@PREV Maincard

   There is only one list gadget that displays the ToolTypes from when the 
   program was started.  You can reset this list by selecting the @{MI "Load"} menu
   item from the @{FG SHINE}PROJECT@{FG TEXT} menu.  The changes you make won't be sent to the
   icon @{B}until@{UB} you select the @{MI "Save"} menu item.  Press the close gadget in 
   order to return to the @{" Main panel " LINK "MainCard"}.
   
   See Also, @{" Recognized Tool Types " LINK "ToolTypes"}
    
@ENDNODE

@NODE "UserReqNotesCard" "GOOSA User Requirement Technical Notes card:"

   This panel displays (& allows you to edit) any Technical Notes that 
   pertain to the system-under-design.  Later, you will have to interpret
   these notes (or at least review them!) in order to generate the 
   requirements that the user wants in the system-under-design.
   (See @{" User Requirements " LINK "UserReqsCard"} panel).

   @{CTitle "List Viewer (unlabeled)"}   
   @{JLEFT}
   This is where the technical note is entered.
      
   @{CTitle "Text Fields"}   
   @{JLEFT}
   @{ST "Requirement Name:"}
   - Enter a unique & meaningful name for the requirement.

   @{ST "Requirement #:"}
   - Enter a number (greater than zero) for the requirement.

   @{ST "Cross Reference:"}
   - Enter a related name for the requirement.
   
   @{ST "Search for:"}
   - In order to search for a string in the Technical Note, you must
     first enter a string here then select the search menu item that you
     wish to use.
     
   @{ST "Replace with:"}
   - In order to replace any string in the Technical Note, enter a search
     string in the Search for gadget, then enter a replace string in this
     gadget.  Finally, select a Replace menu item that you wish to use.

   @{CTitle "Menus"}   
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     See @{" ReportMaker EDITOR menu items " LINK "RMMenus"} for a description
     of the menu items available for this panel.

   @{CTitle "Buttons"}   
   @{JLEFT}
   @{BU "Return to Main"}
   - Return to the @{"main control" LINK "MainCard"} panel.
   
   @{BU "System Capabilities"}
   - Go to the @{"System Capabilities" LINK "SysCapsCard"} display panel.

   See Also, @{" General Editor Information " LINK "Editors"} for other buttons.

@ENDNODE

@NODE "UserReqsCard" "GOOSA User Requirements card:"

   This panel displays all currently defined User Requirement Records.
   
   @{CTitle "List Viewer (unlabeled):"}   
   @{JLEFT}
   This is where the User Requirements are displayed.

   @{CTitle "Menus"}   
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"}
     - Load in the User requirements from the filename selected by the user.
       @{FG SHINE}NOTE:@{FG TEXT}  GOOSA enforces a suffix of @{B}.Reqs@{UB} for this filename.
   
     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the other menu items available for this panel.

   @{CTitle "Buttons"}   
   @{JLEFT}
   @{BU "Return to Main"}
   - Return to the @{"main control" LINK "MainCard"} panel.
   
   @{BU "System Capabilities"}
   - Go to the @{"System Capabilities" LINK "SysCapsCard"} display panel.

   @{BU "Req's Traceability Matrix"}
   - Go to the @{"Requirements Traceability Matrix" LINK "RTMCard"} display
     panel.

   @{BU "Make an Entry"}
   - Go to the @{"User Requirements editor" LINK "EditUserReqCard"} panel.

@ENDNODE

@NODE "EditUserReqCard" "GOOSA User Requirements Editor card:"
@PREV UserReqsCard
   
   This panel is where User Requirements are entered into the currently
   loaded project database.

   @{CTitle "List Viewers:"}
   @{JLEFT}
   @{LV "Objects:"}
   - A list of all currently loaded objects.  Selection of an item will
     change the Attributes list view to reflect the attributes of the 
     selected object. 

   @{LV "Attributes:"}
   - A list of the attributes associated with the currently selected 
     object.

   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Input Object:"}
   - Enter the name of the object that is required to generate the output
     in order to meet the requirement.

   @{ST "Attribute:"}
   - Enter the name of the object's attribute that's required to generate 
     the output in order to meet the requirement.

   @{ST "Output Object:"}
   - Enter the name of the object that will meet the requirement for the
     given input Object.Attribute.

   @{ST "Attribute:"}
   - Enter the name of the Attribute that will meet the requirement for the
     given input Object.Attribute.

   @{ST "Requirement #:"}
   - Enter the number that corresponds to the user requirement.  I 
     recommend that you use @{B}UR@{UB} as a prefix for the number (optional).

   @{ST "# Req's:"}
   - The number of requirements in the current database.

   @{ST "# Cap's:"}
   - The number of capabilities in the current database.
    
   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return to IST"}
   - Go to the @{"Information Structure Table" LINK "ISTCard"} display panel.
   
   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}
   
     @{MI "Save       (A-S)"}
     - Save all User Requirements in the @{TType "DefaultDBase"} filename, appended
       with @{B}.Reqs@{UB}.
   
     @{MI "Save As... (A-A)"}
     - Save all User Requirements in user-defined filename, appended
       with @{B}.Reqs@{UB} (for backup?).

   @{FG SHINE}
   SORTS @{FG TEXT}

     - These are self-explanatory.
   
   See Also, @{" General Editor Information " LINK "Editors"}   

@ENDNODE

@NODE "SysCapsCard" "GOOSA System Capabilities card:"
@PREV MainCard

   This panel displays how the system-under-design meets the user's
   requirments.
   
   @{CTitle "List Viewer (unlabeled):"}
   @{JLEFT}
   - Displays all of the currently known system capabilities from the 
     database.
     
   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return to Main"}
   - Return tto the @{"main control" LINK "MainCard"} panel.
   
   @{BU "User Requirements"}
   - Go to the @{"User Requirements" LINK "UserReqsCard"} display panel.
   
   @{BU "Req's Traceability Matrix"}
   - Go to the @{"Requirements Traceability Matrix" LINK "RTMCard"} display
     panel.

   @{BU "Make an Entry"}
   - Go to the @{"System Capabilities editor" LINK "AddSysCapCard"} panel.
   
   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"}
     - Load a user-defined database of system capabilities from the filing
       system. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a suffix of @{B}.Caps@{UB} for this filename.
     
     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

   See Also, @{" Meaning of Capability Strings " LINK "CapStrings"}

@ENDNODE


@NODE "AddSysCapCard" "GOOSA System Capabilities Editor card:"
@PREV SysCapsCard

   This panel allows you to enter system capabilities as they become
   implemented (or planned or wished for??).
   
   @{CTitle "List Viewers:"}
   @{JLEFT}
   @{LV "Requirements List:"}
   - a list of the currently defined requirements.
   
   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Capability #:"}
   - a number or string that is assigned to the currently displayed 
     capability.  I recommend something like @{B}CAP@{UB}#### (optional).
   
   @{ST "Input[O#.q#]O#.A#:"}
   - a description of the input & question number that the capability is
     designed to satisfy. (See @{" Meaning of Capability Strings " LINK "CapStrings"})
     
   @{ST "Description:"}
   - A short description of what the capability is.
   
   @{ST "Output O#.A#:"}
   - A string that describes how the capability meets the requirement.
     (Cap[].ReqString).
     
   @{ST "Requirement:"}
   - A short description of what the requirement is.
   
   @{ST "Requirement #:"}
   - the Requirement number that the capability satisfies (@{B}UR@{UB}###).
    
   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Save       (A-S)"}
     - Save all capabilities in the @{TType "DefaultDBase"} filename appended 
       with @{B}.Caps@{UB}.

     @{MI "Save As... (A-A)"}
     - Save all capabilities in the user-defined filename appended with 
       @{B}.Caps@{UB}.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return to Req's"}
   - Go to the @{"User Requirements" LINK "UserReqsCard"} display panel.
   
   @{BU "Return to IST"}
   - Go to the @{"Information Structure Table" LINK "ISTCard"} display panel.
   
   See Also, @{" General Editor Information    " LINK "Editors"}   

@ENDNODE

@NODE "CapStrings" "GOOSA Capability String Structure:"
@PREV AddSysCapCard

   Capitalize Object Strings.  Capitalize the first letter of an 
   Attribute string.
   
   Capability String structure:
   @{FG SHINE} 
   Cap Type:  Object Name:  Object ID Flag[]     Output ID Flag
      |            |                |                  | 
      |            |                |                  |
      |   :--------:         :------:           :------:
     \\|/  |          :-------:                  | @{FG TEXT}
      R@{FG SHINE}   |          |       |                  | @{FG TEXT}
      A@{FG SHINE}  \\|/        \\|/     \\|/                \\|/@{FG TEXT} 
     [S   #  Q#: #.#(*), #.#(*), #.#, ... ] #.#(*)
      C@{FG SHINE}          \\ /     \\ /     \\ /        \\ /@{FG TEXT}
      N@{FG SHINE}           |       |       |          |
                  |       |       |          |  
                  :-------|-------:          :-------------:
                          |                                |     
             InObjectNum[].InAttributeNum[]    OutObjectNum.OutAttributeNum 
   @{FG TEXT}
   Input                         Output
                                 @{FG SHINE}
   R - RelationShip              &@{FG TEXT}   - Concatenates Object Identifiers
                                 @{FG SHINE}
   A - Association               +@{FG TEXT}   - Concatenates SubTypes
                                 @{FG SHINE}
   S - SuperType                 <->@{FG TEXT} - Indicates an alias.

   C - Composite

   N - Normal Object

   @{FG SHINE}   
   *@{FG TEXT}   - Object Identifier.
   @{FG SHINE}   
   .@{FG TEXT}   - Separates Object number from Attribute number.
   @{FG SHINE}
   ,@{FG TEXT}   - Separates #.# (Object.Attribute) pairs.
   @{FG SHINE}
   [@{FG TEXT}   - Start of Capability string.
   @{FG SHINE}
   ]@{FG TEXT}   - End of Capability string.
   @{FG SHINE}
   Q@{FG TEXT}   - Start of the Requirement Question number.
   @{FG SHINE}
   :@{FG TEXT}   - End of the Requirement Question number.
   @{FG SHINE}
   R@{FG TEXT}   - Relationship number.
   @{FG SHINE}
   A@{FG TEXT}   - Association number.
   @{FG SHINE}
   S@{FG TEXT}   - SuperType Object number.
   @{FG SHINE}
   C@{FG TEXT}   - Composite Object number.
   @{FG SHINE}
   N@{FG TEXT}   - Normal Object number (i.e., NOT R, A, S or C).
   @{FG SHINE}
   P@{FG TEXT}   - Process number.
   @{FG SHINE}   
   !@{FG TEXT}   - Store (optional).
   @{FG SHINE}
   !!@{FG TEXT}  - Store always.
   @{FG SHINE}
   E#@{FG TEXT}  - Event number (external to the system).
   @{FG SHINE}
   X#@{FG TEXT}  - External (to the system) Event.
   @{FG SHINE}
   I#@{FG TEXT}  - Internal (to the system) Event.
   @{FG SHINE}
   T#@{FG TEXT}  - Temporal (internal to the system) Event.
   @{FG SHINE}
   A#@{FG TEXT}  - Action number (@{FG SHINE}NOTE:@{FG TEXT}  these might be confused with Association
         numbers, except that they won't ever appear in the same areas of
         the program, or your data; therefore it should be clear from the
         context what the numbers represent, either Association numbers or
         Action numbers.  If you prefer, specify the Action numbers as
         Ac# to avoid all confusion).
   @{FG SHINE}
   /- or -/@{FG TEXT}  - Indicates an inaction in STD & STT.

   STT:                            STD:
   
      A#/NextState#                Event/Action


   [P obj#: proc_cap#]
   
   Common Processes:
      Delete
      Retrieve (read)
      Add
      Write

@ENDNODE

@NODE "RTMCard" "GOOSA Requirements Traceability Matrix card:"
@PREV Maincard

   This panel shows the user requirements & the system capabilities.  From
   this information, any discrepancies in the system-under-design can be
   found.
   
   @{CTitle "List Viewer (unlabeled):"}
   @{JLEFT}
   - A GOOSA-generated list with the following format: 

     ???????????????????????????????????????????????????
     
   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return to Main"}
   - Return tto the @{"main control" LINK "MainCard"} panel.
   
   @{BU "User Requirements"}
   - Go to the @{"User Requirements" LINK "UserReqsCard"} display panel.

   @{BU "System Capabilities"}
   - Go to the @{"System Capabilities" LINK "SysCapsCard"} display panel.

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

@ENDNODE

@NODE "CDECard" "GOOSA Context Decsriptive Entry (CDE) card:"
@PREV MainCard

   This panel shows how the Context Descriptive Entry text will be printed
   or filed.

   CDE stands for @{I}Context Descriptive Entry@{UI}.  These entries describe how
   the system receives & sends information to its terminators.  A term-
   inator is either a @{B}Source, Sink,@{UB} or @{B}Source & Sink@{UB} of information 

   (example:  a Dumb Terminal = Source & Sink).


   @{CTitle "List Viewer (unlabeled):"} 
   @{JLEFT}
   - This is where GOOSA displays what is in the database for CDE's.  
     The SystemTitle is the same for all CDE's in a given database, hence 
     it's only displayed at the top of the list of terminators.  The re-
     lationship shown is how the terminator is related to the system-under-
     design.  This is followed by the name of the terminator & its type 
     (@{B}Source, Sink, or Source & Sink@{UB}).

   @{CTitle "Buttons"}
   @{JLEFT}
   @{MI "Return To Main"}
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{MI "Make An Entry"}
   - sends the user to the @{"Context Descriptive Entry" LINK "CDECard"} editor panel.

   @{MI "Context System Table"}
   - sends the user to the @{"Context System Table" LINK "CSTCard"} display panel.

   @{MI "Context System Diagram"} 
   - sends the user to the @{"Context System Diagram" LINK "CSDCard"} display panel.

   @{CTitle "Menus"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"} 
     - Load a selected file into the GOOSA program.  
       @{FG SHINE}NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.CDEs@{UB} for 
                         this panel.

     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

@ENDNODE

@NODE "EditCDECard" "GOOSA Context Descriptive Entry (CDE) Editor card:"
@PREV CDECard

   Enter the new text in the string Gadgets & press return.  Edit all text 
   fields that need it in a similar fashion.  Select either the @{B}Source,
   Sink,@{UB} or @{B}Source & Sink@{UB} button to determine the terminator type.  
   Once the text fields & @{B}Type@{UB} buttons are set up correctly, click & re-
   lease on the @{B}MODIFY@{UB} button in order for GOOSA to accept the new 
   data.  If you simply click on the @{B}Close window gadget@{UB}, 
   GOOSA will ask to save your work for you in the @{TType "DefaultDBase"} 
   filename with @{B}.CDEs@{UB} appended.
   @{FG SHINE}
   NOTE:@{FG TEXT}  GOOSA only uses the SystemTitle of the first CDE so that the user
          cannot get confused by entering different System Titles for each
          CDE.  This should save you some typing since you don't need to
          enter the System Title field for each CDE.

   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Title"}        - This is the System-under-design title.

   @{ST "Terminator"}   - This is the name of the terminator for this CDE.

   @{ST "Relationship"} - This describes how the terminator relates to the
                  system-under-design.
   
   @{ST "Object #'s"}   - This is a string of object numbers, separated by
                  commas, that pertain to the terminator's relationship
                  with the system-under-design.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Source Of Info"} - The terminator is an input device only.
   @{BU "Sink Of Info"}   - The terminator is an output device only.
   @{BU "Source & Sink"}  - The terminator is an input/output device.

   @{BU "Close Gadget"}   - This is how the user returns to the @{"CDE display" LINK "CDECard"} panel.

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Save       (A-S)"} 
     - Save the CDE data in @{TType "DefaultDBase"} filename appended
       with @{B}.CDEs@{UB}

     @{MI "Save As... (A-A)"} 
     - Save the CDE data in the user-given filename appended with @{B}.CDEs@{UB} 
       (For backup, perhaps?)
   @{FG SHINE}
   SORTS @{FG TEXT}
   - These are self-explanatory.
   
   See Also, @{" General Editor Information " LINK "Editors"}   

@ENDNODE

@NODE "IDECard" "GOOSA Information Descriptive Entry (IDE) card:"
@PREV MainCard

   This panel displays data on what's known about the static nature of the
   system-under-design.
   
   @{CTitle "List Viewer (unlabeled):"}
   @{JLEFT}
   - Displays the Information Descriptive Entries.
   
   @{CTitle "Buttons:"}
   @{JLEFT}
   @{MI "Return To Main"}
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{MI "Make An Entry"}
   - sends the user to the @{"Edit IDE" LINK "EditIDECard"} editor panel.

   @{MI "Information Structure Table"}
   - sends the user to the @{"Information Structure Table" LINK "ISTCard"} display panel.

   @{MI "Information Structure Diagram"} 
   - sends the user to the @{"Information Structure Diagram" LINK "ISDCard"} display panel.

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"}
     - Load IDEs from the user-defined filename.
       @{FG SHINE}NOTE:@{FG TEXT}  GOOSA enforces a suffix of @{B}.IDEs@{UB} for this filename.

     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

@ENDNODE

@NODE "EditIDECard" "GOOSA Information Descriptive Entry (IDE) Editor card:"
@PREV IDECard
   @{CTitle "Buttons"}
   @{JLEFT}
   @{BU "Normal Object"} - Press this button if you want the IDE to be considered a
                   Normal Object when the IDE is added to the database by
                   subsequently pressing the @{B}ADD@{UB} button.

   @{BU "Super Object"}  - Press this button if you want the IDE to be considered a
                   Super Object when the IDE is added to the database by
                   subsequently pressing the @{B}ADD@{UB} button.

   @{BU "Sub Object"}    - Press this button if you want the IDE to be considered a
                   Sub Object when the IDE is added to the database by
                   subsequently pressing the @{B}ADD@{UB} button.


   @{BU "Show Object List"} - Go to the @{"Object List Viewer" LINK "ObjListCard"} panel. 

   @{BU "Add Relationship"} - Pressing this button will change the display to the
                      @{"Edit Relationship" LINK "EditRelationCard"} display.  
                      @{FG SHINE}NOTE:@{FG TEXT}  you can only return to the @{"Main Control Panel" LINK "MainCard"}
                             from the relationship editor!

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Save      (A-S)"}
     -
     
     @{MI "SaveAs... (A-A)"}
     -
     
   @{CTitle "Text Fields"}
   @{JLEFT}
   (When you click in one of the textfields, the contents will be erased 
   & a cursor will appear.)

   @{ST "Object Name"} - A unique name for the Object that the IDE will describe.

   @{ST "IDs"}   - The attribute that the system-under-design will use to uniquely
           identify each object that the system will contain.

           Example:  1. DataBaseKey (*)
        @{B}
        Each attribute that is used as an identifier should have '(*)' as
        an indicator that the attribute is part of the Object's identity. 
        @{UB}
   @{ST "IDE #"} - User-assigned number for each Information Descriptive Entry.  
           It's recommended that the user start with the number one & as-
           sign succeeding integer values for each Information Descriptive 
           Entry.

   @{CTitle "List Viewers"}
   @{JLEFT}
   @{LV "Attribute Description:"} 
   - There must be one blank line separating each different attribute de-
    scription in order for @{B}GOOSA@{UB} to correctly display the IDE's in
    the IDE display window.  Each entry should contain the Object.Attribute
    number, followed by the Object.Attribute name.  The next line should be
    a brief description of what the Attribute is for.

   @{LV "Attribute Summary:"} 
   - ??????????????????????????????????????????????????

   @{LV "Domain:"} 
   - There must be one blank line separating each separate domain in
     order for GOOSA to correctly display the IDE's in the IDE 
     display window.

   @{LV "Object Description:"} 
   - A brief (less than 4096 characters, if you intend to use the Record 
     Keeper DBase III translation features) description of what the Object
     is & what it's used for.

   See Also, @{" General Editor Information " LINK "Editors"}   

@ENDNODE

@NODE "BDECard" "GOOSA Behavior Descriptive Entry (BDE) card:"
@PREV MainCard

   This panel shows how the Behavior Descriptive Entry text will be printed
   or filed.

   BDE stands for Behavior Descriptive Entry, each entry describes a par-
   ticular behavior for an object, what it does when it receives a certain 
   message, & what messages it sends to other objects in return.

   @{CTitle "List Viewer (unlabeled):"}
   @{JLEFT}
   (This is where GOOSA displays what is currently known about the behavior
   of the system under design.  No editing can be done here.)

   Here's a rough idea of what each field is:
   @{FG SHINE}
   Object #. Object Name

   Capability strings,...

   Question #        Question #        Question #        Question #
   Attr #1           Attr #2           Attr #3           Attr #4
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Question #        Question #        Question #        Question #
   Attr #5           Attr #6           Attr #7           Attr #8
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Behavior #     Object# State#,Object# State#,...

      Msg Source  Event#   Msg Destination

                  Action#
                     Action 
                        Details
                  GOTO TransitionTo END @{FG TEXT}

   @{CTitle "Buttons"}
   @{JLEFT}
   @{BU "Return To Main"} 
   - This button will return the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Make An Entry"}  
   - This button sends the user to the @{"EditBDE" LINK "EditBDECard"} panel,
     where new entries can be made, deleted or modified.

   @{CTitle "Menus"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"} 
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.BDEs@{UB} for this
              panel.

     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

@ENDNODE

@NODE "EditBDECard" "GOOSA Behavior Descriptive Entry (BDE) Editor card:"
@PREV BDECard
   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "BDE #"}    - Displays the behavior number, which the user can edit.

   @{ST "Thread #"} - Displays the Thread number string, which the user can edit.
              The following format is recommended:  
                 @{FG SHINE}
                 [B Object Number.Behavior Number] @{FG TEXT}

   @{ST "Enter Object State String"} 
   - This string gadget displays the Object# State# pairs associated with 
     the behavior being displayed.

   @{ST "Msg Src"} - Displays the message source that sends the event that triggers
             the behavior (usually a terminator or another object).

   @{ST "Sends Event"} - Displays the event that triggers the behavior.  The fol-
                 lowing nomenclature is recommended:
           @{FG SHINE}
           E###@{FG TEXT} - An ordinary event # (external to the object but
                  internal to the system).
           @{FG SHINE}
           X###@{FG TEXT} - An eXternal event # (external to the system).
           @{FG SHINE}
           I###@{FG TEXT} - An Internal event # (internal to the object). 
           @{FG SHINE}
           T###@{FG TEXT} - A  Temporal event # (internal to the system).

   @{ST "Msg To"} - Displays the message destination as Object# State#.  The first
            one in a thread usually agrees with the Thread # string.

   @{ST "Action #"} - Displays the action number string.  The following format is
              recommended:  @{B}A###@{UB}

   @{ST "Transition To Object State #"} 
   - Displays the Object# State# that is next in the thread.

   @{ST "Action Description"} 
   - Displays a comment that describes the action sequence, which the user
     can edit.

   @{CTitle "List Viewer:"}
   @{JLEFT}
   @{LV "Action Details"} 
   - Displays the atomic actions that the object performs for the given 
     Action #.  The following format is recommended:
                     @{FG SHINE}                 
                     A#.a  Event#  DestinationObject# State#
                     A#.b  Temp#   DestinationObject# State#, etc. @{FG TEXT}

   @{CTitle "Buttons"}
   @{JLEFT}
   @{BU "Close Gadget"}     - returns the user to the @{"Display BDE" LINK "BDECard"} panel.

   @{BU "Show Object List"} - sends the user to an @{"Object List display" LINK "ObjListCard"} panel.


   @{BU "GOTO STD"} - Sends the user to the @{"State Transition Diagram" LINK "STDCard"} panel.

   @{BU "GOTO STT"} - Sends the user to the @{"State Transition Table" LINK "STTCard"} panel.

   @{BU "GOTO OCT"} - Sends the user to the @{"Object Communication Table" LINK "OCTCard"} panel.

   @{BU "GOTO OCD"} - Sends the user to the @{"Object Communication Diagram" LINK "OCDCard"} panel.

   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}
    
     @{MI "Load...    (A-L)"}
     - Load a user-defined filename into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.BDEs@{UB} for this
              panel.

     @{MI "Save       (A-S)"}
     - Save the BDEs into the @{TType "DefaultDBase"} filename appended with @{B}.BDEs@{UB}.

     @{MI "Save As... (A-A)"}
     - Save the BDEs into the user-defined filename, appended with @{B}.BDEs@{UB}.
     
   @{FG SHINE}THREADS @{FG TEXT}

     @{MI "First Thread (A-B)"}
     - Display the first thread.
      
     @{MI "Next  Thread (A-N)"}
     - Display the next thread. 
      
     @{MI "Prev  Thread (A-P)"}
     - Display the previous thread.
      
     @{MI "Last  Thread (A-E)"}
     - Display the last thread.
      
     @{MI "DELETE Thread!"}
     - Delete the currently displayed thread.
       @{FG SHINE}WARNING:  There is no UnDelete action available, be careful! @{FG TEXT}
   @{FG SHINE}
   SORTS @{FG TEXT}      

     - These are self-explanatory.
     
@ENDNODE

@NODE "PDECard" "GOOSA Process Descriptive Entry (PDE) card:"

   @{CTitle "List Viewer (unlabeled):"}
   @{JLEFT}
   - This list viewer displays all currently known Process Descriptive
     Entries.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return To Main"} 
   - This button will return the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Make An Entry"} 
   - This button sends the user to the @{"Edit PDE" LINK "EditPDECard"} panel,
     where new entries can be made, deleted or modified.

   @{BU "Process Flow Diagram"}
   - Go to the @{"Process Flow Diagram" LINK "PFDCard"} display panel.
   
   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"}
     - Load in the user-defined filename, appended with @{B}.PDEs@{UB}.
       @{FG SHINE}NOTE:@{FG TEXT}  GOOSA enforces a suffix of @{B}.PDEs@{UB} for this panel.

     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

@PREV MainCard

@ENDNODE

@NODE "EditPDECard" "GOOSA Process Descriptive Entry (PDE) Editor card:"
@PREV PDECard

   @{CTitle "List Viewer:"}
   @{JLEFT}
   @{LV "Process Description:"}
   - A description of the Process.
   
   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Object Name:"}
   - Name of the Object performing the process.

   @{ST "Activity Name:"}
   - 

   @{ST "Object #:"}
   -

   @{ST "Activity #:"}
   -

   @{ST "Action Name:"}
   -

   @{ST "Process Name:"}
   -

   @{ST "Action #:"}
   -

   @{ST "PDE #:"}
   - Number for the PDE.  I recommend something like @{B}PR@{UB}#### (optional).

   @{CTitle "Buttons:"}
   @{JLEFT}
   See @{" General Editor Information " LINK "Editors"} for button info.

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Save       (A-S)"}
     - Save the PDEs into the @{TType "DefaultDBase"} filename appended with @{B}.PDEs@{UB}.

     @{MI "Save As... (A-A)"}
     - Save the PDEs into the user-defined filename, appended with @{B}.PDEs@{UB}.

@ENDNODE

@NODE "ProcessCard" "GOOSA Process viewer card:"
@PREV MainCard

   This panel displays data on system-under-design processes.

   @{CTitle "List Viewer (unlabeled):"}
   @{JLEFT}
   - Displays a list of all currently known processes.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return To Main"} 
   - This button will return the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Make An Entry"} 
   - This button sends the user to the @{"Edit Process" LINK "EditProcessCard"} panel,
     where new entries can be made, deleted or modified.

   @{BU "Process Flow Diagram"}
   - Go to the @{"Process Flow Diagram" LINK "PFDCard"} display panel.
   
   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"}
     - Load in the user-defined filename, appended with @{B}.Procs@{UB}.
       @{FG SHINE}NOTE:@{FG TEXT}  GOOSA enforces a suffix of @{B}.Procs@{UB} for this panel.

     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

@ENDNODE

@NODE "EditProcessCard" "GOOSA Process Editor card:"
@PREV ProcessCard

   @{CTitle "List Viewers:"}
   @{JLEFT}
   @{LV "Data Numbers:"}
   - Key numbers for each corresponding data name in the @{LV "Data Names"} list.

   @{LV "Data Names:"}
   - Names for each Data Store used by the Process.
   
   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Parent Name:"}
   - Owner of the Process.

   @{ST "Input Event:"}
   -
   
   @{ST "Process Name:"}
   - Name for the currently displayed Process.
   
   @{ST "Data Store Count:"}
   - How many different @{LV "Data Names"} there are.

   @{ST "Specification:"}
   -
   
   @{ST "Process #:"}
   - Number/String of the currently displayed Process.

   @{ST "Proc' Output:"}
   - What the Process generates (Object?, Number?).

   @{CTitle "Buttons:"}
   @{JLEFT}
   See @{" General Editor Information " LINK "Editors"} for button info.   

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Save       (A-S)"}
     -

     @{MI "Save As... (A-A)"}
     -

   @{FG SHINE}
   SORTS @{FG TEXT}

     - These are self-explanatory.  

@ENDNODE

@NODE "CSTCard" "GOOSA Context System Table (CST) card:"
@PREV MainCard

   This panel shows how the Context System Table text will be printed or 
   filed.

   CST stands for @{B}Context System Table@{UB}.  This table describes in a 
   summary fashion how the system receives & sends information to its 
   terminators.  A terminator is either a @{B}Source, Sink, or Source & Sink@{UB}
   of information (example: a Dumb Terminal).


   This is where GOOSA displays what is in the database for CST's.  The 
   System Title is the same for all CST's in a given database, hence it's 
   only displayed at the top of the list of terminators.  This is followed 
   by the name of the terminator ,its type (@{B}Source, Sink, or Source & Sink@{UB})
   & the list of Object numbers.

   @{CTitle "Buttons"}
   @{JLEFT}
   @{BU "Return To Main"} 
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Make An Entry"}  
   - sends the user to the @{"Context System Table" LINK "EditCSTCard"} editor panel.

   @{BU "Context Descriptive Entry"} 
   - sends the user to the @{"Context Descriptive Entry" LINK "CDECard"} display panel.

   @{BU "Context System Diagram"} 
   - sends the user to the @{"Context System Diagram" LINK "CSDCard"} display panel.

   @{CTitle "Menus"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"} 
     - Load a user-defined CDEs filename into the GOOSA program.  
       @{FG SHINE}NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.CDEs@{UB} for this
              panel.

     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

@ENDNODE

@NODE "EditCSTCard" "GOOSA Context System Table (CST) Editor card:"
@PREV CSTCard

   @{CTitle "List Viewers:"}
   @{JLEFT}
   @{LV "Objects:"}
   - List of all currently known Objects.
      
   @{LV "Terminators:"}
   - List of all currently known System Terminators.
   
   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Term' Name:"}
   - Name of the currently displayed system terminator.

   @{ST "System Title:"}
   - Name of the current System Title.

   @{ST "Object Numbers:"}
   - String of the Object numbers for the current CST entry.
   
   @{ST "Relationships:"}
   - Description of the Terminator.
       
   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Save       (A-S)"}
     -
   
     @{MI "Save As... (A-A)"}
     -
   @{FG SHINE}
   SORTS @{FG TEXT}

     - These are self-explanatory.
      
   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Source:"}
   - Terminator type is Source only (input only) .
   
   @{BU "Sink:"}
   - Terminator type is Sink only (output only).

   @{BU "Source & Sink:"}
   - Terminator type is Source & Sink (input & output).

   See Also, @{" General Editor Information " LINK "Editors"}   

@ENDNODE

@NODE "ISTCard" "GOOSA Information Structure Table (IST) card:"
@PREV MainCard

   @{CTitle "List Viewer (unlabeled):"}
   @{JLEFT}
   - Displays all of the currently known Information Structure Table 
     entries. 

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return To Main"} 
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Capability Editor"}  
   - sends the user to the @{"Edit Capabilities" LINK "AddSysCapCard"} panel.

   @{BU "Requirements Editor"}  
   - sends the user to the @{"Edit Requirements" LINK "EditUserReqCard"} panel.

   @{BU "Information Descriptive Entry"} 
   - sends the user to the @{"Information Descriptive Entry" LINK "IDECard"} display panel.

   @{BU "Information Structure Diagram"} 
   - sends the user to the @{"Information Structure Diagram" LINK "ISDCard"} display panel.

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

@ENDNODE

@NODE "OCTCard" "GOOSA Object Communication Table (OCT) card:"
@PREV MainCard

   @{CTitle "List Viewer (unlabeled):"}
   @{JLEFT}
   - Displays all currently known Object Communication Table entries.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return To Main"} 
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Make an Entry"}  
   - sends the user to the @{"Edit OCT" LINK "EditOCTCard"} panel.

   @{BU "Goto BDE"}  
   - sends the user to the @{"Behavior Descriptive Entry" LINK "BDECard"} display 
     panel.

   @{BU "Object Communication Diagram"} 
   - sends the user to the @{"Object Communication Diagram" LINK "IDECard"} display 
     panel.

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"}
     - Load in the user-defined filename, appended with @{B}.OCTs@{UB}.
       @{FG SHINE}NOTE:@{FG TEXT}  GOOSA enforces a suffix of @{B}.OCTs@{UB} for this panel.   

     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

@ENDNODE

@NODE "EditOCTCard" "GOOSA Object Communication Table (OCT) Editor card:"
@PREV OCTCard

   @{CTitle "List Viewer:"}
   @{JLEFT}
   @{LV "Events:"}
   - List of all currently known Events.  A click @{B}& release@{UB} on an item in 
     this list will set the Text Fields to the values clicked on.

   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Event Descrip':"}
   - A short description of the event.
   
   @{ST "Event Source:"}
   - Where the event comes from.
   
   @{ST "Event Sink:"}
   - Where the output of the event goes to.
   
   @{ST "Event Data:"}
   - Data that the event needs to perform its function.

   @{ST "OCT #:"}
   - the number/string of the currently displayed OCT.  I recommend some-
     thing like @{B}OCT@{UB}#### (optional). 
    
   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Show Objects"}
   - Go to the @{"Object List display" LINK "ObjListCard"} to select an Object.

   @{BU "Return to STT"}
   - Go to the @{"State Transition Table" LINK "STTCard"} display panel.
   
   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Save       (A-S)"}
     -
   
     @{MI "Save As... (A-A)"}
     -
   @{FG SHINE}
   SORTS @{FG TEXT}
   
     - These are self-explanatory.
     
@ENDNODE

@NODE "STTCard" "GOOSA State Transition Table (STT) card:"
@PREV MainCard

   This panel displays the State transition information as a table.
   
   @{CTitle "List Viewer (unlabeled):"}
   @{JLEFT}
   - A list of all currently known State Transition Table entries.  A
     click & release on an item in this list will pre-select what will
     be first displayed in the @{"STT editor" LINK "EditSTTCard"} panel.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return To Main"} 
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Make an Entry"}  
   - sends the user to the @{"Edit STT" LINK "EditSTTCard"} panel.

   @{BU "Goto BDE"}  
   - sends the user to the @{"Behavior Descriptive Entry" LINK "BDECard"} display 
     panel.

   @{BU "State Transition Diagram"} 
   - sends the user to the @{"State Transition Diagram" LINK "STDCard"} display 
     panel.

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"}
     - Load a filename (with the .States suffix) into the program.
   
     See @{" ReportMaker PROJECT menu items " LINK "RMMenus"} for a description
     of the PRINT >> menu items available for this panel.

@ENDNODE

@NODE "EditSTTCard" "GOOSA State Transition Table (STT) Editor card:"
@PREV STTCard

   This panel allows the user to Edit States information for the System-
   under-design

   @{CTitle "List Viewers:"}
   @{JLEFT}
   @{LV "States:"}
   - A list of all currently known States.  A click & release on an item in
     this list will alternatively set the @{ST "Current State"} or @{ST "Next State"}
     text field to the item clicked on, but ONLY if the respective text 
     field has been clicked on to empty it!

   @{LV "Events:"}
   - A list of all currently known Events.  A click & release on an item in
     this list will set the @{ST "Trigger Event"} text field to the item
     clicked on, but ONLY if the text field has been clicked on to empty 
     it!

   @{LV "Transitions:"}
   - A list of all currently known Transitions.  A click & release on an
     item in this list will update the display to the State you selected.

   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Current State:"}
   - Name of the Current State entry being displayed.
    
   @{ST "State #:"}
   - Number/String of the current State being displayed.

   @{ST "Trigger Event:"}
   - The event that starts the current State.
   
   @{ST "State Action:"}
   - The action that the current State performs.
   
   @{ST "Next State:"}
   - The State to go to after the current State is done performing its
     action.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Add Event"}
   - Go to the @{"Object Communication Table" LINK "OCTCard"} display panel.

   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Save       (A-S)"}
     -
   
     @{MI "Save As... (A-A)"}
     -
   @{FG SHINE}
   SORTS @{FG TEXT}
  
     - These are self-explanatory.

@ENDNODE

@NODE "CSDCard" "GOOSA Context System Diagram card:"
@PREV MainCard

   This panel shows the Context System Diagram. 

   CSD stands for Context System Diagram.  This diagram shows how the 
   system-under-design relates to its terminators & which direction infor-
   mation flows to/from the terminators. 

   In a pictorial form, all of the Context Descriptive Entry information 
   is shown here.  For simple systems this will consist of a single circle
   representing the system-under-design with an open-ended box representing
   the terminator.

   @{CTitle "Buttons"}
   @{JLEFT}
   @{BU "Return To Main"}
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Context Descriptive Entry"} 
   - sends the user to the @{"Context Descriptive Entry" LINK "CDECard"} display panel.

   @{BU "Context System Table"}
   - sends the user to the @{"Context System Table" LINK "CSTCard"} display panel.

   @{CTitle "Menus"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load... (A-L)"} 
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.CDEs@{UB} for this
              panel.

     @{MI "Print To File (A-F)"} 
     - save the displayed picture to the file the user selects.  The 
       picture is saved in IFF format.

@ENDNODE

@NODE "ISDCard" "GOOSA Information Structure Diagram card:"
@PREV MainCard

   This panel displays in graphical form how an IDE (Information Descrip-
   tive Entry) is constructed.

   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Object #:"}
   - Number/string of the Object currently being displayed.  Entering a
     new number/string will change the display to the given Object.

   @{ST "Name:"}
   - Name of the Object currently being displayed.  Entering a new name
     will change the display to the given Object.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return To Main"}
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Information Structure Table"} 
   - sends the user to the @{"Information Structure Table" LINK "ISTCard"} display panel.

   @{BU "Information Descriptive Entry"}
   - sends the user to the @{"Information Descriptive Entry" LINK "IDECard"} display panel.

   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load...       (A-L)"}
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.IDEs@{UB} for this
              panel.

     @{MI "Print To File (A-F)"} 
     - save the displayed picture to the file the user selects.  The picture
       is saved in IFF format.
   
@ENDNODE

@NODE "STDCard" "GOOSA State Transition Diagram card:"
@PREV MainCard

   This panel displays in graphical form how the States are inter-related.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return To Main"}
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "State Transition Table"} 
   - sends the user to the @{"State Transition Table" LINK "STTCard"} display panel.

   @{BU "Goto BDE"}
   - sends the user to the @{"Behavior Descriptive Entry" LINK "BDECard"} display panel.

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load...       (A-L)"}
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.States@{UB} for this
              panel.

     @{MI "Print To File (A-F)"} 
     - save the displayed picture to the file the user selects.  The picture
       is saved in IFF format.

@ENDNODE

@NODE "OCDCard" "GOOSA Object Communication Diagram card:"
@PREV MainCard

   This panel displays in graphical form how Objects communicate with
   each other.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return To Main"}
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Object Communication Table"} 
   - sends the user to the @{"Object Communication Table" LINK "OCTCard"} display panel.

   @{BU "Goto BDE"}
   - sends the user to the @{"Behavior Descriptive Entry" LINK "BDECard"} display panel.

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load...       (A-L)"}
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.OCTs@{UB} for this
              panel.

     @{MI "Print To File (A-F)"} 
     - save the displayed picture to the file the user selects.  The picture
       is saved in IFF format.

@ENDNODE

@NODE "PFDCard" "GOOSA Process Flow Diagram card:"
@PREV MainCard

   This panel displays in graphical form how a Process uses its Data.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return To Main"}
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Process Descriptive Entry"} 
   - sends the user to the @{"Process Descriptive Entry" LINK "PDECard"} display panel.

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load...       (A-L)"}
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.PDEs@{UB} for this
              panel.

     @{MI "Print To File (A-F)"} 
     - save the displayed picture to the file the user selects.  The picture
       is saved in IFF format.

@ENDNODE

@NODE "EditAttributesCard" "GOOSA Edit Attributes card:"
@PREV MainCard

   In this Editor, the user can enter, modify or delete attributes for
   any given object.  You should make a note of the Object Name & 
   Number/string & Type @{B}Before@{UB} jumping into this panel, since this is
   how GOOSA will tie the attribute into the database. 

   @{CTitle "List Viewer:"}
   @{JLEFT}
   @{LV "Attributes:"}
   - A list of all known attributes for the given @{ST "Parent:"} Object.
     Each object needs at least one attribute, its identification.  It's
     recommended that this ID be the first Attribute of all Objects.
   
   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Attr' Name:"}
   - Name for the currently displayed attribute.
   
   @{ST "Attr' #:"}
   - Number for the currently displayed attribute.
   
   @{ST "Parent #:"}
   - The Number/string of the Object that owns the currently displayed 
     attribute.  Ordinary Attributes (Not Relations, Associations or 
     Compositions) should be numbered as recommended: @{B}At@{UB}####.
     Composition attributes should have the same number as the Parent
     Composite Object (example:  C01).
     
   @{ST "Parent:"}
   - The Name of the Object that owns the currently displayed attribute.

   @{ST "Next Attrib':"}
   - The name of the next attribute after the currently displayed 
     attribute.
   
   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Parent Type:"}
   - A rollo-gadget that displays the Parent Object type for the currently
     displayed attribute.
     
   @{BU "Goto Normal"}
   - Go to the @{"Edit Normal Objects" LINK "EditNormalObjectCard"} panel.
   
   @{BU "Goto Relation"}
   - Go to the @{"Edit Relationship" LINK "EditRelationCard"} panel.

   @{BU "Goto Composite"}
   - Go to the @{"Edit Composite" LINK "EditCompositeCard"} panel.

   @{BU "Goto Assoc'"}
   - Go to the @{"Edit Normal Objects" LINK "EditObjectAssocCard"} panel.

   @{BU "Goto SuperType"}
   - Go to the @{"Edit Normal Objects" LINK "EditSuperCard"} panel.

   @{BU "Goto SubType"}
   - Go to the @{"Edit Normal Objects" LINK "EditSubCard"} panel.

   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}
  
     @{MI "Load...    (A-L)"}
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.Attrs@{UB} for 
              this panel.
   
     @{MI "Save       (A-S)"}
     - Save the Attributes's data in @{TType "DefaultDBase"} filename appended 
       with @{B}.Attrs@{UB}

     @{MI "Save As... (A-A)"} 
     - Save the Attribute's data in the user-given filename appended 
       with @{B}.Attrs@{UB}

   @{FG SHINE}
   ATTRIBUTES @{FG TEXT}

     @{MI "1st  Attribute (A-B)"}
     - Display the first attribute in the database.
     
     @{MI "Next Attribute (A-N)"}
     - Performs the same action as the NEXT button. 
     
     @{MI "Prev Attribute (A-P)"}
     - Performs the same action as the PREV button. 
     
     @{MI "Last Attribute (A-E)"}
     - Display the last attribute in the database.
     
   @{FG SHINE}
   SORTS @{FG TEXT}

     - These are self-explanatory.
     
@ENDNODE

@NODE "EditNormalObjectCard" "GOOSA Edit Object card:"
@PREV MainCard

   This panel is where Normal Objects are entered, modified or deleted.

   @{CTitle "List Viewers:"}
   @{JLEFT}
   @{LV "Attr #:"}
   - Correspond to the attributes shown in the attribute list.  These 
     numbers should start at one & go in consecutive order.

   @{LV "Attributes:"}
   - The various attributes of the currently displayed Object.  Each object
     needs at least one attribute, its identification.
     
   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Object Name:"}
   - Name of the currently displayed Object.
   
   @{ST "Attrib' Count:"}
   - A count of how many attributes belong to the currently displayed
     Object.
   
   @{ST "Object #:"}
   - Number/string of the currently displayed Object.  For Normal Objects
     GOOSA expects to see strings of the form @{B}N@{UB}#### (recommended).

   @{ST "Parent:"}
   - Name of the owner of the currently displayed Object.
   
   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Change to SuperType"}
   - Change the currently displayed Object to a SuperType Object.
   
   @{BU "Change to SubType"}
   - Change the currently displayed Object to a SubType Object.

   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}
  
     @{MI "Load...    (A-L)"}
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.Norms@{UB} for 
              this panel.
   
     @{MI "Save       (A-S)"}
     - Save the Object's data in @{TType "DefaultDBase"} filename appended 
       with @{B}.Norms@{UB}

     @{MI "Save As... (A-A)"} 
     - Save the Object's data in the user-given filename appended 
       with @{B}.Norms@{UB}

   @{FG SHINE}OBJECTS @{FG TEXT}
     @{MI "1st  Object (A-B)"}
     - 

     @{MI "Next Object (A-N)"}
     - 

     @{MI "Prev Object (A-P)"}
     - 

     @{MI "Last Object (A-E)"}
     - 

   @{FG SHINE}
   SORTS @{FG TEXT}
     - These are self-explanatory.
     
@ENDNODE

@NODE "EditRelationCard" "GOOSA Edit Object Relationship(s) card:"
@PREV MainCard

   Example of a relationship between Objects:

     Each Musical Composition has involved with it one or more Musicians.
     Stated the other way:  Each Musician is involved in some way with
     one or more aspects of a Musical Composition.

     Musical Composition is the @{ST "Relator"}, Musician is the @{ST "Related to"} Object,
     & @{B}has involved with it@{UB} is the @{ST "by Action"} of the Relationship.
      
   @{CTitle "List Viewers:"}
   @{JLEFT}
   @{LV "Attr' #:"}
   - Correspond to the attributes shown in the attribute list.  These 
     numbers should start at one & go in consecutive order.

   @{LV "Attribute List:"}
   - The various attributes of the currently displayed Object.  Each object
     needs at least one attribute, its identification.
 
   @{LV "Objects:"}
   - A list of all currently known Objects.
   
   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Formal Spec':"}

   @{ST "Parent:"}
   - The owner of the @{ST "Relator"} Object.
   
   @{ST "Relator:"}
   - The name of the currently displayed Object.
   
   @{ST "Related to:"}
   - The name of the Object that shares the Relationship.
   
   @{ST "by Action:"}
   - A description of how the Objects are related.
   
   @{ST "Relation #:"}
   - The number/string of the currently displayed Object.  I recommend
     the following: @{B}R@{UB}####.

   @{ST "Attrib' Count:"}
   - The number of Attributes that define the currently displayed Object.

   @{ST "Min (near Relator, ONE):"}
   - The minimum number of Relator Objects that enter into the Relation-
     ship.

   @{ST "Max (near Relator, MANY):"}
   - The maximum number of Relator Objects that enter into the Relation-
     ship.

   @{ST "Min (near Related to, ZERO):"}
   - The minimum number of Related to Objects that enter into the Relation-
     ship.

   @{ST "Max (near Related to, ONE):"}
   - The maximum number of Related to Objects that enter into the Relation-
     ship.

   @{ST "Relator Count (unlabeled)"}

   @{ST "Related Count (unlabeled)"}

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "ONE (near Related):"}
   - Only one Relator Object enters into the Relationship.

   @{BU "MANY:"}
   - More than one Relator Object enters into the Relationship.

   @{BU "ZERO:"}

   @{BU "ONE (near Related to):"}
   - Only one Related to Object enters into the Relationship.

   @{BU "or MANY:"}
   - More than one Related to Object enters into the Relationship.

   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}
  
     @{MI "Load...    (A-L)"}
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.Rels@{UB} for 
              this panel.
   
     @{MI "Save       (A-S)"}
     - Save the Relations's data in @{TType "DefaultDBase"} filename appended 
       with @{B}.Rels@{UB}

     @{MI "Save As... (A-A)"} 
     - Save the Relation's data in the user-given filename appended 
       with @{B}.Rels@{UB}
   
   @{FG SHINE}
   SORTS @{FG TEXT}
     - These are self-explanatory.
     
@ENDNODE

@NODE "EditObjectAssocCard" "GOOSA Edit Object Association(s) card:"
@PREV MainCard

   This panel allows the user to edit the database for Associative objects.

   An association describes how an object acts on one or more other 
   objects, for example, a programmer object @{FG SHINE}writes@{FG TEXT} program objects, 
   documentation objects, etc -- where @{FG SHINE}writes@{FG TEXT} describes the type of 
   association.  A dictionary is a practical example of an association,
   containing a group of keys (the word Objects) that are associated with 
   values (the definition Objects).

   @{CTitle "Text Fields"}
   @{JLEFT}
   These allow the user to enter data into the system-under-design:

   @{ST "This Object"}   
   - The name of the @{B}actor@{UB} object.

   @{ST "Parent"}        
   - The parent's name for the @{B}actor@{UB} object. 

   @{ST "Assoc Object"}  
   - The name of the @{B}acted-upon@{UB} object.

   @{ST "Assoc #"}       
   - The system number of this association.  I recommend a number of the
     form @{B}A@{UB}####.

   @{ST "# Of Attrib's"} 
   - How many attributes does the @{B}actor@{UB} object possess?

   @{ST "# Of Assoc'd Objects"} 
   - A count of how many different objects there are in the association. 

   @{CTitle "List Viewers:"}
   @{JLEFT}
   @{LV "Attr' #:"} 
   - Correspond to the attributes shown in the attribute list.  These 
     numbers should start at one & go in consecutive order.

   @{LV "Attribute List"} 
   - The various attributes of the @{B}actor@{UB} object.  Each object needs at 
     least one attribute, its identification.

   @{CTitle "Buttons"}
   @{JLEFT}
   @{BU "Show Object List"} 
   - Go to the @{"Object List" LINK "ObjListCard"} panel to select an object.

   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load...    (A-L)"} 
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.Assocs@{UB} for 
              this panel.

     @{MI "Save       (A-S)"} 
     - Save the Association object's data in @{TType "DefaultDBase"} filename appended 
       with @{B}.Assocs@{UB}

     @{MI "Save As... (A-A)"} 
     - Save the Association object's data in the user-given filename 
       appended with @{B}.Assocs@{UB}

   @{FG SHINE}
   SORTS @{FG TEXT}
     - These are self-explanatory.
     
@ENDNODE

@NODE "EditCompositeCard" "GOOSA Edit Composite Object(s) card:"
@PREV MainCard

   This panel allows the user to edit the database for Composite objects.

   A Composite object is where an object totally controls the lives of the 
   objects it references, much like a woman can have a completely different
   being within her womb (I don't remember where this example came from, 
   but it did seem correct, technically, if not politically!).  The comp-
   onent Objects can only exist within the Parent, much like a letter is
   contained within an envelope.  If your requirements don't meet this
   criteria, then use an Association or Relationship, perhaps even a 
   SuperType/SubType combination would be more appropriate.

   @{CTitle "TextFields"} 
   @{JLEFT}
   These allow the user to enter data into the system-under-design:

   @{ST "This Object"}     
   - The name of the @{B}container@{UB} object.

   @{ST "Parent"}          
   - The parent's name for the @{B}container@{UB} object. 

   @{ST "Another Object"}  
   - The name of the @{B}contained@{UB} object.

   @{ST "Comp' #"}         
   - The system number/string of this composite.  I recommend the following
     format:  @{B}C@{UB}####.

   @{ST "# Of Attrib's"}   
   - How many attributes does the @{B}container@{UB} object possess?

   @{ST "# Of Components"} 
   - A count of how many different objects there are in the composition. 

   @{CTitle "List Viewers"}
   @{JLEFT}
   @{LV "Attr' #:"}
   - Correspond to the attributes shown in the attribute list.  These 
     numbers should start at one & go in consecutive order.

   @{LV "Attribute List:"} 
   - The various attributes of the @{B}container@{UB} object.  Each object needs 
     at least one attribute, its identification.

   @{LV "Component List:"} 
   - The various component Objects of the @{B}container@{UB} object.  Each object
     needs at least two attributes, its identification & the composition
     reference.

   @{CTitle "Buttons"}
   @{JLEFT}
   @{BU "Close Gadget"} 
   - returns the user to the @{"main control" LINK "MainCard"} panel.

   @{BU "Show Object List"} 
   - Go to the @{"Object List" LINK "ObjListCard"} panel to select an object.

   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT}

     @{MI "Load...    (A-L)"} 
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.Comps@{UB} for this panel.

     @{MI "Save       (A-S)"} 
     - Save the Composite object's data in @{TType "DefaultDBase"} filename appended 
       with @{B}.Comps@{UB}

     @{MI "Save As... (A-A)"} 
     - Save the Composite object's data in the user-given filename appended 
       with @{B}.Comps@{UB}

   @{FG SHINE}
   SORTS @{FG TEXT}
     - These are self-explanatory.
     
@ENDNODE

@NODE "EditSuperCard" "GOOSA Edit SuperType(s) card:"
@PREV MainCard

   A SuperType is usually an abstract Object that only has instantiations
   of its Child Objects.
   
   @{CTitle "List Viewers:"}
   @{JLEFT}

   @{LV "Attr' #:"}
   - Correspond to the attributes shown in the attribute list.  These 
     numbers should start at one & go in consecutive order.
   
   @{LV "Attribute List:"}
   - The various attributes of the currently displayed Object.  Each object
     needs at least one attribute, its identification.
   
   @{LV "SubType List (Children):"}
   - A list of the Children Objects of the currently displayed SuperType.
     Double-clicking on an item in this list will send you to the 
     @{"Edit SubType" LINK "EditSubCard"} panel with the clicked-on item.

   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Parent Name:"}
   - The name of the parent Object for the currently displayed SuperType.
     Use ROOT or NULL or whatever makes sense to you for Objects that
     have no Parent.
     
   @{ST "Super Object:"}
   - The name of the currently displayed SuperType Object.
   
   @{ST "# of Children:"}
   - The number of defined SubTypes derived from the currently displayed
     SuperType.
      
   @{ST "Super #:"}
   - The number/string of the currently displayed SuperType.  I recommend
     the following:  @{B}SUPER@{UB}####.
 
   @{ST "# of Attrib's:"}
   - The number of Attributes defined for the currently displayed Super-
     Type.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Edit Subtypes"}
   - Go to the @{"SubTypes Editor" LINK "EditSubCard"} panel.

   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT} 

     @{MI "Load...    (A-L)"} 
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.Supers@{UB} for this panel.

     @{MI "Save       (A-S)"} 
     - Save the SuperType's data in @{TType "DefaultDBase"} filename appended 
       with @{B}.Supers@{UB}

     @{MI "Save As... (A-A)"} 
     - Save the SuperType's data in the user-given filename appended 
       with @{B}.Supers@{UB}

   @{FG SHINE}
   SORTS @{FG TEXT}
     - These are self-explanatory.
     
@ENDNODE

@NODE "EditSubCard" "GOOSA Edit SubType(s) card:"
@PREV MainCard

   A SubType is a more concrete or specific Object than its parent Super-
   Type.
    
   @{CTitle "List Viewers:"}
   @{JLEFT}
   @{LV "Attr #:"}
   - Correspond to the attributes shown in the attribute list.  These 
     numbers should start at one & go in consecutive order.

   @{LV "Attribute List:"}
   - The various attributes of the currently displayed Object.  Each object
     needs at least one attribute, its identification.

   @{LV "SubType List (Children):"}
   - A list of all currently known SubTypes.
   
   @{CTitle "Text Fields:"}
   @{JLEFT}
   @{ST "Parent Name:"}
   - The name of the SuperType that the SubType is derived from.
   
   @{ST "SubType Object:"}
   - The name of the currently displayed Object.

   @{ST "Next Child:"}
   - The name of the next SubType for the Parent SuperType.
   
   @{ST "# of Attrib's:"}
   - The number of attributes that are needed by the currently displayed
     SubType.
      
   @{ST "Sub #:"}
   - The number/string that identifies the currently displayed SubType.
     I recommend a string of the form:  @{B}SUB@{UB}####. 

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return to Editing Super"}
   - Go to the @{"Edit SuperType" LINK "EditSuperCard"} panel.

   See Also, @{" General Editor Information " LINK "Editors"}   

   @{CTitle "Menus:"}
   @{JLEFT} @{FG SHINE}
   PROJECT @{FG TEXT} 

     @{MI "Load...    (A-L)"} 
     - Load a selected file into the GOOSA program. @{FG SHINE}
       NOTE:@{FG TEXT}  GOOSA enforces a file extension of @{B}.Subs@{UB} for this panel.

     @{MI "Save       (A-S)"} 
     - Save the SubType's data in @{TType "DefaultDBase"} filename appended 
       with @{B}.Subs@{UB}

     @{MI "Save As... (A-A)"} 
     - Save the SubType's data in the user-given filename appended 
       with @{B}.Subs@{UB}

   @{FG SHINE}
   SORTS @{FG TEXT}
     - These are self-explanatory.
     
@ENDNODE

@NODE "ObjListCard" "GOOSA Object viewer & selector card:"
@PREV MainCard

   You can look over the entire list of known Objects here & select one
   for an editor if needed.
   
   @{CTitle "List Viewer (unlabeled):"}
   @{JLEFT}
   - A list of all currently known Objects.

   @{CTitle "Buttons:"}
   @{JLEFT}
   @{BU "Return Highlighted Object"}
   - Set the Object to be returned to the highlighted item in the list
     viewer.  This is the only method to close this panel.
      
@ENDNODE

@NODE "ToolTypes" "GOOSA - icon ToolTypes:"
@PREV EditToolTypesCard

  The following ToolTypes can be specified in the GOOSA icon:

  @{U}ToolType:@{UU}     @{U}Default Values:@{UU}

  @{TType "StartupPath"}  =GOOSA:  

  @{TType "RunARexx"}     =C:RexxMast

  @{TType "ARexxPortName"}=GOOSA

  @{TType "HelpPath"}     =GOOSA:Help/

  @{TType "DefaultDBase"} =GOOSA
 
  @{TType "DBasePath"}    =GOOSA:DBase/
 
  @{TType "ReportConfig"} =UR|CSD|ISD|OCT|STT|BDE|PDE|RTM|URTN
 
  @{TType "RunDBase"}     =GOOSA:DBaseManager  See Also, @{" Manager Docs " LINK DBaseManager.guide/Main}
 
  @{TType "TabSize"}      =3
 
  @{TType "PageSize"}     =66
 
  @{TType "LineLength"}   =80
 
  @{TType "PrinterReset"} =^\@  (where the ^ will be changed to the ASCII Escape char).
 
  @{TType "NLQOff"}       =^x0
 
  @{TType "NLQOn"}        =^x1
  
@ENDNODE

@NODE "ARexxCard" "ARexx Interface Card:"

   You must have pressed the magic key to find your way to this part of
   @{B}GOOSA@{UB}.  Here are the ARexx commands that @{B}GOOSA@{UB} recognizes:
   
       None are implemented yet!

   See Also, @{" DBaseManager Docs " LINK DBaseManager.guide/Main}
   
@ENDNODE

@NODE "Author" "GOOSA - Who is this Guy?"
@PREV Main

  If your conscience is bugging you to contribute some cash for my
  programming efforts, please send $20 or more for the program to:
  
  The Author:
  
  James T. Steichen    @{FG SHINE} (What a hoopy guy!) @{FG TEXT}
  2217 N. Tamarack Dr. 
  Slayton, Mn. 56172 (USA)

  email: @{FG SHINE} jsteic1957\@aol.com @{FG TEXT} (best place to send bug reports)

  @{B}GOOSA@{UB} was written using @{B}CanDo! @{UB}V3.008 by InovaTronics.

  @{B}DBaseManager@{UB} was written in C using the SAS C-compiler V6.58 & uses the
  Lattice DBC III Library of functions (no longer supported). 
  
@ENDNODE

@NODE "BadExample" "How users specify what software should be (Argghh!):"
   @{FG SHINE}
   An example of how a typical end-user specifies what kind of computer 
   program they want you to design: @{FG TEXT}

   Dear Mr. Architect:

please design and build me a house.  I'm not quite sure of what I need or 
want in a house, so you should use your discretion.

   My new house should have between 2 and 45 bedrooms.  Just make sure the
plans are such that bedrooms can be easily added or eliminated.  When you
bring the blueprints to me, I'll make the final decision of what I want. 
Also, bring me the cost breakdown for each configuration so that I can
arbtrarily pick one.

   Keep in mind that the house I ultimately choose must cost less than the
one in which I currently reside.  Make sure, however, that you correct all
the deficiencies that exist in my current home.  I'd allow you to view my
current house to help you understand and avoid the problems that I'm refer-
ring to, but I'm afraid that it may interfere with your creative abilities.

   Also keep in mind as you design this house that I wish to keep yearly
maintainance costs as low as possible.  This should mean the incorporation
of the latest technological advancements in siding & insulation.  If you 
choose not to specify aluminum siding, be prepared to explain in detail.

   Please make sure that modern design practices and the latest materials
are used in constructing the house.  The house should be very nice.  
However, be alerted that the kitchen should be designed to accommodate my
1952 Gibson refrigerator and any other items with which we don't wish to 
part.

   To assure that you are building the correct house for my family, make 
sure that you contact each of my children and in-laws.  My Mother-in-law 
will have very strong feelings about how the house ought to be designed 
since she visits us at least once a year.  Make sure that you weigh care-
fully all suggestions made by family members and make the right decisions.
I, however, retain the right to override any decisions you make.

   Please don't bother me with details right now.  Your job is to develop 
the overall plans for this house.  Get the big picture.  It's not appro-
priate at this time to be choosing such things as the color of the carpet,
although you should keep in mind that my wife likes green.

   Also, do not worry at this time about acquiring the resources needed to
build this house.  Your first priority is to develop detailed plans and
specifications.  However, once I accept the plans, I'll expect to have the
house under roof within 48 hours.

   While you are designing this house specifically for me, keep in mind 
that sooner or later I'll probably sell the house.  It should appeal to 
the largest number of potential buyers.  Please make sure, before you 
finalize the plans, that there is a consensus of the population in my area
as to the desirability of the features included in the house.

   You are advised to look at my neighbor's house, which he constructed 
last year.  We like it a great deal because it has many features that we 
would like to have in our new home, particularly the 75-foot swimming pool.
With careful engineering I believe that you can design this into our new 
house without impacting the construction cost.

   Please prepare a complete set of blueprints.  I's not necessary at this
time to do the real design since these blueprints will used only for
construction bids.  Please be advised, though, that any resulting increase
in the cost caused by future design changes will result in your getting 
your hands slapped.

   You must be thrilled to be working on such an interesting project such 
as this.  To be able to use new kinds of construction and to be given such
freedom in design is something that doesn't happen very often.  Contact me 
as soon as possible with your design ideas.  I'm most enthusiastic in 
seeing what you develop.
                                                  Sincerely, 
 
                                               Prospective Client

   P.S.  My wife has just told me that she disagrees with many of the
instructions that I've given you in this letter.  As the architect, it is
your responsibility to resolve these issues.  I've tried in the past and 
have been unable to accomplish this.  If you can't handle this, I'll have
to look for a new architect.

   P.P.S.  Perhaps what I need is not a house at all, but rather, a travel
trailer.  Please advise me as early as possible if this is the case.

@ENDNODE

@NODE "Disclaimers" "GOOSA - If it don't work, you're to blame:"
@PREV warranty

   @{FG SHINE}
   You get to figure out which ones apply to this program ;) @{FG TEXT}

   No animals were harmed during the creation of this program.
   No other warranty expressed or implied.
   List was current at time of printing.
   This supersedes all previous notices.
   This information is subject to change without notice.
   All rights reserved.
   Do not purchase if seal has been tampered with.
   Contents under pressure.  Do NOT incinerate.
   Some assembly required.
   List each check separately by bank number.
   Batteries not included.
   Some settling of contents may occur during shipping.
   Use only as directed.
   Do not use while operating a motor vehicle or heavy equipment.
   This product is meant for educational purposes only.
   Postage will be paid by addressee.
   This is not an offer to sell securities.
   Apply only to affected area.
   May be too intense for some viewers.
   Do not stamp.
   For recreational use only.
   All models over 18 years of age.
   If condition persists, consult your physician.
   No user-serviceable parts inside.
   Times approximate.
   Simulated picture.
   Breaking seal constitutes acceptance of agreement.
   One size fits all.
   Contains a substantial amount of non-tobacco ingredients.
   Colors may, in time, fade.
   We have sent the forms which seem to be right for you.
   Slippery when wet.
   Parental guidance suggested.
   Do not bend, fold, spindle, or mutilate.
   We reserve the right to refuse service to anyone.
   Use unleaded fuel only.
   Not affiliated with the American Red Cross.
   Drop in any mailbox.
   Edited for television.
   Keep cool; process promptly.
   Post office will not deliver without postage.

   Not responsible for direct, indirect, incidental or consequential 
   damages resulting from any defect, error or failure to perform.

   No part of this publication may be reproduced in any form or by any 
   means without the prior written permission of the publisher.

   Some of the trademarks mentioned in this product appear for identi-
   fication purposes only.

   At participating locations only.
   Your mileage may vary.
   Substantial penalty for early withdrawal.
   Lost ticket pays maximum rate.
   Your cancelled check is your receipt.
   Avoid contact with skin.
   Be sure each item is properly endorsed.
   Sign here without admitting guilt.
   Other items sold separately.
   Slightly higher in California.
   Employees and their families are not eligible.
   Limited time offer, call now to insure prompt delivery.
   No passes accepted for this engagement.
   Use only in well-ventilated area.
   Keep away from fire or flame.
   Replace with same type.
   Approved for veterans.
   Booths for two or more.
   Some equipment shown is optional.
   Don't try this at home.
   Dispose of properly.
   Prerecorded for this time zone.
   Do not immerse.
   No solicitors.
   No alcohol, dogs, or horses.
   List at least two alternate dates.
   Record additional transactions on back of previous stub.
   Price does not include taxes, title, or destination charges.
   This is not a competition, it is only an exhibition.
   No wagering.

@ENDNODE
