home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-05-03 | 181.0 KB | 4,497 lines |
-
-
-
-
-
- GGGGG RRRRRR AAAA PPPPPP HH HH IIIIII CCCCC
- GG RR RR AA AA PP PP HH HH II CC
- GG RRRR AAAAAA PPPPPP HHHHHH II CC
- GG GG RR RR AA AA PP HH HH II CC
- GGGG RR RR AA AA PP HH HH IIIIII CCCCC
-
-
- AAAA DDDDD AAAA *
- AA AA DD DD AA AA
- AAAAAA DD DD AAAAAA
- AA AA DD DD AA AA
- AA AA DD DD AA AA
-
-
- DDDDD EEEEEE SSSSS IIIIII GGGGG NN NN EEEEEE RRRRRR
- DD DD EE SS II GG NNN NN EE RR RR
- DD DD EEEE SSSS II GG NNNNNN EEEE RRRRR
- DD DD EE SS II GG GG NN NNN EE RR RR
- DDDDD EEEEEE SSSSS IIIIII GGGG NN NN EEEEEE RR RR
-
-
-
- U S E R ' S M A N U A L
-
-
- February 1986
-
-
- Ada Technology Group
- SYSCON Corporation
- 3990 Sherman Street
- San Diego, California 92110
-
-
-
-
-
-
-
-
-
-
-
- *Ada is a trademark of the U.S. Government
- Ada Joint Program Office
- TABLE OF CONTENTS
-
- SECTION TITLE PAGE
- -----------------------------------------------------------------
-
- 1 INTRODUCTION . . . . . . . . . . . . . . . . . . . 1-1
-
- 1.1 Purpose . . . . . . . . . . . . . . . . . . . . . 1-1
- 1.2 Scope . . . . . . . . . . . . . . . . . . . . . . 1-1
- 1.3 Background . . . . . . . . . . . . . . . . . . . . 1-2
- 1.4 Organization . . . . . . . . . . . . . . . . . . . 1-2
-
- 2 FUNCTIONAL OVERVIEW . . . . . . . . . . . . . . . 2-1
-
- 2.1 Graphics Design Functions . . . . . . . . . . . . 2-1
- 2.2 PDL Generation Functions . . . . . . . . . . . . . 2-2
- 2.3 File Management Functions . . . . . . . . . . . . 2-2
- 2.4 Supplemental and Supporting Functions . . . . . . 2-2
-
- 3 TECHNICAL DESCRIPTIONS . . . . . . . . . . . . . . 3-1
-
- 3.1 Ada Graphic Notation Conventions . . . . . . . . . 3-1
- 3.1.1 Ada Graphic Entities . . . . . . . . . . . . . . . 3-1
- 3.1.2 Entity Conventions . . . . . . . . . . . . . . . . 3-3
- 3.1.2.1 Symbols . . . . . . . . . . . . . . . . . . . . . 3-3
- 3.1.2.1.1 Visibility Connection Indicator . . . . . . . . . 3-3
- 3.1.2.1.2 Export Connection Indicator . . . . . . . . . . . 3-4
- 3.1.2.1.3 Control Flow Indicator . . . . . . . . . . . . . . 3-5
- 3.1.2.1.4 Virtual Package Symbol . . . . . . . . . . . . . . 3-5
- 3.1.2.1.5 Package Symbol . . . . . . . . . . . . . . . . . . 3-6
- 3.1.2.1.6 Subprogram Symbols . . . . . . . . . . . . . . . . 3-7
- 3.1.2.1.7 Task and Task Entry Points . . . . . . . . . . . . 3-7
- 3.1.2.1.8 Package, Subprogram or Task Body Symbol . . . . . 3-8
- 3.1.2.1.9 Generics . . . . . . . . . . . . . . . . . . . . . 3-8
- 3.1.2.2 Usage . . . . . . . . . . . . . . . . . . . . . . 3-8
- 3.1.3 Summary of Convention Restrictions . . . . . . . . 3-9
- 3.2 Ada-Based PDL Conventions . . . . . . . . . . . . 3-11
- 3.3 Man-Machine Interface Summary. . . . . . . . . . . 3-13
- 3.3.1 Screen Formats . . . . . . . . . . . . . . . . . . 3-15
- 3.3.2 Operator Interactions . . . . . . . . . . . . . . 3-15
- 3.3.3 Command Window Menu Displays . . . . . . . . . . . 3-17
- 3.3.4 Graphic Window Displays. . . . . . . . . . . . . . 3-18
- 3.3.5 Alphanumeric Window Displays . . . . . . . . . . . 3-18
- 3.4 Restrictions . . . . . . . . . . . . . . . . . . . 3-19
-
- 4 GAD TOOL USAGE DESCRIPTION . . . . . . . . . . . . 4-1
-
- 4.1 GAD Invocation . . . . . . . . . . . . . . . . . . 4-1
- 4.2 Menu Displays . . . . . . . . . . . . . . . . . . 4-1
- 4.2.1 MAIN Menu Display . . . . . . . . . . . . . . . . 4-4
- 4.2.2 ATTRIB Menu . . . . . . . . . . . . . . . . . . . 4-6
- 4.2.3 COLOR/LINE Menu Display . . . . . . . . . . . . . 4-8
- 4.2.4 PAN / ZOOM Menu. . . . . . . . . . . . . . . . . . 4-9
- 4.2.5 DESIGN Menu Display . . . . . . . . . . . . . . . 4-10
- 4.2.6 IMPORT/EXPORT Menu . . . . . . . . . . . . . . . . 4-15
- 4.2.7 GENERIC Menu . . . . . . . . . . . . . . . . . . . 4-19
- 4.2.8 PARAMETER STATUS Menu . . . . . . . . . . . . . . 4-20
- 4.2.9 ENTRY PT Menu . . . . . . . . . . . . . . . . . . 4-21
- 4.2.10 CALL Menu . . . . . . . . . . . . . . . . . . . . 4-21
- 4.2.11 CONFIRM Menu . . . . . . . . . . . . . . . . . . . 4-22
- 4.2.12 PDL STATUS Menu . . . . . . . . . . . . . . . . . 4-23
- 4.3 Usage . . . . . . . . . . . . . . . . . . . . . . 4-23
-
- 5 GAD DESIGN EXAMPLE . . . . . . . . . . . . . . . . 5-1
- 5.1 Design Scenario . . . . . . . . . . . . . . . . . 5-1
- 5.2 Scenario Walk-Through . . . . . . . . . . . . . . 5-2
- 5.3 Generated PDL . . . . . . . . . . . . . . . . . . 5-7
-
-
- APPENDICES
-
- APPENDIX TITLE PAGE
- -----------------------------------------------------------------
- A ON-LINE HELP FILE LISTING . . . . . . . . . . . . A-1
-
- A.1 Main Menu Descriptions . . . . . . . . . . . . . . A-2
- A.2 Pan / Zoom Menu Help Descriptions. . . . . . . . . A-4
- A.3 Design Menu Help Descriptions. . . . . . . . . . . A-6
- A.4 Generic Menu Commands . . . . . . . . . . . . . . A-11
- A.5 Annotating Menu Help Descriptions. . . . . . . . . A-12
- A.6 Delete Menu Help Descriptions. . . . . . . . . . . A-16
- A.7 Attributes Menu Help Descriptions. . . . . . . . . A-17
- A.8 Color/Line Menu Help Descriptions . . . . . . . . A-18
- A.9 Parameter Status Menu Commands . . . . . . . . . . A-20
- A.10 Call Menu Commands . . . . . . . . . . . . . . . . A-21
- A.11 Entry Point Status Menu Commands . . . . . . . . . A-22
- A.12 PDL Status Menu Commands . . . . . . . . . . . . . A-23
-
- B TOOL CONFIGURATION REQUIREMENTS . . . . . . . . . B-1
-
- B.1 Host Environment . . . . . . . . . . . . . . . . . B-2
- B.2 Graphics Terminal Hardware Summary . . . . . . . . B-3
-
- C GLOSSARY OF TERMS . . . . . . . . . . . . . . . . C-1
-
- D EXPLANATION OF ERROR MESSAGES. . . . . . . . . . . D-1
- LIST OF ILLUSTRATIONS
-
- FIGURE TITLE PAGE
- ------------------------------------------------------------------
-
- 3-1 Virtual Package Symbol . . . . . . . . . . . . . . 3-6
- 3-2 Package Symbol . . . . . . . . . . . . . . . . . . 3-6
- 3-3A Procedure Symbol . . . . . . . . . . . . . . . . . 3-7
- 3-3B Function Symbol . . . . . . . . . . . . . . . . . . 3-7
- 3-4 Task and Task Entry Points Symbols . . . . . . . . 3-7
- 3-5 Body Symbol . . . . . . . . . . . . . . . . . . . . 3-8
- 3-6 MMI Menu Network Organization . . . . . . . . . . . 3-14
- 3-7 GAD Graphics Screen Format . . . . . . . . . . . . 3-16
- 3-8 Menu Window Icon Format . . . . . . . . . . . . . . 3-17
- 3-9 Initial View in Graphic Window . . . . . . . . . . 3-18
-
- 4-1 Menu Hierarchy . . . . . . . . . . . . . . . . . . 4-2
- 4-2 Menu Hierarchy (cont.) . . . . . . . . . . . . . . 4-3
-
- 5-1 Sample OODD . . . . . . . . . . . . . . . . . . . . 5-1
-
- B.1-1 GAD Host Interfaces . . . . . . . . . . . . . . . B-2
-
-
-
-
- LIST OF TABLES
-
- TABLE TITLE PAGE
- ------------------------------------------------------------------
-
- 3-1 Entity Name Descriptions . . . . . . . . . . . . . 3-4
- 3-2 Control Connector Descriptions . . . . . . . . . . 3-5
-
- 4-1 Attributes and Default Settings . . . . . . . . . 4-6
-
- B.2-1 TEKTRONIX 4107 Graphics Hardware Device
- Descriptions . . . . . . . . . . . . . . . . . . B-3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This User's Manual has been prepared to
- be compatible with transmission over the
- MILNET. As such, it uses only standard
- ASCII characters, which limits the
- representations that can be used to
- illustrate the graphics symbols utilized
- by the Graphic Ada Designer.
- 1. INTRODUCTION
-
- The Graphic Ada Designer (GAD) is a specialized graphics design
- tool which supports the interactive creation of Object Oriented
- Design Diagrams (OODDs) for Ada programs and provides automated
- generation of the compilable Ada Program Design Language (PDL)
- associated with each OODD. The GAD supports the creation of
- these block-like diagrams to assist in the designing of Ada
- software.
-
- 1.1 Purpose
-
- This document serves as the User's Manual for the GAD, and as
- such provides the information necessary for the invocation,
- operation and termination of the design tool. In addition, it
- provides a technical reference to assist the user in optimal
- utilization of the GAD.
-
- 1.2 Scope
-
- The material in this document is limited to information and
- descriptions pertaining to the operation of the GAD. The
- technical information contained in this document is limited to
- that necessary to allow the GAD tool user to understand its
- operation and the Ada Graphic Notation conventions supported.
- The user of the GAD tool is assumed to have an understanding of
- the Ada language, the development methodology being utilized, and
- a basic comprehension of how to pictorially represent the scoping
- relationships of the Ada language. The GAD and its User's Manual
- are designed such that minimal graphics hardware experience is
- required.
-
- 1.3 Background
-
- Research dealing with the design of software to be implemented in
- the Ada language has developed graphical techniques for
- representing Ada designs. The benefits of augmenting textually
- represented designs of Ada software with graphical/pictorial
- representations have been established. SYSCON adapted the Object
- Oriented Design work of Grady Booch (reference "Software
- Engineering with Ada") and the graphical analysis techniques
- developed by Dr. R. Buhr of Carleton University (reference
- "System Design with Ada") into a set of Ada Graphic Notation
- conventions for use in graphically describing the architecture of
- Ada software.
-
- The utilization of graphics techniques in the design of software
- introduces two major problems: the cost and speed of generating
- and modifying pictorial representations and the "tracking" of
- pictorial representations with textual PDL. The GAD addresses
- these problems by providing automated support for the creation of
- bit-mapped graphics utilizing the Ada Graphic Notation
- conventions, and for the generation of compilable Ada-based PDL
- directly from the graphical design without manual intervention.
-
- 1.4 Organization
-
- This document is organized into sections and appendices. The
- sections provide descriptions of the tool's operation and the
- conventions it supports. Section 2 (Functional Overview)
- provides brief descriptions of the major functional areas of the
- tool. Section 3 (Technical Descriptions) discusses the major
- technical issues related to the operation of the tool, including
- descriptions of the Ada Graphic Notation and Ada PDL conventions.
- Section 4 (GAD Tool Usage Description) presents a detailed
- description of the menu displays, commands, prompts, and user
- interactions associated with the operation of the GAD. Section 5
- (GAD Design Example) provides a design scenario with a step-by-
- step walk-through from initial invocation of the tool to the
- generation of PDL from the OODD. The appendices provide
- supporting information, and include a copy of the on-line help
- file, definition of terms, and configuration and installation
- information.
- 2. FUNCTIONAL OVERVIEW
-
- The GAD Man-Machine Interface (MMI) provides an efficient means
- for designing software architectures in the form of Ada OODDs.
- The MMI is both efficient and easy to use, a combination which is
- achieved by utilizing the full capabilities of the supporting
- graphics terminal. The basic MMI philosophy is:
-
- o Minimize manual keyboard interaction
- o Maximize use of hardware cursor control devices
- (mouse, joystick, or joydisc)
- o Provide menus consisting of cursor selectable commands
- o Support easy selection of graphic entities
-
- GAD adheres to the basic philosophy by utilizing three windows to
- present information to the user. The three windows are:
-
- o Alphanumeric - displays prompts and echos keyboard input
- o Menu - displays the currently available commands
- o View - displays the OODD being created
-
- The MMI allows the user to use the cursor control device to select
- the desired command or function. The basic functions of GAD fall
- into four (4) major categories: Graphics Design, PDL Generation,
- File Management, and Supplemental and Supporting.
-
- 2.1 Graphics Design Functions
-
- GAD provides a graphical architectural design capability which
- consists of creating, deleting, editing, moving and setting
- attributes of entities representing Ada structures (e.g.,
- packages, subprograms, tasks, and bodies). GAD maintains call,
- visibility and exported connection dependencies which represent
- the logical relationships between entities. Strict Ada (PDL)
- syntax and semantics to the appropriate level of detail will be
- enforced in the graphs at each operation. The graphics design
- operations that GAD provides are invoked by the selection of
- commands from various command menus.
-
- 2.2 PDL Generation Functions
-
- GAD provides a command to generate the Ada PDL corresponding to
- the current design graph. The tool generates the PDL and places
- it in an ASCII text file with the current session file name and
- the extension ".PDL". The Ada PDL produced will be syntactically
- correct and compilable. The general guideline for PDL generation
- will be to generate as much code as possible and permit the user
- to delete what is not needed. The PDL produced will mix Ada and
- embedded English comment statements. The PDL will be formatted by
- the indentation rules given in the Reference Manual for the Ada
- Programming Language (MIL-STD-1815A).
-
- 2.3 File Management Functions
-
- GAD provides automatic mechanisms to save and restore graphs
- between invocations of the tool. The necessary graphics and
- semantic information is saved in a file, one graph per file. An
- existing design file is accessed by selecting it during program
- initialization or by selecting the READ_FILE option on the Main
- Menu. The current design diagram is saved by selecting the
- WRITE_FILE or EXIT options on the Main Menu.
-
- 2.4 Supplemental and Supporting Functions
-
- GAD provides a variety of supplemental operations to assist users
- with creation of Object Oriented Design Diagrams.
-
- A HELP option is provided on each menu. This facility displays
- general information concerning the current menu as well as
- specific information about each possible option for the menu
- currently being displayed.
-
- The ATTRIBUTES menu provides a set of commands which control the
- color and line type attributes of the graphic entities which can
- be created.
-
- The MENU BACKUP and MAIN MENU options provide direct access to the
- previously selected menu and MAIN Menu from any menu in which
- control can remain following the completion or aborting of a user
- operation/action.
-
- GAD operation is terminated by the selection of the EXIT or QUIT
- option on the MAIN Menu. The EXIT option will cause the current
- design diagram to be saved in a disk file. The QUIT option will
- not preserve the current design diagram.
-
- GAD provides pan and zoom capabilities, which are controlled by
- the PAN/ZOOM menu. The PAN/ZOOM command provides access to this
- menu from throughout GAD. The zoom feature will be geometric and
- will not add any increasing levels of logical detail. Both pan
- and zoom operations are accomplished through a redefinition of the
- graph view window, and as such do not require hardware pan and
- zoom to work.
-
- 3. TECHNICAL DESCRIPTIONS
-
- This section provides technical information under four major
- topics: Ada Graphic Notation Conventions; Ada-based PDL
- Conventions; MMI Summary; and the Restrictions on the Graphic Ada
- Designer. Supplementary lower level technical information is
- provided in Appendix B, Tool Configuration Requirements, and
- Appendix C, Tool Installation/Adaptation Features.
-
- 3.1 Ada Graphic Notation Conventions
-
- The Ada Graphic Notation supported by GAD is based on prior works
- by Booch and Buhr. The notation uses symbols (icons) to represent
- Ada entities (e.g. subprograms), relative positioning of the icons
- to show the scoping relationships of the Ada entities, and various
- line types to show interrelationships between Ada entities. This
- section describes the symbology and usage conventions which make
- up Ada Graphic Notation.
-
- 3.1.1 Ada Graphic Entities
-
- Ada Graphic Notation provides graphic entities (symbols) and
- conventions for describing Ada program structures. The following
- basic entities are supported by GAD:
-
- o Virtual Package
- o Package
- o Procedure
- o Function
- o Task
-
- Each basic entity has associated with it a prologue, which is a
- textual description of its function and/or purpose. The prologue
- is initially blank, and can be entered during the entity creation
- process and/or modified later. The prologue is treated as
- comments during the generation of PDL. Each basic entity can
- also contain additional annotating information, for example, an
- exported type declaration within a package. The following
- annotating entities will exist to annotate basic entities:
-
- o Executing Body
- o Task Entry Point (Task only)
- o Exported Type
- o Exported Object
- o Exported Exception
- o Exported Procedure
- o Exported Function
- o Exported Task Entry
- o Imported Virtual Package
- o Imported Package
- o Imported Procedure
- o Imported Function
-
- It should be noted that the annotations are applicable to virtual
- packages and packages unless otherwise noted. (see table 3-1 for
- the representation of the annotations). The entities to which
- each annotation applies are consistent with the syntax and
- semantics of the Ada Language. (see the Reference Manual for the
- Ada Programming Language, MIL-STD-1815A).
-
- The Ada Graphic Notation provides connections to establish
- visibility rules and/or control relationships between basic
- entities and other basic or annotating entities. This corresponds
- to, for example, subprogram and task entry point calls. The kinds
- of connections supported are:
-
- o Unconditional Call
- o Timed Call (on task entry points only)
- o Conditional Call
- o Visibility Connection (equivalent to a use clause)
- o Export Connection (appears in unit's spec)
-
- Certain information will be maintained on every basic and
- annotating entity. This information consists of its name and its
- enclosing scope (containing object). Other kinds of information
- will be maintained for certain entities as needed. This includes
- information about:
-
- o Generics (Packages, Subprograms)
- o Guard Conditions (Task Entry Points)
- o Formal Parameters (Subprograms or Task Entries)
-
- 3.1.2 Entity Conventions
-
- Ada Graphic Notation is made up of a set of conventions which
- describe the symbols (icons) used for each Ada entity and how
- these symbols are combined to represent Ada oriented designs. The
- following subsections provide ASCII character approximations of
- the entity symbols. The icons displayed and printed by the
- graphics terminal will be of a much higher quality than indicated
- here.
-
- 3.1.2.1 Symbols
-
- Names (identifiers in Ada terminology) are limited to 80
- characters (1 line of text) and are required to be valid Ada
- identifiers. Names will be truncated on the graphic display to an
- asthetically appropriate length, but the full name will be
- preserved for PDL generation. Names of basic entities will be
- truncated so that will not extend beyond the boundaries of the
- symbol, and names of annotating entities will be truncated to a
- predefined length (initially 8 characters). (see table 3-1 for
- the representations of the annotating entities).
-
- 3.1.2.1.1 Visibility Connection Indicator
-
- Visibility Connection indicators originate from within the scope
- of the referencing entity. The user will specify the starting and
- ending points, and then be allowed to free-form draw the line by
- specifying up to 20 intermediate points. A Visibility Connection
-
-
- Table 3-1. Entity Name Descriptions
-
- __________________________________________________________________
- Representation | Description
- ______________________|___________________________________________
- |
- ( name ) | type declaration
- : name : | object declaration
- < name > | exception declaration
- | name | | subprogram
- / name / | task entry
- / name[] / | task entry with parameters
- % name % | imported virtual package
- # name # | imported package
- | name | | imported subprogram
-
- Note: name denotes the identifier associated with the entity
- which will be truncated to 8 characters.
-
- is shown as a dotted line with a 'V' at the starting point
- (origin) of the connection. Visibility Connection indicators to
- imported entities will cause a 'use' clause to be generated in the
- PDL within the declarative section of the unit originating the
- connection.
-
- 3.1.2.1.2 Export Connection Indicator
-
- Export Connection indicators originate from an exported subprogram
- or task entry symbol and terminate at an entity within the
- enclosed scope which is an exported subprogram or task entry of
- the same type or an actual declaration of the export. The user
- will specify the starting and ending points, and then be allowed
- to free-form draw the line by specifying up to 20 intermediate
- points. An Export Connection is shown as a dotted line. Export
- Connection indicators are used to show that a connected item
- should be placed in the specification (exported part) of the
- package which encloses it.
-
- 3.1.2.1.3 Control Flow Indicator
-
- Control Flow indicators originate from the executing body of the
- referencing entities (caller). Special symbols are added to
- indicate the possible kinds of special calls: CONDITIONAL and
- TIMED. The user will specify the starting and ending points, and
- then be allowed to free-form draw the line by specifying up to 18
- intermediate points.
-
- Table 3-2. Control Connector Descriptions
-
- __________________________________________________________________
- Representation | Description
- ______________________|___________________________________________
- |
- ------- | unconditional call
- T------ | timed call on a task entry
- C------ | conditional call on subprogram or entry
-
- Control flow indicators to imported entities will cause a call
- statement to be generated in the PDL inside the body of the
- originating unit.
-
- 3.1.2.1.4 Virtual Package Symbol
-
- The following figure illustrates the virtual package entity
- symbol. The size of the symbol is user determined. The sides of
- the symbol are illustrated as the default attribute representation
- of dashed lines.
-
- The Virtual Package has the same features as a package except that
- it cannot be a generic.
-
- <name>
- - - - - - - - - - - -
-
- | |
-
- | |
-
- | |
-
- | |
-
- - - - - - - - - - - -
-
- Figure 3-1. Virtual Package Symbol
-
-
- 3.1.2.1.5 Package Symbol
-
- Figure 3-2 illustrates the package entity symbol. The size of the
- symbol is user determined. The sides of the box symbol are
- illustrated as the default attribute setting of solid lines.
-
- <name>
- ---------------------
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- ---------------------
-
- Figure 3-2. Package Symbol
-
- 3.1.2.1.6 Subprogram Symbols
-
- The symbols for subprogram entities (procedures and functions) are
- shown in the figure below. Calls are normally shown by an arrow
- pointing to the left-hand margin between the lines containing the
- name. The name of a function is preceded by an '=' to show that
- it is assignable.
-
- --------------------- ---------------------
- |<name> | |=<name> |
- |-------------------| |-------------------|
- | | | |
- | | | |
- | | | |
- | | | |
- --------------------- ---------------------
-
- Figure 3-3A. Procedure Symbol Figure 3-3B. Function Symbol
-
- 3.1.2.1.7 Task and Task Entry Points
-
- The symbol for task and task entry point entities is shown in the
- figure below. The size of the symbol is user determined. The
- user may add as many entry points to the task as its size will
- permit. Entry points may be either guarded or unguarded. The
- symbol '*' is used to designate guarded entry points.
-
-
- <name>
- ------------------
- / /
- /<name>/ /
- / /
- /*<name2>/ /
- / /
- -----------------
-
- * indicates Guarded Entry Point
-
- Figure 3-4. Task and Task Entry Points Symbols
-
- 3.1.2.1.8 Package, Subprogram or Task Body Symbol
-
- The symbol for executing bodies associated with package,
- subprogram or task entities is shown in the figure below as an
- approximation of the octagon actually used to represent this.
-
- -----
- / \
- \ /
- -----
-
- Figure 3-5. Body Symbol
-
- 3.1.2.1.9 Generics
-
- The generic status of both packages and subprograms can be
- represented. The symbol "gd" is placed on the graph of a generic
- declaration, and "gi <name_of_unit_instantiated>" is placed on the
- graph of a generic instantiation. By convention, units which are
- generic instantiations are not allowed to contain any additional
- details.
-
- 3.1.2.2 Usage
-
- This section describes the usage conventions which govern how the
- Ada Graphic Notation symbols are combined to produce OODDs. These
- conventions, which are illustrated in the design example presented
- in Section 5, govern the placement of entities and the resulting
- syntactical and semantic implications. The Ada Graphic Notation
- conventions conform to the rules of Ada syntax and semantics,
- and will be checked for and enforced by GAD in creating the OODDs.
-
- Contained (nested) entities must be entirely inside the containing
- entity. This convention is determined by and consistent with Ada
- scoping rules.
-
- Annotating entites (such as objects or types that are imported/
- exported or task entry points) are drawn on the "edges" of the
- entity to which they are associated. Imported entities are shown
- on the right-hand edge of an entity, and can only be created at
- the outer most scope. The use of imports is shown in the PDL by a
- context ('with') clause, so the restriction is the outer most
- scope is consist with the rules of Ada. Exported entities are
- shown on the left-hand side of an entity. Exported entities
- represent the visible part (specification) of packages and virtual
- packages.
-
- A visibility connection between a contained entity and an imported
- entity will result in the generation of the 'use' clause in the
- declarative section of the contained entity. Exported subprograms
- are connected to the corresponding subprogram entity symbol inside
- the exporting package to show that the unit will be declared in
- the specification. Export connections originate from the lower
- righthand side of export labels and connect to export symbols of
- subprograms within the scope of the entity to which the
- originating export label is attached.
-
- Call connections originate from the body symbols of packages,
- subprograms or tasks. Visibility Connections for packages can
- originate directly from the left-hand side of symbol (similar to
- imports). Calls terminate at: 1) the appropriate subprogram
- export symbol, 2) at the left-hand edge of the box adjacent to the
- name of the subprogram, or 3) at the left-hand side of the entry
- point.
-
- 3.1.3 Summary of Convention Restrictions
-
- The following list summarizes the Ada Graphic Notation
- restrictions associated with this version of the GAD tool:
-
- 1. Subunit (i.e., is separate) compilation indications are
- not supported. The specification and body of Ada entities
- are both represented by the associated entity symbology.
- 2. The maximum level of nesting supported is six (6) in any
- design diagram. This restriction is designed to limit
- the detail in the OODD being created, because it is
- SYSCON's experience that, if the level of nesting exceeds
- 6, then there is in all probability too much detail for
- this level of design activity.
- 3. An exported subprogram may be connected to no more than
- one contained subprogram inside the exporting entity
- (since a subprogram may have only one body inside the
- declaring units body). If it is not connected, then it
- will be shown as a subunit in the PDL as a way of
- defering detail.
- 4. Task type entities are not supported.
- 5. Local types and object entities associated with the body
- of an entity (i.e. not exported or imported) are not
- supported.
- 6. Virtual packages cannot be generic instantiations or
- declarations.
- 7. Call connection can not be made to subprograms which are
- not visible in the Ada sense to the originator of the
- call.
- 8. The overlapping of entities, including annotating labels,
- is not a valid utilization of the conventions. This is
- because overlapping implies an ambiguous scope, which is
- semantically incorrect.
- 9. The user is permited to create overloaded entities within
- the same scope, but correct resolution is not performed
- during PDL generation. If the user creates overloaded
- subprograms, then the resultant Ada PDL will contain
- homographs and, consequently, not compile correctly.
- 10. Subprogram parameter and generic status can not be shown
- for subprograms which are only exported. These
- subprograms are shown as subunits during PDL Generation,
- and care must be taken to avoid illegal overloading.
-
- 3.2 Ada-Based PDL Conventions
-
- The generated Ada PDL will have complete and correct Ada syntax
- and semantics. The control and organizational structures will be
- in Ada and will correspond precisely to the OODD from which it was
- generated. The Ada PDL will be compilable; this will be achieved
- by the use of embedded English comments to describe information
- not translatable to Ada (denoted by the symbol '--*', which is a
- compile time parameter), and the use of a SUPPORT_PACKAGE to
- define types and objects used to complete control structures and
- other definitions. 'With' and 'use' clauses for the support
- package are not automatically added to the PDL since they would
- detract from the readability of the generated PDL, but they can be
- requested as an option.
-
- The support package is listed below:
-
- package SUPPORT_PACKAGE is
-
- type TBD_TYPE is (TBD); -- used as function return type
- TBD_OBJECT : TBD_TYPE; -- the function return value
- TBD_PARAMETERS : TBD_TYPE; -- the subprogram calling
- -- parameters
-
- TBD_TIME : DURATION; -- for delay statements
- TBD_CONDITION : BOOLEAN; -- for conditional statements
-
- end SUPPORT_PACKAGE;
-
- Certain aspects of the PDL generation are not obvious. These
- aspects are listed below, along with how they will be handled.
-
- 1. Occurrences of declarations and usages of Virtual
- Packages will be treated as normal packages with
- comments following to indicate it is a virtual package.
- 2. The code for Virtual Packages will show only exported
- items in the specification and all enclosed code in the
- body. If nothing is exported, the specification will
- be empty.
- 3. The order of the calls generated in the PDL will
- be arbitrary. In the initial version, the exact order
- produced will mirror the order in which the call
- connections were added to the graph.
- 4. References to imported entities by packages, subprograms
- or tasks will result in the generation of context
- clauses at the appropriate level.
- 5. The PDL generator will not detect user entered PDL
- errors, such as the use of duplicate identifiers.
- 6. The case and length of the user input names will be
- preserved during PDL generation. All Ada reserved words
- will be generated in lower case.
- 7. Semantic errors may occur during compilation if the user
- instantiates or imports units (e.g., imported procedure)
- which are not present in the Ada program library being
- used for compilation.
- 8. If GAD generated PDL is compiled without the support
- package, then all occurances of TBD structures will be
- flagged as compilation errors. This is intentionlly
- done to assist the user in locating structures which
- require further refinement.
- 9. The order the compilations units appear in the generated
- PDL will reflect the order in which they were created.
- GAD will not place the compilation units in correct
- compilation order.
-
- 3.3 Man Machine Interface Summary
-
- Figure 3-6 provides an overview of the GAD control menu
- organization. This network structure is organized to facilitate
- the generation of graphic designs. Menu selections are made by
- using the graphics cursor to pick the desired menu icon. Drawing
- locations are determined by the selection of points on the design
- with the cursor control device (joydisc). Keyboard input occurs
- only when text entries (entity names, convention symbol changes,
- etc.) are required. Sufficient textual command prompting and
- status/response displays are provided to ease the operator's
- navigation through the menu network.
-
- When a basic entity is created, a series of command prompts will
- lead the user through the steps needed to provide the basic
- information about the entity, including name, scope, and position.
- The specific textual displays are presented in Section 4 with each
- possible operation. After an entity has been created, it can be
- annotated to show features such as imported entities,
- initialization section, and exported entities (e.g., types,
- objects, and exceptions). A top-down approach to annotating the
- design is required. For example, an entity can only be annotated
- after it has been created.
-
- Only information which is currently displayable on the graph will
- be stored in the data structures and saved in the design file. In
- some cases (e.g., names), the information may be abbreviated to
- permit the construction of esthetically pleasing graphs.
- Information that would normally be displayable will be disallowed
- if adding it to the graph would produce an inconsistent OODD
- (graph).
-
- ---------------
- ---------------------------------->| PAN/ZOOM |
- | --------->| MENU |
- | | ---------------
- | | ---------------
- | | | GENERIC |
- | ---------------|-------->| STATUS MENU |
- | | | ---------------
- | | | ---------------
- | | | | PARAMETER |
- | | |-------->| STATUS MENU |
- | | | ---------------
- | | | ---------------
- | | | | ENTRY PT |
- | ---------- |-------->| STATUS MENU |
- | | DESIGN | | ---------------
- |--->| MENU | | ---------------
- | ---------- | | CALL STATUS |
- | | --------->| MENU |
- | | ---------------
- -------- | --------------
- | MAIN | --------->| ANNOTATING |
- | MENU | | MENU |
- -------- --------------
- |
- | --------------
- ---->| ATTRIBUTES |
- | MENU |
- --------------
- |
- | ---------------
- --------->| CONVENTIONS |
- | MENU |
- ---------------
-
- MMI Menu Network Organization
- Figure 3-6
-
-
- An example is attempting to draw a contained entity (such as a
- task) that was not physically contained completely within a valid
- enclosing entity.
-
- 3.3.1 Screen Formats
-
- The GAD screen is separated into three basic parts which are: 1) a
- View Window onto the OODD being created or edited, 2) a Menu
- Window which displays the currently selectable command icons, and
- 3) an Alphanumeric Window which provides a two-line buffer for
- textual interaction between GAD and the user. Figure 3-7
- illustrates the format of the screen for GAD.
-
- 3.3.2 Operator Interactions
-
- The approach to the MMI is to use graphics device hardware
- features as extensively as possible to reduce the number and types
- of user/keyboard manual operations. However, the MMI is not
- dependent upon specific hardware characteristics. When graphics
- input is being requested, the graphics cursor (crosshairs) will
- appear in the currently active window. Selection of command menu
- options is performed by positioning the graphics cursor on the
- selected command icon and pressing an appropriate key to
- indicate that a selection has been made. Marking locations during
- graphics operations will be performed similarly by positioning the
- graphics cursor and 'marking' the location. During creation
- operations, the marked location is shown by a temporary token.
-
- The keyboard will only be used to enter textual information such
- as names of files and the names of the entities being created or
- modified. The command interaction (via the alphanumeric window)
- will prompt the user for keyboard information (names) after all
- other selected (marking) operations have been completed.
- _________________________________________________________
- |(Page) |
- | (SCREEN) |
- | ---------------------------------------------- |
- | |-------- ---------------------------------- | |
- | || | | View Window | | |
- | || M | | | | |
- | || e | | | | |
- | || n | | | | |
- | || u | | | | |
- | || | | | | |
- | || W | | | | |
- | || i | | | | |
- | || n | | | | |
- | || d | | | | |
- | || o | | | | |
- | || w | | | | |
- | || | | | | |
- | || | | | | |
- | |-------- ---------------------------------- | |
- | |--------------------------------------------| |
- | || Alphanumeric Window || |
- | |--------------------------------------------| |
- | ---------------------------------------------- |
- | |
- _________________________________________________________
-
- Page - Representation of the World Coordinate System
- Screen -
- Text => 24 lines x 80 characters
- Graphics => resolution 640 by 480
- View Window -
- Window through which the graphic page is viewed. The entire
- page can be displayed. The actual view depends on the pan
- and zoom selected.
- Menu Window -
- The left-hand border section of the screen used to display
- command icons representing the available commands.
- Alphanumeric Window -
- The bottom section of the screen used for alphanumeric (Text)
- I/O. The window is extended for some operations (e.g., help
- and error messages) and may overlap the view window. The
- overlapping text is removed after the user acknowledges that
- the text has been read.
-
-
- Figure 3-7 GAD Graphics Screen Format
-
-
- 3.3.3 Command Window Display Format
-
- The Menus will appear on the screen in the left-hand border
- section of the screen as previously indicated in Figure 3-7. The
- menus will consist of a series of graphic icons, one for each
- possible command selection option currently available. The
- general form of the menu icons is shown below in Figure 3-8.
-
- MENU WINDOW
- --------------------
- | menu name |
- | -------------- |
- | | COMMAND_01 | |
- | | COMMAND_02 | |
- | | COMMAND_03 | |
- | | | |
- | | o | |
- | | o | |
- | | | |
- | | COMMAND_nn | |
- | -------------- |
- --------------------
-
- Figure 3-8. Menu Window Icon Format
-
- It should be noted that the number of commands will vary depending
- on the menu. Each 'COMMAND_xx' will be replaced by an appropriate
- abbreviation. Each command, when selected, will be highlighted in
- the color red. Nonselected icon names are displayed in black.
-
- These menus will provide the primary communication mechanism
- between the user and the GAD program. The menu generation and/or
- refresh will be rapid because they will have been downloaded to
- the terminal on startup and initialization. The appropriate menu
- will be made visible and selectable (and the old menu invisible
- and non-selectable) as required. The menu aggregates and their
- interrelationships are illustrated in Figure 3-6.
-
- 3.3.4 Graphic Window Displays
-
- The Graphic Window is used to display all or part of the graph
- under development. The graph will depict an Ada program using
- color bit-mapped graphics to build the appropriate icon(s) of the
- Ada Graphic Notation conventions. The portion of the graph viewed
- is controlled by the PAN / ZOOM menu, which can be used to alter
- the magnification and location of the window's view onto the
- entire graph. The program initializes the Graphic Window to view
- the upper left hand quarter of the graph page. (Note: the actual
- initial view allows a small margin around the view so that labels
- which extend beyond the view boundaries will not be prohibited.)
-
- --------------------------------------
- | ------------------ |
- | | INITIAL | |
- | | VIEW | |
- | | | |
- | | | |
- | ------------------ |
- | |
- | |
- | draw page |
- | |
- --------------------------------------
- Figure 3-9 Initial View in Graphic Window
- 3.3.5 Alphanumeric Window Displays
-
- The Alphanumeric Window is used to display prompts and enter
- data. The lower two lines of the screen are reserved for this
- purpose. When HELP is requested or error messages displayed, the
- Alphanumeric Window is temporarily extended to include the entire
- screen. In these instances the text temporarily overlaps the OODD
- displayed in the View window.
-
- 3.4 Restrictions
-
- The Graphic Ada Designer is intended to provide an efficient
- mechanism for interactively creating Object Oriented Design
- Diagrams (graphs) which correspond to valid Ada programs
- (architecturally and semantically). Although the program attempts
- to guard against the creation of incorrect graphs, it is not
- possible to efficiently prevent a user from creating every
- possible incorrect graph. This leads to two general types of
- restrictions (or potential problems).
-
- 1. The user may attempt to create a graph for which a valid
- Ada program equivalent does not exist . If such an
- invalid graph is created, the resulting PDL will not
- compile, and may not be correct. Known circumstances
- where invalid graphs can be created are:
- - Overloading of identifiers within the same scope
- resulting in homographs.
- - Instantiation of generic units for which the generic
- declarations do not exist (or are not visible).
- - The use of imported units (e.g., Imported Package) which
- have not been placed in the program library.
- - The creation of calls to subprograms which are generic
- declarations through the use of the exported subprogram
- facility.
-
- 2. The user may create a valid graph with built-in scoping
- relation problems caused by overlapping various constructs
- (for example, causing labels to overlap other graphic
- entities). Incorrect graphical scoping may produce
- incorrect results (for example, effectively hiding an
- entity which the user may want to select) or prohibit an
- otherwise correct operation (for example, a move may be
- prohibited because the program does not distinguish
- between invalid scoping relations which pre-exist and
- those which have been created by the move). GAD has
- significant overlap protection incorporated in it, which
- may occassionaly frustrate a user during creation or move
- and resize operations when working with tightly packed
- diagrams.
- 4. GAD TOOL USAGE INFORMATION
-
- 4.1 GAD Invocation
-
- The GAD tool is invoked according to specific host system
- requirements. For a VAX/VMS system the DCL command "RUN GAD" is
- required to load and execute the GAD image file. Initially, a
- welcome and title page will be displayed. While the program is
- initializing, the message
-
- PROGRAM INITIALIZATION
-
- is displayed on the status line of the alphanumeric window. When
- the program has completed initialization, the prompt
-
- Enter the file name to be used (omit extension)
- FILE NAME =>
-
- is displayed in the alphanumeric window. The user should then
- enter the session file name (without any extension). If the name
- already exists with the .GPH extension, that file will be read in
- and displayed for further work. The program will create a new
- file (or file version) with that name when the program is
- terminated with the EXIT command. The MAIN menu will appear when
- user operation is available.
-
- 4.2 Menu Displays
-
- Figure 4-1 shows the organization of the menus used by GAD. The
- following subsections provide detailed descriptions of each of the
- menu command options, associated textual prompts and status
- response messages. References to other sections of this document
- are made to indicate where additional material can be located.
- ----------------------------> PDL STATUS--
- ----MAIN MENU---- |
- | HELP | |
- | | |
- | PAN / ZOOM | ---------
- | | | | | ---+----> GENERIC MENU--
- *| DESIGN |----- | ---DESIGN MENU--- | |
- | DISPLAY ATTRB |--- | | HELP | | |
- | GENERATE PDL |--|---- | MENU BACKUP | | |
- | PRINT | | | PAN / ZOOM | | |
- | READ FILE | | | | | +----> PARAM STATUS--
- | WRITE FILE | | *| VIRTUAL PKG | | |
- | QUIT, NO SAVE | | | PACKAGE |-- |
- | EXIT & SAVE | | | PROCEDURE |----+
- ----STAY-------- | | FUNCTION |-----
- ---------------- | TASK | /--> ENTRY PT MENU--
- | | ENTRY POINT |-----/
- ---ATTRB MENU---- | XECUTING BODY |-------
- | | | IMPORT/EXPORT | |
- | HELP | | CALL CONN |----- |
- | MENU BACKUP | | VISIBLE CONN | | ---> IMPORT/EXPORT--
- | PAN / ZOOM | | EXPORTS CONN | |
- | | | | |
- | VIRTUAL PKGS |--- | DELETE CONN |--- |
- | PACKAGES |--| | DELETE ENTITY |--+ |
- | SUBPROGRAMS |--| | MOVE/RESIZE | | |
- | TASKS |--| | MODIFY ENTITY | | -----> CALL MENU--
- | | | ---STAY---------- |
- | CALL CONN |--| |
- | VISIBLE CONN |--| ----PAN / ZOOM--- |
- | EXPORTS CONN |--| | HELP | |
- ----STAY--------- | | MENU BACKUP | -------> CONFIRM MENU--
- _______________| | |
- | | PAN UP |
- ----COLOR LINE------ | PAN DOWN |
- *| GREEN | | PAN LEFT |
- | BLUE | | PAN RIGHT |
- | VIOLET | | |
- | RED | | ZOOM IN |
- | ORANGE | | ZOOM OUT |
- | YELLOW | | |
- | BLACK | | MAX PAN UP |
- | | | MAX PAN DOWN |
- | SOLID LINE ______| | MAX PAN LEFT |
- | DASHED LINE _ _ _| | MAX PAN RIGHT |
- | DOTTED LINE .....| | |
- ----RETURN---------- | MAX ZOOM IN |
- | MAX ZOOM OUT |
- ---STAY----------
-
-
- Figure 4-1 MENU NETWORK
-
- ----GENERIC MENU-- ----CALL MENU-----
- | HELP | | HELP |
- | MENU BACKUP | | MENU BACKUP |
- *| DECLARATION | *| UNCONDITIONAL |
- | GENERIC DECLA | | CONDITIONAL |
- | GENERIC INSTA | | TIMED |
- ----RETURN-------- ----RETURN--------
-
- ----PARAM STATUS-- ----PDL STATUS----
- | HELP | | HELP |
- | MENU BACKUP | | MENU BACKUP |
- *| HAS PARAMS | *| WITH SUPPORT |
- | NO PARAMS | | NO SUPPORT |
- ----RETURN-------- ----RETURN--------
-
- ---ENTRY PT MENU-- ---CONFIRM MENU---
- | HELP | | HELP |
- | MENU BACKUP | | MENU BACKUP |
- *| UNGUARDED | *| CANCEL |
- | GUARDED | | CONFIRM |
- ----RETURN-------- ----RETURN--------
-
- ---IMPORT/EXPORT--
- | HELP |
- | MENU BACKUP |
- | MAIN MENU |
- | |
- *| EXPORT PROC |
- | EXPORT FUNC |
- | EXPORT TYPE |
- | EXPORT OBJECT |
- | EXPORT EXCEPT |
- | EXPORT ENTRY |
- | |
- | IMPORT VT PKG |
- | IMPORT PKG |
- | IMPORT PROC |
- | IMPORT FUNC |
- | |
- | CALL CONN |
- | ADA USE CONN |
- | SPEC CONN |
- ----STAY----------
-
-
- Figure 4-1 MENU NETWORK continued
- The following legend provides additional information relevant to
- Figures 4-1 and 4-2.
-
- -- The "*" signifies the initial cursor location.
- -- The generic, parameter status, entry point, and call
- menus also contain an "ABORT & BACKUP" command.
- -- STAY/RETURN is the action taken after menu operation.
- -- The PAN / ZOOM menu is directly accessible when stated.
- -- HELP is available on every menu and every command.
-
- 4.2.1 MAIN Menu Display
-
- The following paragraphs provide detailed descriptions of the MAIN
- menu command options.
-
- HELP - Access the Command Help Processor. The HELP descriptions
- for the MAIN MENU are provided in Appendix A.
-
- PAN / ZOOM - Access the Pan / Zoom Menu. Control will be passed
- to the Pan / Zoom menu processor (reference section 4.2.4).
-
- DESIGN - Access the Design Menu Processor. Control will be
- passed to the DESIGN menu processor (reference Section 4.2.5).
-
- DISPLAY ATTRB - Access the Attributes Menu. Control will be
- passed to the ATTRIBUTES menu (reference Section 4.2.2).
-
- GENERATE PDL - Generate the PDL for the Current OODD. Control
- will be temporarily passed to the PDL STATUS menu to determine if
- the Support Package should be included, and then to the PDL
- Generator. The PDL associated with the current OODD graph will be
- generated and placed in an ASCII text file with the current
- session file name and the extension ".PDL".
-
- PRINT - Print the Contents of the View Window. The contents of
- the View window will be dumped to the local print device. No
- menus will be displayed for this operation. The print operation
- is a local terminal hardware operation, and the user should insure
- that the graphics printer is correctly connected to the terminal
- and turned on. Prior to the actual print operation beginning, GAD
- will expand the View window to take up the entire screen, and
- remove the Menu window from view. When the print operation has
- been completed, the windows will be restored to their previous
- state.
-
- READ_FILE - Read In an Existing Design File. The program will
- prompt the user for the name of a file to be read in. The current
- graph will be deleted (and therefore lost), and the graph in the
- user specified file will be displayed in the Graph View window.
- The read operation updates the current value of the session file
- name, so that if the EXIT or GENERATE_PDL commands are used, it
- will be the file name used.
-
- WRITE_FILE - Write Out the Current Graph to a File. The user will
- be prompted for a filename, to which the current graph tree will
- be written. WRITE_FILE does not delete or erase the current graph
- or Graph View Window, and does not alter the value of the session
- file name.
-
- QUIT - Terminate GAD Operation Without Saving The Design. The
- GAD tool operation will be terminated and control passed back to
- the host operating system. Because the current design in the View
- Window will not be saved, this operation will be confirmed prior
- to its completion.
-
- EXIT - Terminate GAD Operation and Save the Design. GAD
- operation will be terminated and control passed to the host
- operating system. The current graph will be written to a new
- version of the current session file.
-
- 4.2.2 ATTRIBUTES Menu
-
- GAD will generate the graphs according to a set of Display
- Attributes which will control the symbols used to depict the
- entities being drawn. Table 4-1 shows the Display Attributes and
- their default settings.
-
- Table 4-1 Attributes and Default Settings
-
- ---------------------------------------------------------
- Name | Symbol | Color
- ----------------------------------------------------------
- Conditional Call Symbol* | 'C' | [line]
- Call Connection Line | solid | black
- Visibility Connection Line | dotted | black
- Export Connection Line | dashed | black
- Guarded Entry Symbol* | '*' | [label]
- Package Symbol | solid | black
- Subprogram Symbol | solid | black
- Task Symbol | solid | black
- Timed Call Symbol* | 'T' | [line]
- Virtual Package Symbol | dashed | black
- ---------------------------------------------------------
- * -> compile time parameter
- [entity] -> the color is derived from the named entity
-
-
- If the user desires to alter the current setting, it is
- recommended that it be altered prior to the start of the editing
- session. Changes to the settings are preserved between sessions,
- but color and line type changes in the middle of an edit session
- will not result in the updating of currently drawn graphic
- entities.
-
- The following paragraphs provide detailed descriptions of the
- ATTRIBUTES menu command options.
-
- HELP - Access the Command Help Processor. The HELP description
- for the DESIGN MENU is provided in Appendix A.
-
- MENU BACKUP - Return to the Previous Higher Menu. Selection of
- this option indicates to the ATTRIB menu processor that design
- operations are complete. Control will return to MAIN menu
- processor (reference section 4.2.1).
-
- PAN / ZOOM - Access the Pan / Zoom Menu. Control will be passed
- to the Pan / Zoom menu processor (reference section 4.2.4).
-
- VIRTUAL PKG - View and Set the Attributes of Virtual Package
- Entities. Transfer control to the COLOR/LINE menu to allow
- viewing and alteration of the attributes of a Virtual Package
- entity.
-
- PACKAGES - View and Set the Attributes of Package Entities.
- Transfer control to the COLOR/LINE menu to allow viewing and
- alteration of the attributes of a Package entity.
-
- SUBPROGRAMS - View and Set the Attributes of Subprogram Entities.
- Transfer control to the COLOR/LINE menu to allow viewing and
- alteration of the attributes of a Subprogram entity.
-
- TASKS - View and Set the Attributes of Task Entities. Transfer
- control to the COLOR/LINE menu to allow viewing and alteration of
- the attributes of a Task entity.
-
- CALL CONN - View and Set the Attributes of Call Connections.
- Transfer control to the COLOR/LINE menu to allow viewing and
- alteration of the attributes of call connections.
-
- VISIBLE CONN - View and Set the Attributes of Data Connections.
- Transfer control to the COLOR/LINE menu to allow viewing and
- alteration of the attributes of data connections.
-
- EXPORTS CONN - View and Set the Attributes of Export Connections.
- Transfer control to the COLOR/LINE menu to allow viewing and
- alteration of the attributes of export connections.
-
-
- 4.2.3 COLOR/LINE Menu Display
-
- The following paragraphs provide detailed descriptions of the
- COLOR/LINE menu command options.
-
- The message (<CURRENT COLOR IS XXX and CURRENT LINE TYPE IS YYY>)
- is displayed upon entering this menu.
-
- HELP - Access the Command Help Processor. The HELP description
- for the COLOR MENU is provided in Appendix A.
-
- BACKUP - Return to the Previous Higher Menu. Selection of this
- option indicates to the COLOR/LINE menu processor that operations
- are complete. Control will return to ATTRIBUTES menu processor
- (reference section 4.2.2).
-
- MAIN MENU - Return to the MAIN MENU. Selection of this option
- indicates to the COLOR/LINE menu processor that operations are
- complete. Control will return to the MAIN menu processor
- (reference section 4.2.1).
-
- GREEN - Change Color Attribute to Green.
-
- BLUE - Change Color Attribute to Blue.
-
- VIOLET - Change Color Attribute to Violet.
-
- RED - Change Color Attribute to Red.
-
- ORANGE - Change Color Attribute to Orange.
-
- YELLOW - Change Color Attribute to Yellow.
-
- BROWN - Change Color Attribute to Brown.
-
- BLACK - Change Color Attribute to Black.
-
- SOLID LINE - Change Line Symbol Attribute to Solid Line.
-
- DASHED LINE - Change Line Symbol Attribute to Dashed Line.
-
- DOTTED LINE - Change Line Symbol Attribute to Dotted Line.
-
- Upon selection of any color or line type option, the attribute
- being modified will change to the selected color or line type and
- control will remain in the COLOR/LINE menu processor until the
- BACKUP or the MAIN MENU command is selected.
-
-
- 4.2.4 PAN / ZOOM Menu
-
- The following paragraphs provide detailed descriptions of the
- PAN / ZOOM menu command options.
-
- HELP - Access the Command Help Processor. The HELP description
- for the CREATE menu is provided in Appendix A.
-
- MENU BACKUP - Return to the Previous Higher Menu. Selection of
- this option indicates to the PAN / ZOOM menu processor that design
- operations are complete. Control will return to invoking menu
- processor.
-
- PAN UP - Move the View Window Up on the Page.
-
- PAN DOWN - Move the View Window Down the Page.
-
- PAN LEFT - Move the View Window Left on the Page.
-
- PAN RIGHT - Move the View Window Right on the Page.
-
- ZOOM IN - Increase Magnification of the View Window.
-
- ZOOM OUT - Decrease Magnification of the View Window.
-
- MAX PAN UP - Move the View Window to the Top of the Page.
-
- MAX PAN DOWN - Move the View Window to the Bottom of the Page.
-
- MAX PAN LEFT - Move the View Window to the Left Side of the Page.
-
- MAX PAN RIGHT - Move the View Window to the Right Side of the
- Page.
-
- MAX ZOOM IN - Increase Magnification of the View Window to the
- Largest Value.
-
- MAX ZOOM OUT - Decrease Magnification of the View Window to the
- Smallest Value.
-
-
- 4.2.5 DESIGN Menu Display
-
- The following paragraphs provide detailed descriptions of the
- DESIGN menu command options.
-
- HELP - Access the Command Help Processor. The HELP description
- for the DESIGN menu is provided in Appendix A.
-
- MENU BACKUP - Return to the Previous Higher Menu. Selection of
- this option indicates to the DESIGN menu processor that design
- operations are complete. Control will return to MAIN menu
- processor (reference section 4.2.1).
-
- PAN / ZOOM - Access the Pan / Zoom Menu. Control will be passed
- to the Pan / Zoom menu processor (reference section 4.2.4).
-
- VIRTUAL PKG - Create a Virtual Package Entity. This command will
- cause a virtual package to be created. The user will be prompted
- for the upper left-hand and lower right-hand points to be used for
- the graphic entity. If the points are valid (e.g., within the
- same scope), then the graphic entity will be drawn, and the user
- will be prompted for the virtual package's name. The name will be
- rejected until a valid Ada identifier is entered. The user will
- be prompted to enter up to three lines of text for a prologue.
-
- PACKAGE - Create a Package. This command will cause a package to
- be created. Control will be transfered to the GENERIC menu to
- obtain the generic status of the package. The user will be
- prompted for the upper left-hand and lower right-hand points to be
- used for the graphic entity. If the points are valid (e.g.,
- within the same scope), then the graphic entity will be drawn, and
- the user will be prompted for the package's name. The name will
- be rejected until a valid Ada identifier is entered. The user
- will be prompted to enter up to three lines of text for a
- prologue.
-
- PROCEDURE - Create a Procedure. This command will cause a
- procedure to be created. Control will be transfered to the
- GENERIC menu to obtain the generic status of the procedure, and to
- the PARAM status menu to obtain the parameter status of the
- procedure. The user will be prompted for the upper left-hand and
- lower right-hand points to be used for the graphic entity. If the
- points are valid (e.g., within the same scope), then the graphic
- entity will be drawn, and the user will be prompted for the
- procedure's name. The name will be rejected until a valid Ada
- identifier is entered. The user will be prompted to enter up to
- three lines of text for a prologue.
-
- FUNCTION - Create a Function. This command will cause a
- function to be created. Control will be transfered to the GENERIC
- menu to obtain the generic status of the function, and to the
- PARAM status menu to obtain the parameter status of the function.
- The user will be prompted for the upper left-hand and lower right-
- hand points to be used for the graphic entity. If the points are
- valid (e.g., within the same scope), then the graphic entity will
- be drawn, and the user will be prompted for the function's name.
- The name will be rejected until a valid Ada identifier is entered.
- When the name is displayed, it will be proceeded by an "=" to show
- that it is a function. The user will then be prompted to enter up
- to three lines of text for a prologue.
-
- TASK - Create a Task. This command will cause a task to be
- created. The user will be prompted for the upper left-hand and
- lower right-hand points to be used for the graphic entity. If the
- points are valid (e.g., within the same scope), then the graphic
- entity will be drawn, and the user will be prompted for the
- task's name. The name will be rejected until a valid Ada
- identifier is entered. The user will be prompted to enter up to
- three lines of text for a prologue.
-
- ENTRY POINT - Create a Task Entry Point. This command will cause
- a task entry point to be created. Control will be transferred to
- the ENTRY_PT status menu to obtain whether it is guarded, and to
- the PARAM status menu to obtain the parameter status of the entry
- point. The user will be prompted for the scope and Y-location of
- the entry point label, which will be attached to the left-hand
- side of the enclosing task. If the point is valid (e.g., within
- the a task), then the graphic entity will be drawn, and the user
- will be prompted for the task entry point's name. The name will
- be rejected until a valid Ada identifier is entered.
-
- XECUTING BODY - Create a Body. This command will cause an
- executable body to be created. The user will be prompted for the
- upper left-hand and lower right-hand points to be used for the
- graphic entity. If the points are valid (e.g., within the same
- scope and within an entity which may have a body and does not
- already have one), then the graphic entity will be drawn.
-
- IMPORT/EXPORT - Access the IMPORT/EXPORT Menu. Selection of this
- option transfers control to the IMPORT/EXPORT menu (reference
- section 4.2.6).
-
- CALL CONN - Create a Call Connection. The program will create a
- call connection between the two specified points. The program
- will prompt the user for the starting point, which must be inside
- a body. The program will prompt the user for the ending point
- which must be a subprogram, an exported subprogram label, or an
- entry point with the correct visibility.
-
- VISIBLE CONN - Create a Data Dependency Connection. The program
- will create a data connection between the two specified points.
- The program will prompt the user for the starting point, which
- must be inside an Ada compilation unit (e.g., package or
- subprogram). The program will prompt the user for the ending
- point which must be inside a package, virtual package, imported
- package label, or an imported virtual package label.
-
- EXPORTS CONN - Create a Exports Connection. The program will
- create an export connection between the two specified points. The
- program will prompt the user for the starting point, which must be
- inside an export label. The program will prompt the user for the
- ending point which must be inside an exportable subprogram or a
- export label within the current scope.
-
- DELETE CONN - Select and Delete a Line Connection. The program
- will prompt the user for the starting point. If the program can
- determine one line from the starting point, then that line is
- highlighted for deletion. If multiple lines are determined from
- the start point, then the end point is requested and the line is
- highlighted for deletion. The user will then be prompted for
- confirmation using the CONFIRM menu. If the user confirms the
- operation, the line connection will be deleted. If the user
- cancels the delete, then the graph will be restored to its prior
- state.
-
- DELETE ENTITY - Select and Delete A Basic Entity. The program
- will delete all entities within the scope the user specifies. The
- program will prompt the user for the scope and, if the scope is
- valid, will highlight the scope the be deleted. The user will
- then be prompted for confirmation using the CONFIRM menu. If the
- user confirms the operation, the scope will be deleted. If the
- user cancels the delete, then the graph will be restored to its
- prior state.
-
- MOVE/RESIZE - Move and Resize the Selected Scope. The program
- will move and resize all entities within the scope the user
- specifies. The program will prompt the user for the scope and, if
- the scope is valid, will highlight the scope (and enclosed
- entities) to be moved and resized. The program will then prompt
- for a new location for the scope to be moved, in the form of a new
- upper left-hand corner for the outer most enclosing entity. The
- program will then prompt for a new size for the scope, in the form
- of a new lower right-hand corner for the outermost enclosing
- entity. On terminals which support cursor positioning, the cursor
- will be positioned to the point which would result in the same
- size. The program will translate the entire selected scope, if
- doing so will not alter the semantics of the current graph. For
- each connection severed by the resize (one end point inside the
- scope and the other outside of the scope), the user will be
- prompted to redraw the connection or accept the automatically
- redrawn connection.
-
- MODIFY ENTITY - Alter the Attributes of an Existing Entity. The
- program will alter the attributes of the user selected entity.
- The user will be prompted to select the entity to be modified and
- will then be allowed to alter the name, prologue, parameter
- status, etc. of the entity. At any time during modification, the
- use of a <RETURN> will result in the preservation of the
- previously existing value.
-
-
- 4.2.6 IMPORT/EXPORT Menu
-
- The following paragraphs provide detailed descriptions of the
- IMPORT/EXPORT Menu command options.
-
-
- HELP - Access the Command Help Processor. The HELP description
- for the IMPORT/EXPORT menu are provided in Appendix A.
-
- MENU BACKUP - Return to the Previous Higher Menu. Selection of
- this option indicates to the IMPORT/EXPORT menu processor that
- operations are complete. Control will return to DESIGN menu
- processor (reference Section 4.2.5).
-
- PAN / ZOOM - Access the Pan / Zoom Menu. Control will be passed
- to the Pan / Zoom menu processor (reference Section 4.2.4).
-
- MAIN MENU - Return to the Main Menu. Selection of this option
- indicates to the IMPORT/EXPORT menu processor that operations are
- to be aborted. Any appropriate data structures are returned to a
- stable state. Control will be returned to MAIN menu processor
- (reference Section 4.2.1).
-
- EXPORT PROC - Create an Exported Procedure Label. The program
- will prompt the user for a point marking the scope and Y-location
- of the export label. The operation will be aborted if the scope
- containing the point is not within a virtual package or package.
- The user will be prompted for the name until a valid Ada
- identifier is entered. The label's graphic entity will then be
- drawn.
-
- EXPORT FUNC - Create an Exported Function Label. The program will
- prompt the user for a point marking the scope and Y-location of
- the export label. The operation will be aborted if the scope
- containing the point is not within a virtual package or package.
- The user will be prompted for the name until a valid Ada
- identifier is entered. The label's graphic entity will then be
- drawn.
-
- EXPORT TYPE - Create an Exported Type Label. The program will
- prompt the user for a point marking the scope and Y-location of
- the export label. The operation will be aborted if the scope
- containing the point is not within a virtual package or package.
- The user will be prompted for the name until a valid Ada
- identifier is entered. The label's graphic entity will then be
- drawn.
-
- EXPORT OBJECT - Create an Exported Object Label. The program will
- prompt the user for a point marking the scope and Y-location of
- the export label. The operation will be aborted if the scope
- containing the point is not within a virtual package or package.
- The user will be prompted for the name until a valid Ada
- identifier is entered. The label's graphic entity will then be
- drawn.
-
- EXPORT EXCEPT - Create an Exported Exception Label. The program
- will prompt the user for a point marking the scope and Y-location
- of the export label. The operation will be aborted if the scope
- containing the point is not within a virtual package or package.
- The user will be prompted for the name until a valid Ada
- identifier is entered. The label's graphic entity will then be
- drawn.
-
- EXPORT ENTRY - Create an Exported Entry Point Label. The program
- will prompt the user for a point marking the scope and Y-location
- of the export label. The operation will be aborted if the scope
- containing the point is not within a virtual package or package.
- The user will be prompted for the name until a valid Ada
- identifier is entered. The label's graphic entity will then be
- drawn. The program will then ask the user to connect the exported
- entry point to task entry point or exported entry point label
- within the current scope. If a valid connection is not
- established then the label will be deleted (note: stand alone
- exported entry points are not permitted).
-
- IMPORT VT PKG - Create an Imported Virtual Package Label. The
- program will prompt the user for a point marking the scope and Y-
- location of the import label. The operation will be aborted if the
- scope containing the point is not within a virtual package or
- package. The user will be prompted for the name until a valid Ada
- identifier is entered. The label's graphic entity will then be
- drawn.
-
- IMPORT PKG - Create an Imported Package Label. The program will
- prompt the user for a point marking the scope and Y-location of
- the import label. The operation will be aborted if the scope
- containing the point is not within a virtual package or package.
- The user will be prompted for the name until a valid Ada
- identifier is entered. The label's graphic entity will then be
- drawn.
-
- IMPORT PROC - Create an Imported Procedure Label. The program
- will prompt the user for a point marking the scope and Y-location
- of the import label. The operation will be aborted if the scope
- containing the point is not within a virtual package or package.
- The user will be prompted for the name until a valid Ada
- identifier is entered. The label's graphic entity will then be
- drawn.
-
- IMPORT FUNC - Create an Imported Function Label. The program will
- prompt the user for a point marking the scope and Y-location of
- the import label. The operation will be aborted if the scope
- containing the point is not within a virtual package or package.
- The user will be prompted for the name until a valid Ada
- identifier is entered. The label's graphic entity will then be
- drawn.
-
- CALL CONN - Create a Call Connection. The program will create a
- call connection between the two specified points. The program
- will prompt the user for the starting point, which must be inside
- a body. The program will prompt the user for the ending point
- which must be a subprogram, an exported subprogram label, or an
- entry point with the correct visibility.
-
- VISIBLE CONN - Create a Data Dependency Connection. The program
- will create a data connection between the two specified points.
- The program will prompt the user for the starting point, which
- must be inside an Ada compilation unit (e.g., package or
- subprogram). The program will prompt the user for the ending
- point which must be inside a package, virtual package, imported
- package label, or an imported virtual package label.
-
- EXPORTS CONN - Create a Exports Connection. The program will
- create an export connection between the two specified points. The
- program will prompt the user for the starting point, which must be
- inside an export label. The program will prompt the user for the
- ending point which must be inside an exportable subprogram or a
- export label within the current scope.
-
-
- 4.2.7 GENERIC Menu
-
- The following paragraphs provide detailed descriptions of the
- GENERIC menu command options.
-
- HELP - Access the Command Help Processor. The HELP description
- for the GENERIC MENU is provided in Appendix A.
-
- MENU BACKUP - Return to the Previous Higher Menu. Selection of
- this option indicates a no-operation to the GENERIC MENU
- processor. Control will return to the invoking menu processor.
-
- DECLARATION - Set Status as Nongeneric. A newly created package,
- procedure or function entity is non-generic. Control will return
- to the DESIGN menu processor (reference Section 4.2.5).
-
- GENERIC DECLA - Set Generic Declaration Status. A newly created
- package, procedure or function entity is a generic declaration.
- Control will return to the DESIGN menu processor (reference
- Section 4.2.5).
-
- GENERIC INSTA - Set Generic Instantiation Status. A newly created
- package, procedure or function entity is a generic instantiation.
- The user will be prompted for the name of the unit to be created
- and the name of the unit to be instantiated until valid
- identifiers are entered for both. Control will return to the
- DESIGN menu processor (reference Section 4.2.5).
-
-
- 4.2.8 PARAMETER STATUS Menu
-
- The following paragraphs provide detailed descriptions of the
- PARAM STATUS menu command options.
-
- HELP - Access the Command Help Processor. The HELP description
- for the PARAM STATUS menu is provided in Appendix A.
-
- MENU BACKUP - Return to the Previous Higher Menu. Selection of
- this option indicates a no-operation to the PARAM STATUS menu
- processor. Control will return to the invoking processor, and the
- operation in progress will be aborted.
-
- HAS PARAMS - Indicates That an Entity Has Parameters. The
- selection of this option indicates that the entity being created
- has parameters. This option is used in the creation of
- subprograms and task entry points.
-
- NO PARAMS - Indicates That an Entity Has No Parameters. The
- selection of this option indicates that the entity being created
- does not have parameters. This option is used during the creation
- of subprograms and task entry points.
-
-
- 4.2.9 ENTRY PT Menu
-
- The following paragraphs provide detailed descriptions of the
- ENTRY PT menu command options.
-
- HELP - Access the Command Help Processor. The HELP description
- for the ENTRY PT menu is provided in Appendix A.
-
- MENU BACKUP - Return To The Previous Higher Menu. Selection of
- this option indicates a no-operation to the ENTRY PT menu
- processor. Control will return to invoking menu processor.
-
- UNGUARDED - Indicates an Unguarded Entry Point Should Be Created.
- The selection of this option indicates that the entry point to be
- created will be an unguarded entry point.
-
- GUARDED - Indicates a Guarded Entry Point Should Be Created. The
- selection of this option indicates that the entry point to be
- created will be a guarded entry point.
-
-
- 4.2.10 CALL Menu
-
- The following paragraphs provide detailed descriptions of the
- CALL menu command options.
-
- HELP - Access the Command Help Processor. The HELP description
- for the CALL menu is provided in Appendix A.
-
- MENU BACKUP - Return to the Previous Higher Menu. Selection of
- this option indicates a no-operation to the CALL menu processor.
- Control will return to the invoking processor.
-
- UNCONDITIONAL - Indicates an Unconditional Call Should Be Created.
- The selection of this option indicates that the call connection
- being created should be unconditional.
-
- CONDITIONAL - Indicates a Conditional Call Should Be Created. The
- selection of this option indicates that the call connection being
- created should be conditional. The PDL produced for the call will
- be proceeded by a boolean expression.
-
- TIMED - Indicates a Timed Call Should Be Created. The selection
- of this option indicates that the call connection being created
- should be timed. This option may only be selected when the call
- is to an entry point or exported entry point. The PDL produced
- for the call will include a SELECT statement with a DELAY.
-
-
- 4.2.11 CONFIRM Menu
-
- The following paragraphs provide detailed descriptions of the
- CONFIRM menu command options.
-
- HELP - Access the Command Help Processor. The HELP description
- for the CONFIRM menu is provided in Appendix A.
-
- MENU BACKUP - Return to the Previous Higher Menu. Selection of
- this option indicates a no-operation or cancel to the CONFIRM menu
- processor. Control will return to the invoking processor.
-
- CANCEL - Cancel the Operation in Progress. The selection of the
- CANCEL option will indicate to the program to cancel the operation
- in progress, and return to the program/graph state which existed
- prior to the operation's initiation.
-
- CONFIRM - Confirm the Operation in Progress. The selection of the
- CONFIRM option indicates to the program that the operation in
- progress should be completed.
-
-
- 4.2.12 PDL STATUS Menu
-
- The following paragraphs provide detailed descriptions of the
- PDL STATUS menu command options.
-
- HELP - Access the Command Help Processor. The HELP description
- for the PDL STATUS menu is provided in Appendix A.
-
- MENU BACKUP - Return to the Previous Higher Menu. Selection of
- this option indicates a no-operation or cancel to the PDL STATUS
- menu processor. Control will return to the invoking processor.
-
- WITH SUPPORT - Insert the Support Package in the PDL. The
- selection of the WITH SUPPORT command causes the PDL generator to
- insert the Support Package in the PDL, and add context and
- visibility clauses for the Support Package to each top-level
- compilation unit.
-
- NO SUPPORT - Do not insert the Support Package in the PDL. The
- selection of the NO SUPPORT command causes the PDL generator to
- produce the PDL without the Support Package source, and without
- the context and visibility clauses.
-
-
- 4.3 Usage
-
- This section describes how to use the Graphic Ada Designer. Many
- operations are performed frequently throughout the tool (e.g.,
- graphic entity selection), and this section describes how to
- perform these operations. This section also provides a number of
- hints, which will allow the user to create OODDs more efficiently
- and effectively.
-
- o The selection of commands is performed by using the cursor
- positioning device to place the cursor within the box
- surrounding the command name. Once the cursor has been
- placed at the correct selection/location, a single
- keystroke is used to signal the program to use the current
- location. This technique is used throughout the program to
- select and/or mark locations. On the Tektronix 4107
- terminal, the key to use is the spacebar. Care should be
- taken to avoid accidentally using one of the other keys.
-
- o The selection of a scope is accomplished by placing the
- cursor inside of the scope desired (i.e., within the box of
- a basic entity or on top of the text of a label). When
- selecting a scope with contained entities, care should be
- taken not to place the cursor inside of a lower level
- entity, since the inner most scope possible will be
- selected.
-
- o Connections are drawn by first selecting the starting and
- ending points of the connections. These points will be
- marked by tokens (red asterisks), and should be within the
- scopes of the entities which are to be connected. The
- points selected will also be the termination points of the
- line, so care should be taken to position the points at the
- desired location. Once the starting and ending points have
- been specified, the program will then allow the user to
- enter up to 20 intermediate points, which define the ends
- of the line segments which will make up the line. The line
- is completed by placing the cursor on top of (or near) the
- token marking the ending point. During line segment
- generation, the program will automatically make near
- vertical or near horizontal lines exactly vertical or
- horizontal (except for the last line segment which must
- terminate on the ending point exactly).
-
- o When the user is creating basic entities (e.g., packages,
- subprograms), the program asks the user to select both the
- upper left hand and lower right hand points of a box which
- circumscribes the entity to be drawn. The location of the
- upper left hand point is marked by a token, to assist the
- user in sizing the entity. When non-rectangular entities
- (bodies or tasks) are being created, the largest possible
- symbol which fits within the rectangle defined by the
- points entered will be drawn.
-
- The following hints, if followed, will substantially increase the
- ease with which Ada OODDs may be created.
-
- o Occasionally during GAD operations, a user will
- accidentally hit the wrong key (i.e., other than a
- spacebar) to indicate that a location has been
- marked/selected. GAD correctly ignores these spurious
- characters, but the striking of several keys in rapid
- succession can result in the appearance of "yellow boxes"
- in the Menu window. These are caused by host system
- echoing of spurious characters, and can be removed by using
- the "Screen Erase" key.
-
- o Occasionally during GAD operation, the program will appear
- to ignore a user entered key (spacebar) indicating that a
- location has been marked/selected. This usually occurs
- when GAD is being operated on a heavily used host system,
- and results from excessive time occuring between the user
- prompt message and the sending of the escape code sequence
- to the graphics terminal readying it to perform the
- location transmission operation. The user can recover by
- striking the key again.
-
- o The order in which items are placed in the Ada PDL is the
- order in which the items are created. Thus if the ordering
- is important, the items should be created in the desired
- order. For example, if subprogram calls need to be in a
- particular order, then the call connections should be
- created in the same order.
-
- o Care should be taken not to draw virtual packages,
- packages, or tasks too narrowly. If these entities are
- drawn too narrow, then exports can never be placed on them,
- because they will overlap the righthand boundary (which is
- prevented by the program during export creation to prevent
- incorrect scoping problems). This is particularly true for
- tasks, which should be wider than they are tall (i.e.,
- aspect ratio < 1).
-
- o Color and line type attribute changes are saved between
- sessions. However, only entities which are created and/or
- moved after attribute changes are affected. To see the
- OODD with the color and line types changed, simply use the
- READ_FILE and WRITE_FILE commands to save and restore the
- file. To highlight one (or more) entities in a special
- color or line type, make the attribute change during a
- session, create or move the entities to be highlighted, and
- then print the graph.
-
- o GAD does not maintain relationships between GAD files. A
- user may create a series of graphs depicting the evolution
- of the design. This is best done by creating a top-level
- OODD which shows the two or three top-most levels of
- detail, and then using other graphs to expand on the lowest
- level entities from the top-level OODD. This process can
- be used iteratively until the program architecture has been
- defined in sufficient detail.
-
- o The existence of connections tends to make MOVE/RESIZE
- operations much more difficult to complete (due to the need
- to handle moved connections). Consequently, it is a good
- practice to create all the primary and annotating entities
- for an OODD and get them positioned correctly
- (aesthetically), prior to creating any connections.
-
- o During MOVE/RESIZE operations, the user must re-establish
- all connections which cross into, or out of, the scope
- which was moved. For this to be performed, the starting
- and ending points of each such connection must be visible
- in the View window. If this is not the case, the program
- will automatically go to max zoom out in the View window.
- In many cases, the size of entities at max zoom out may be
- so small as to make re-connection difficult or impossible.
- If this should occur, it is best to confirm the GAD
- suggested connections and/or abort the operation. Thus, it
- is highly advantageous to insure that the View window is
- set correctly in terms of connection viewing, prior to
- initiating a MOVE/RESIZE operation.
-
- o Entity names can not be read on hardcopies at maximum zoom
- out levels. If name legibility is important, it is much
- easier to start small (zoomed in) and expand (zoom out),
- than to start big and contract (zoom in).
-
- o Much like other word processing tools, it is a good
- practice for the user to periodically save (write and then
- read) the design that is being created/modified. If the
- host goes down (or any other problem develops), less
- time/effort is lost in restoring the OODD. Also, if a user
- wishes to change the design significantly, there will be
- multiple versions of the design to choose as starting
- points.
-
- o All basic entities are described by a pair of points
- defining a rectangle which circumscribes the entity. In
- the case of non-rectangular entities (bodies or tasks), the
- rectangle defining the entity covers a space larger than
- the actual entity itself, and defines a "sphere of
- influence" which can not be occupied by other objects.
-
- o It is highly recommended that call connection color
- attributes be drastically different than the color of other
- entities. This practice clearly distinguishes flow control
- information from structure information.
-
- o The attribute color yellow displays very well on the
- graphics terminal, but is virtually useless on hardcopies.
-
- o It is highly desirable to have something specific in mind
- prior to beginning a session, unless the user is simply
- learning how to use the tool.
-
- o The GAD print capability operates by dumping the screen of
- the graphics terminal to a local printer connected to a
- port on the back of the terminal. Print operations can
- fail for a variety of reasons (e.g., printer is off-line or
- runs out of ink), and failures, particularly ones occuring
- during the middle of the print operation, can 'bomb' the
- program. User's should guard against possible data loss by
- saving their OODDs prior to beginning any print operation.
- 5. GAD DESIGN EXAMPLE
-
- This section provides an example of using GAD to create an OODD.
- The ASCII representation of the OODD is shown in 5.1, the
- procedures followed to create the OODD are given in 5.2, and the
- PDL which would be generated is given in 5.3.
-
- 5.1 Design Scenario
-
- Figure 5-1 illustrates an OODD which can be created with the
- Graphic Ada Designer using an ASCII version of Ada Graphic
- Notation.
-
- VIRTUAL_PACKAGE_1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- PACKAGE_1
- | ------------------------ |
- (DECLARA) |
- | | ---------- | |
- |PROC_2|-------------------|PROC_2|--|PROC_2 | |
- | | |--------| | |
- | | |----------|PROC_3|
- | | ---------- | | |
- | -------------------- |
- | | | TASK_1 | |
- | | ----------- |
- | | | / ---/------| |
- | ---/*ENT_T1/ / | ---#PKG_4#
- | | / / | |
- | ----------- |
- | ------------------------ |
- --------- PACKAGE_2
- |PROC_1|--|PROC_1 | ------------------------ |
- |-------| | ----------- |
- | | |------|=FUNCT_|---|=FUNCT_1 +------| |
- | |T-- | |---------| | |
- | --------- | | | |-- | ---#PKG_3#
- | | ----------- | |
- | | | -------------------- | |
- | | | TASK_2 |
- | ---- | | ----------- | |
- | | | / / |
- | | | ----/*ENT_T2/ --/-| | |
- ------/ENT_T3/--/*ENT_T3/ / ------%V_PKG_2%
- | | ----------- | |
- ------------------------
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Figure 5-1. Sample OODD
-
- The Sample OODD is an ASCII character representation which is
- equivalent to that which would be drawn with bit-mapped graphics
- by GAD. The diagram uses identical conventions with the
- exception that call connections originate from the right hand side
- of a graphic entity instead of from the inside of the appropriate
- executing body.
-
- 5.2 Scenario Walk-Through
-
- To create the OODD shown in Figure 5-1.1, the following operator
- inputs could be used:
-
- $ RUN GAD
-
- select [DESIGN] option on MAIN menu.
-
- select [VIRTUAL PKG] option on DESIGN menu.
- mark upper left hand corner of VIRTUAL_PACKAGE_1
- mark lower right hand corner of VIRTUAL_PACKAGE_1
- enter name "VIRTUAL_PACKAGE_1"
- enter the prologue
-
- select [PACKAGE] option on DESIGN menu.
- select [DECLARATION] option on GENERIC menu.
- mark upper left hand corner of PACKAGE_1
- mark lower right hand corner of PACKAGE_1
- enter name "PACKAGE_1"
- enter the prologue
-
- select [PACKAGE] option on DESIGN menu.
- select [DECLARATION] option on GENERIC menu.
- mark upper left hand corner of PACKAGE_2
- mark lower right hand corner of PACKAGE_2
- enter name "PACKAGE_2"
- enter the prologue
-
- select [PROCEDURE] option on DESIGN menu.
- select [DECLARATION] option on GENERIC menu.
- select [NO PARAMS] on PARAM STATUS menu.
- mark upper left hand corner of PROC_1
- mark lower right hand corner of PROC_1
- enter name "PROC_1"
- enter the prologue
-
- select [XECUTING BODY] option on DESIGN menu.
- mark upper left hand corner of body in PROC_1
- mark lower right hand corner of body in PROC_1
-
- select [PROCEDURE] option on DESIGN menu.
- select [DECLARATION] option on GENERIC menu.
- select [NO PARAMS] on PARAM STATUS menu.
- mark upper left hand corner of PROC_2
- mark lower right hand corner of PROC_2
- enter name "PROC_2"
- enter the prologue
-
- select [XECUTING BODY] option on DESIGN menu.
- mark upper left hand corner of body in PROC_2
- mark lower right hand corner of body in PROC_2
-
- select [TASK] option on DESIGN menu.
- mark upper left hand corner of TASK_1
- mark lower right hand corner of TASK_1
- enter name "TASK_1"
- enter the prologue
-
- select [ENTRY POINT] option on DESIGN menu.
- select [GUARDED] on ENTRY PT menu.
- select [NO PARAMS] on PARAM STATUS menu.
- mark scope and Y location within TASK_1 for ENT_T1
- enter name "ENT_T1"
-
- select [FUNCTION] option on DESIGN menu.
- select [DECLARATION] option on GENERIC menu.
- select [NO PARAMS] on PARAM STATUS menu.
- mark upper left hand corner of FUNCT_1
- mark lower right hand corner of FUNCT_1
- enter name "FUNCT_1"
- enter the prologue
-
- select [XECUTING BODY] option on DESIGN menu.
- mark upper left hand corner of body in FUNCT_1
- mark lower right hand corner of body in FUNCT_1
-
- select [TASK] option on DESIGN menu.
- mark upper left hand corner of TASK_2
- mark lower right hand corner of TASK_2
- enter name "TASK_2"
- enter the prologue
-
- select [ENTRY POINT] option on DESIGN menu.
- select [GUARDED] on ENTRY PT menu.
- select [NO PARAMS] on PARAM STATUS menu.
- mark scope and Y location in TASK_2 of ENT_T2
- enter name "ENT_T2"
-
- select [ENTRY POINT] option on DESIGN menu.
- select [GUARDED] on ENTRY PT menu.
- select [NO PARAMS] on PARAM STATUS menu.
- mark scope and Y location in TASK_2 of ENT_T3
- enter name "ENT_T3"
-
- select [IMPORT/EXPORT] option on DESIGN menu.
-
- select [EXPORT PROC] on IMPORT/EXPORT menu.
- mark scope and Y location of export symbol for PROC_2
- inside of PACKAGE_1.
- enter name "PROC_2"
-
- select [EXPORT FUNC] on IMPORT/EXPORT menu.
- mark scope and Y location of export symbol for FUNCT_1
- inside of PACKAGE_2.
- enter name "FUNCT_1"
-
- select [EXPORT ENTRY] on IMPORT/EXPORT menu.
- mark scope and Y location of export symbol for ENT_T3
- inside of PACKAGE_2.
- enter name "ENT_T3"
- make connection to entry point ENT_T3 within TASK_2
-
- select [EXPORT PROC] on IMPORT/EXPORT menu.
- mark scope and Y location of export symbol for PROC_2
- inside of VIRTUAL_PACKAGE_1.
- enter name "PROC_2"
-
- select [EXPORT PROC] on IMPORT/EXPORT menu.
- mark scope and Y location of export symbol for PROC_1
- inside of VIRTUAL_PACKAGE_1.
- enter name "PROC_1"
-
- select [IMPORT PROC] on IMPORT/EXPORT menu.
- mark scope and Y location of export symbol for PROC_3
- inside of VIRTUAL_PACKAGE_1.
- enter name "PROC_3"
-
- select [IMPORT PKG] on IMPORT/EXPORT menu.
- mark scope and Y location of export symbol for PKG_4
- inside of VIRTUAL_PACKAGE_1.
- enter name "PKG_4"
-
- select [IMPORT PKG] on IMPORT/EXPORT menu.
- mark scope and Y location of export symbol for PKG_3
- inside of VIRTUAL_PACKAGE_1.
- enter name "PKG_3"
-
- select [IMPORT VT PKG] on IMPORT/EXPORT menu.
- mark scope and Y location of export symbol for V_PKG_2
- inside of VIRTUAL_PACKAGE_1.
- enter name "V_PKG_2"
-
- select [MENU BACKUP] on IMPORT/EXPORT menu.
-
- select [EXPORTS CONN] on DESIGN menu.
- mark inside of PROC_2 export label on boundary of
- VIRTUAL_PACKAGE_1.
- mark inside of PROC_2 export label on boundary of
- PACKAGE_1.
- make connection
-
- select [EXPORTS CONN] on DESIGN menu.
- mark inside of PROC_1 export label on boundary of
- VIRTUAL_PACKAGE_1.
- mark inside of PROC_1.
- make connection
-
- select [EXPORTS CONN] on DESIGN menu.
- mark inside of PROC_2 export label on boundary of
- PACKAGE_1.
- mark inside of PROC_2.
- make connection
-
- select [EXPORTS CONN] on DESIGN menu.
- mark inside of FUNCT_1 export label on boundary of
- PACKAGE_2.
- mark inside of FUNCT_1.
- make connection
-
- select [CALL CONN] on DESIGN menu.
- select [UNCONDITIONAL] option on CALL menu.
- mark inside of body of PROC_1.
- mark inside of FUNCT_1 export label on boundary of
- PACKAGE_2.
- make connection
-
- select [CALL CONN] on DESIGN menu.
- select [TIMED] option on CALL menu.
- mark inside of body of PROC_1.
- mark inside of ENT_T3 export label on boundary of
- PACKAGE_2.
- make connection
-
- select [VISIBLE CONN] on DESIGN menu.
- mark inside of scope of TASK_1.
- mark inside of PKG_4 import label on boundary of
- VIRTUAL_PACKAGE_1.
- make connection
-
- -- The remainder of the call and data connections are
- -- left as an excercise for the interested student.
-
- select [MENU BACKUP] option on DESIGN menu.
-
- select [GENERATE PDL] option on MAIN menu.
- -- this will create the PDL for the OODD.
-
- select [EXIT & SAVE] option on MAIN menu.
- --This will terminate GAD and save the OODD.
-
-
- 5.3 Generated PDL
-
- The following listing represents the Ada PDL that would be
- generated for the design diagram shown in Figure 5-1.1. The
- format of the comments derived from the prologues has been altered
- for this presentation.
-
- with PROC_3 ;
- with PKG_4 ;
- with PKG_3 ;
- with V_PKG_2 ;
- package VIRTUAL_PACKAGE_1 is --* VIRTUAL PACKAGE
- --* This is the outter most virtual package, which encloses all
- --* the basic entities used in this example.
-
- package PACKAGE_1 is
- --* This enclosed package exports a procedure which accesses
- --* a task. The package utilizes an imported procedure and
- --* package.
-
- procedure PROC_2 ;
- end PACKAGE_1 ;
-
- procedure PROC_1 ;
- end VIRTUAL_PACKAGE_1 ; --* VIRTUAL PACKAGE
-
-
- package body VIRTUAL_PACKAGE_1 is --* VIRTUAL PACKAGE
- --* This is the outter most virtual package, which encloses all
- --* the basic entities used in this example.
-
- package PACKAGE_2 is
- --* This enclosed packages exports a function and task entry
- --* point. The function also accesses an entry point. The
- --* package utilizes imported package and virtual package.
-
- function FUNCT_1 return TBD_TYPE ;
- --* This function makes a conditional call on a task
- --* entry point.
-
- task TASK_2 is
- entry ENT_T2 ;
- entry ENT_T3 ;
- end TASK_2 ;
- end PACKAGE_2 ;
-
- package body PACKAGE_1 is
- --* This enclosed package exports a procedure which accesses
- --* a task. The package utilizes an imported procedure and
- --* package.
-
- task TASK_1 is
- entry ENT_T1 ;
- end TASK_1 ;
-
- procedure PROC_2 is
- begin
- PROC_3 ;
- VIRTUAL_PACKAGE_1.PACKAGE_1.TASK_1.ENT_T1 ;
- end PROC_2 ;
-
- task body TASK_1 is
- use PKG_4 ;
- begin
- select
- when TBD_CONDITION =>
- accept ENT_T1 ;
- end select ;
- end TASK_1 ;
- end PACKAGE_1 ;
-
- package body PACKAGE_2 is
- --* This enclosed packages exports a function and task entry
- --* point. The function also accesses an entry point. The
- --* package utilizes imported package and virtual package.
-
- function FUNCT_1 return TBD_TYPE is
- --* This function makes a conditional call on a task
- --* entry point.
- use PKG_3 ;
- begin
- if TBD_CONDITION then
- VIRTUAL_PACKAGE_1.PACKAGE_2.TASK_2.ENT_T2 ;
- end if ;
- return TBD_OBJECT ;
- end FUNCT_1 ;
-
- task body TASK_2 is
- use V_PKG_2 ;
- begin
- select
- when TBD_CONDITION =>
- accept ENT_T2 ;
- or
- when TBD_CONDITION =>
- accept ENT_T3 ;
- end select ;
- end TASK_2 ;
- end PACKAGE_2 ;
-
- procedure PROC_1 is
- begin
- TBD_OBJECT := VIRTUAL_PACKAGE_1.PACKAGE_2.FUNCT_1 ;
- select
- VIRTUAL_PACKAGE_1.PACKAGE_2.TASK_2.ENT_T3 ;
- or
- delay TBD_TIME ;
- end select ;
- end PROC_1 ;
- end VIRTUAL_PACKAGE_1 ; --* VIRTUAL PACKAGE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- APPENDIX A
- ON-LINE HELP FILE LISTING
-
- A. ON-LINE HELP FILE
-
- The HELP file supplied with the GAD software is an ASCII text file that
- is capable of modification by the user. The following text description
- is contained in the file and briefly describes how to change the file if
- desired. It should be noted that a recompilation of the GAD software is
- not required when this file is modified. The help file is labeled as
- GADHELP.HLP in the release library.
-
- --
- -- Instructions for generating/modifying the help file:
- -- 1) Page separators must be used to differentiate the
- -- various menu and command help text pages.
- -- For DEC Ada the page separators are <FF>
- -- 2) The first line subsequent to the page separator must
- -- contain the menu or command identifier with the string
- -- beginning in the first column
- -- 3) The menu or command identifiers must correspond to the
- -- MENU_ID or COMMAND_TYPE enumerated values in package
- -- MMI_PARAMETERS; the 'IMAGE attribute is used
- -- to generate the search string.
- --
-
- The following paragraphs are organized numerically according to the
- placement of the menu in the organization of the control menu network.
-
- The HELP option is implemented in a toggle switch fashion. When the
- HELP option is first selected, control is transferred to the help
- processor software and remains there until the HELP option is again
- selected.
-
- Each description is divided into the initial display when HELP is
- initially requested for a particular menu; and into the subsequent menu
- option displays when for a particular selection option, while in the
- HELP processor, from the menu.
-
- A.1 Main Menu Descriptions
-
- Upon selecting the HELP option on the MAIN MENU, the following display
- will be provided in the Graphics Window area of the terminal screen.
-
- MAIN_MENU
-
- MAIN MENU
-
- DESCRIPTION : Invoke the basic functions of the Graphic
- Ada Designer.
-
- PAN / ZOOM -> Access the Pan/Zoom Menu to alter the
- portion of the graph displayed on the
- terminal.
- DESIGN -> Access the Design Menu to create, display,
- and edit object oriented design diagrams
- ( graphs ).
- DISPLAY ATTRB -> Access the Attributes Menu to alter and
- display symbol attributes.
- GENERATE PDL -> Generate the PDL for the current graph.
- PRINT -> Print the graph.
- READ FILE -> Read in a graph from the selected file.
- WRITE FILE -> Write out a graph to the selected file.
- QUIT, NO SAVE -> Quit without saving the current work file.
- EXIT & SAVE -> Exit and save the current work file.
-
- The specific HELP descriptions for individual options on MAIN_MENU are
- as follows:
-
- PAN_ZOOM_CMD
-
- PAN ZOOM MENU
- Access the Pan/Zoom Menu processor to alter the
- portion of the graph displayed on the terminal.
- Pans up, down, left, and right.
- Zooms in and out.
-
- DESIGN_CMD
-
- DESIGN
- Access the Design Menu processor to
- create, display, and edit the Object
- Oriented Design Diagrams ( graphs ).
-
- ATTRIBUTES_CMD
-
- DISPLAY ATTRIBUTES
- Access the Display Attributes Menu to alter and
- display the symbol attributes associated with the
- current graph. Altered attributes are preserved
- between sessions.
-
- GEN_PDL_CMD
-
- GENERATE PDL
- Extract the necessary syntactical and semantical
- information from the design diagrams and generate
- compilable PDL text files. The PDL text will be
- placed in a file with the same name as the design
- file, but with the extension ".PDL"
-
- PRINT_CMD
-
- PRINT
- Enlarge the currently displayed graph to full screen
- size, print the graph to the graphics printer connected
- to the terminal's output port, and restore the displayed
- graph to the normal size.
-
- READ_FILE_CMD
-
- READ FILE
- Read in a previously created GAD design file,
- or create a new graph. The user will be
- prompted for the name of the file to be read
- or created. Usage of this command will result
- in the erasure of the current graph.
-
- WRITE_FILE_CMD
-
- WRITE FILE
- Write out the current design diagram to a GAD
- design file. The user will be prompted for the
- name of the file to write the graph data.
-
- QUIT_CMD
-
- QUIT, NO SAVE
- Terminate GAD operation without saving the
- current graph.
-
- FINISHED_CMD
-
- EXIT & SAVE
- Terminate GAD operation and save the current
- graph. The operator specified default file
- name will be used to create a new version of
- the file.
-
- A.2 Pan/Zoom Menu Help Description
-
- Upon selecting the HELP option on the PAN/ZOOM MENU, the following
- display will be provided in the Graphics Window area of the terminal
- screen.
-
- PAN_ZOOM_MENU
-
- PAN / ZOOM MENU
-
- DESCRIPTION : Alter the window ( portion of the graph
- displayed ) show on the terminal.
-
- BACKUP/RESUME -> Return to the previous menu, and display
- the selected view on the full design area.
- PAN UP -> Move the graphics window upward.
- PAN DOWN -> Move the graphics window downward.
- PAN LEFT -> Move the graphics window to the left.
- PAN RIGHT -> Move the graphics window to the right.
- ZOOM IN -> Decrease the graphics window size.
- ZOOM OUT -> Increase the graphics window size.
- MAX PAN UP -> Move the graphics window fully upward.
- MAX PAN DOWN -> Move the graphics window fully downward.
- MAX PAN LEFT -> Move the graphics window fully to the left.
- MAX PAN RIGHT -> Move the graphics window fully to the right.
- MAX ZOOM IN -> Fully decrease the graphics window size.
- MAX ZOOM OUT -> Fully increase the graphics window size.
-
- The specific HELP descriptions for individual options on PAN / ZOOM MENU
- are as follows:
-
- BACKUP_CMD
-
- MENU BACKUP
- Return control to the menu from which control
- had been passed; i.e. the previous menu.
-
- If the user is in a subordinate menu during a
- creation that is requesting specific (generic
- status, parameter status, etc.) information,
- then the BACKUP acts as an abort for the creation.
-
- PAN_UP_CMD
-
- PAN UP
- Move the window on the graph upward and display the
- redefined window on the terminal.
-
- PAN_DOWN_CMD
-
- PAN DOWN
- Move the window on the graph downward and display the
- redefined window on the terminal.
-
- PAN_LEFT_CMD
-
- PAN LEFT
- Move the window on the graph to the left and display
- the redefined window on the terminal.
-
- PAN_RIGHT_CMD
-
- PAN RIGHT
- Move the window on the graph to the right and display
- the redefined window on the terminal.
-
- ZOOM_IN_CMD
-
- ZOOM IN
- Decrease the size of the window on the graph and
- display the redefined window on the terminal.
-
- ZOOM_OUT_CMD
-
- ZOOM OUT
- Increase the size of the window on the graph and
- display the redefined window on the terminal.
-
- MAX_ZOOM_IN_CMD
-
- MAX ZOOM IN
- Fully decrease the size of the window on the graph
- and display the redefined window on the terminal.
-
-
- MAX_ZOOM_OUT_CMD
-
- MAX ZOOM OUT
- Fully increase the size of the window on the graph
- and display the redefined window on the terminal.
-
- MAX_PAN_UP_CMD
-
- MAX PAN UP
- Move the window on the graph fully upward and
- display the redefined window on the terminal.
-
- MAX_PAN_DOWN_CMD
-
- MAX PAN DOWN
- Move the window on the graph fully downward and
- display the redefined window on the terminal.
-
- MAX_PAN_LEFT_CMD
-
- MAX PAN LEFT
- Move the window on the graph fully to the left
- and display the redefined window on the terminal.
-
- MAX_PAN_RIGHT_CMD
-
- MAX PAN RIGHT
- Move the window on the graph fully to the right
- and display the redefined window on the terminal.
-
- A.3 Design Menu Help Description
-
- Upon selecting the HELP option on the DESIGN MENU, the following display
- will be provided in the Graphics Window area of the terminal screen.
-
- DESIGN_MENU
- DESIGN MENU
-
- DESCRIPTION : Create, delete, and edit object
- oriented design diagrams ( graphs ).
-
- MENU BACKUP -> Design completed, return to the
- last higher menu.
- PAN / ZOOM -> Access the Pan/Zoom Menu to alter the
- view window location on the page.
- VIRTUAL PKG -> Create a virtual package symbol
- PACKAGE -> Create a package symbol
- PROCEDURE -> Create a procedure symbol
- FUNCTION -> Create a function symbol
- TASK -> Create a task symbol
- ENTRY POINT -> Create an entry point to a task
- XECUTING BODY -> Create a body symbol
- IMPORT/EXPORT -> Create export/import annotations
- CALL CONN -> Create a call connection
- VISIBLE CONN -> Create a visibility connection
- EXPORTS CONN -> Create a export relation connection
- DELETE CONN -> Delete a call, visibility, or exports
- connection
- DELETE ENTITY -> Delete a graphical entity
- MOVE / RESIZE -> Move and resize a graphical entity
- MODIFY ENTITY -> Modify an Ada attribute of a graphical
- entity
-
- The specific HELP descriptions for individual options on DESIGN MENU are
- as follows:
-
- MENU BACKUP
-
- PAN ZOOM MENU
-
- VIRT_PACKAGE_CMD
-
- VIRTUAL PACKAGE
- Create a virtual package. The upper left and lower
- right corners of the enclosing rectangle, the name,
- and the prologue will be requested.
-
- The virtual package symbol is a rectangle.
-
- PACKAGE_CMD
-
- PACKAGE
- Create a package. The declaration mode ( normal,
- generic declaration, or generic instantiation ),
- upper left and lower right corners, the name, and
- the prologue will be requested. If the package is
- a generic instantiation, the name of the package
- being instantiated will be requested, and then the
- letters "gi" along with the instantiated package
- name will be displayed; if the package is a generic
- declaration, the letters "gd" will be displayed
- within the package symbol.
-
- The package symbol is a rectangle.
-
- PROCEDURE_CMD
-
- PROCEDURE
- Create a procedure. The parameter status, declaration
- mode ( normal, generic declaration, or generic
- instantiation ), upper left and lower right corners,
- the name, and the prologue will be requested. If the
- procedure is a generic instantiation, the name of the
- procedure being instantiated will be requested, and then
- the letters "gi" along with the instantiated procedure
- name will be displayed; if the procedure is a generic
- declaration, the letters "gd" will be displayed within
- the procedure symbol.
-
- The procedure symbol is a stacked rectangle.
-
- FUNCTION_CMD
-
- FUNCTION
- Create a function. The declaration mode ( normal,
- generic declaration, or generic instantiation ),
- upper left and lower right corners, the name, and
- the prologue will be requested. If the function
- is a generic instantiation, the name of the function
- being instantiated will be requested, and then the
- letters "gi" along with the instantiated function
- name will be displayed; if the function is a generic
- declaration, the letters "gd" will be displayed
- within the function symbol.
-
- The function symbol is a stacked rectangle; the
- function identifier is prefixed with an '=' to
- distinguish it from a procedure.
-
- TASK_CMD
-
- TASK
- Create a task. The the parameter status, upper
- left and lower right corners, the name, and the
- prologue will be requested.
-
- The task symbol is a parallelogram.
-
- ENTRY_PT_CMD
-
- ENTRY POINT
- Create an entry point to a task. The guarded status and
- parameter status will be requested. The enclosing scope,
- within a task, will be requested. A task must have been
- created prior to executing this command.
-
-
- BODY_CMD
-
- EXECUTING BODY
- Create an executing body. The upper left and lower right
- corners will be requested. The body is used to represent
- the executable portion of an Ada unit body, and as such
- is the originating point for call connections. The body
- may not contain any other entities.
-
- The body symbol is an octagon.
-
- ANNOTATION_CMD
-
- IMPORT / EXPORT
- Access to the Import/Export Menu for
- creation of annotating entities :
-
- o Exported Type o Exported Object
- o Exported Exception o Exported Procedure
- o Exported Function o Exported Task Entry
-
- o Imported Virtual Package o Imported Package
- o Imported Procedure o Imported Function
-
- CALL_CONNECT_CMD
-
- CALL CONNECTION
- Create a caller-callee connection. The call mode
- ( normal, timed, or conditional ) will be requested.
- The user will specify the starting and ending points,
- and then be allowed to free-form draw the line by
- specifying up to 20 intermediate points, beginning at
- the starting point. The starting point must be within
- a body. The ending point must be within a imported
- procedure, imported function, exported procedure,
- exported function, exported entry point, procedure,
- function, or entry point.
-
- DATA_CONNECT_CMD
-
- VISIBILITY CONNECTION
- Create a visibility connection. The user will specify
- the starting and ending points, and then be allowed to
- free-form draw the line by specifying up to 20
- intermediate points, beginning at the starting point.
- The starting point must be within a virtual package,
- package, procedure, or function. The ending point must
- be within an imported virtual package, imported package,
- virtual package, or package.
-
- EXPORT_CONNECT_CMD
-
- EXPORTS CONNECTION
- Create an export relationship connection. The user
- will specify the starting and ending points, and then
- be allowed to free-form draw the line by specifying
- up to 20 intermediate points, beginning at the starting
- point. The starting point must be within any export
- symbol. The ending point must be within the corresponding
- procedure, function, entry point, or export symbol.
-
- DELETE_CONNECT_CMD
-
- DELETE CONNECTION
- Delete a call, visibility, or exports connection. The
- user will specify the starting point. If the program
- can determine only connection from the starting point,
- then that connection is highlighted for deletion. If
- multiple connections exist from the start point, then
- the end point is requested to determine the appropriate
- connection to highlight for deletion. The user will
- then be prompted to confirm or cancel the deletion.
-
- DELETE_CMD
-
- DELETE ENTITY
- Delete a graphical entity, and all associated
- connections, represented on the design diagram.
- The user will be prompted to select the entity
- to be deleted, and will again be prompted to
- confirm or cancel the deletion.
-
- MOVE_CMD
-
- MOVE / RESIZE ENTITY
- Move and resize a user selected graphical entity and
- all contained entities and annotations. The user will
- be prompted to select the outer scope of the entity(ies)
- to be moved and resized, the destination ( new upper
- left hand corner) for the entity(ies) of the move, and
- the new size ( new lower right hand corner ) of the
- entity(ies). The resize will proportionally alter all
- the entity(ies), such that the outermost entity fits
- between its new upper left hand corner and lower right
- hand corner.
-
- If any connections (call, data, export) have one end
- outside of the moved and resized entities and the other
- end inside the moved entities, then the user will be
- prompted to attend to each such connection. The program
- will make an attempt to redraw the connection which the
- user may confirm, or cancel and redraw the connection
- ( by specifying the intermediate points ). If any of
- the connection starting and/or ending points are not
- within the View window, then the program with automatically
- go to max zoom out.
-
- The move and resize is validated prior to being executed
- by verifying that the resultant graph will be semantically
- correct. The move may not create an invalid graph by
- overlaying other entities. Graphs which have previously
- introduced this kind of semantic error cannot be moved and
- resized until the problem is corrected.
-
-
- MODIFY_CMD
-
- MODIFY ENTITY
- Modify the name and other Ada attributes of the selected
- entity. The user will be prompted to select the entity
- to be modified, and for new values of all modifiable
- attributes ( name, prologue, instantiated unit name,
- call status, etc. ).
-
- A.4 Generic Menu Commands
-
- Upon selecting the HELP option on the GENERIC MENU, the following
- display will be provided in the Graphics Window area of the terminal
- screen.
-
- GENERIC_MENU
-
- GENERIC MENU
-
- DESCRIPTION : Define the declaration mode ( normal,
- generic declaration, or generic
- instantiation ) of the entity being created.
-
- MENU BACKUP -> Abort this creation, and return to the
- previous menu.
- DECLARATION -> Set the status of the created entity
- to non-generic.
- GENERIC DECLA -> Set the status of the created entity
- to generic declaration.
- GENERIC INSTA -> Set the status of the created entity
- to generic instantiation.
-
- After selection of declaration mode, return and complete
- drawing.
-
- The specific HELP descriptions for individual options on GENERIC MENU
- are as follows:
-
- MENU BACKUP
-
- NON_GENERIC_CMD
-
- DECLARATION
- Set the status of the created package, procedure
- or function to non generic.
-
- After selection of the declaration mode return and
- complete drawing.
-
- GENERIC_DECL_CMD
-
- GENERIC DECLARATION
- Set the status of the created package, procedure
- or function to generic declaration.
-
- After selection of the declaration mode return and
- complete drawing.
-
- GENERIC_INST_CMD
-
- GENERIC INSTANTIATION
- Set the status of the created package, procedure
- or function to generic instantiation. GAD will
- subsequently request the name of the unit being
- instantiated.
-
- After selection of the declaration mode return and
- complete drawing.
-
-
- A.5 Annotating Menu Help Descriptions
-
- Upon selecting the HELP option on the ANNOTATING MENU, the following
- display will be provided in the Graphics Window area of the terminal
- screen.
-
- ANNOTATING_MENU
-
- IMPORT/EXPORT MENU
-
- DESCRIPTION : Select the type of entity to be
- added to the graph.
-
- EXPORT PROC -> Create a visible procedure in the
- specification section of the enclosing
- ( virtual ) package.
- EXPORT FUNC -> Create a visible function in the
- specification section of the enclosing
- ( virtual ) package.
- EXPORT TYPE -> Create a visible type in the
- specification section of the enclosing
- ( virtual ) package.
- EXPORT OBJECT -> Create a visible object in the
- specification section of the enclosing
- ( virtual ) package.
- EXPORT EXCEPT -> Create a visible exception in the
- specification section of the enclosing
- ( virtual ) package.
- EXPORT ENTRY -> Create a visible entry in the
- specification section of the enclosing
- ( virtual ) package.
- IMPORT VT PKG -> Import a virtual package for use via
- an Ada "with" statement.
- IMPORT PKG -> Import a package for use via an Ada
- "with" statement.
- IMPORT PROC -> Import a procedure for use via an Ada
- "with" statement.
- IMPORT FUNC -> Import a function for use via an Ada
- "with" statement.
- CALL CONN -> Create a call connection
- VISIBLE CONN -> Create a visibility connection
- EXPORTS CONN -> Create a export relation connection
-
- After selecting the entity enter its position on the
- graph, note that import and export entity must occur
- within a virtual package or package. The name for the
- entity will then be requested.
-
- Imports are shown on the right-hand side of an entity.
- The use of imports is shown in the PDL by context clauses
- ( 'with' and 'use' ).
-
- Exports are shown on the left-hand side of an entity.
- Exports are shown as the visible ( specification ) part
- of packages and virtual packages.
-
- The specific HELP descriptions for individual options on IMPORT/EXPORT
- MENU are as follows:
-
- MENU BACKUP
-
- PAN / ZOOM
-
-
- RESTART_CMD
-
- MAIN MENU
- Take the user directly to the main menu. Eliminates
- multiple menu backup commands when trying to return
- to the main menu.
-
- EXPORT_PROC_CMD
-
- EXPORTED PROCEDURE
- Create an annotation for a virtual package or
- package which indicates the named procedure is in
- the specification and hence exported ( visible ).
- The exported procedure is denoted by '| identifier |'.
-
- EXPORT_FUNC_CMD
-
- EXPORTED FUNCTION
- Create an annotation for a virtual package or
- package which indicates the named function is in
- the specification and hence exported ( visible ).
- The exported function is denoted by '| =identifier |'.
-
- EXPORT_TYPE_CMD
-
- EXPORTED TYPE
- Create an annotation for a virtual package or
- package which indicates the named type is in
- the specification and hence exported ( visible ).
- The exported type is denoted by '( identifier )'.
-
- EXPORT_OBJ_CMD
-
- EXPORTED OBJECT
- Create an annotation for a virtual package or
- package which indicates the named object is in
- the specification and hence exported ( visible ).
- The exported object is denoted by ': identifier :'.
-
- EXPORT_EXCEPT_CMD
-
- EXPORTED EXCEPTION
- Create an annotation for a virtual package or
- package which indicates the named exception is in
- the specification and hence exported ( visible ).
- The exported exception is denoted by '< identifier >'.
-
- EXPORT_TASK_ENTRY_CMD
-
- EXPORTED ENTRY POINT
- Create an annotation for a virtual package or
- package which indicates the named entry point is
- in the specification and hence exported ( visible ).
- The exported entry point is denoted by '/ identifier /'.
-
- An entry point for a task must be within the
- same scope as this export since the user will
- be prompted for a connection to the entry point.
- The end point for the connection should be
- the entry point.
-
- IMPORT_VP_CMD
-
- IMPORTED VIRTUAL PACKAGE
- Create an annotation for a virtual package or
- package which indicates the named virtual package
- has been imported for use via an Ada "with"
- statement. Imports can only be attached to
- top-level ( outermost ) units. The imported
- virtual package is denoted by '% identifier %'.
-
- IMPORT_PKG_CMD
-
- IMPORTED PACKAGE
- Create an annotation for a virtual package or
- package which indicates the named package has
- been imported for use via an Ada "with"
- statement. Imports can only be attached to
- top-level ( outermost ) units. The imported
- package is denoted by '# identifier #'.
-
- IMPORT_PROC_CMD
-
- IMPORTED PROCEDURE
- Create an annotation for a virtual package or
- package which indicates the named procedure has
- been imported for use via an Ada "with"
- statement. Imports can only be attached to
- top-level ( outermost ) units. The imported
- procedure is denoted by '| identifier |'.
-
- IMPORT_FUNC_CMD
-
- IMPORTED FUNCTION
- Create an annotation for a virtual package or
- package which indicates the named function has
- been imported for use via an Ada "with"
- statement. Imports can only be attached to
- top-level ( outermost ) units. The imported
- function is denoted by '|= identifier |'.
-
- IE_CALL_CONNECT_CMD
-
- CALL CONNECTION
- Create a caller-callee connection. The call mode
- ( normal, timed, or conditional ) will be requested.
- Normal and conditional call modes apply to subprograms
- and tasks as callers; the timed call mode applies only
- to tasks as callers. The user will specify the starting
- and ending points, and then be allowed to free-form draw
- the line by specifying up to 20 intermediate points. The
- starting point must be within a body. The ending point
- must be within a imported procedure, imported function,
- exported procedure, exported function, exported entry
- point, procedure, function, or entry point.
-
- IE_DATA_CONNECT_CMD
-
- VISIBILITY CONNECTION
- Create a visibility connection. The user will specify
- the starting and ending points, and then be allowed to
- free-form draw the line by specifying up to 20
- intermediate points, beginning at the starting point.
- The starting point must be within a virtual package,
- package, procedure, or function. The ending point must
- be within an imported virtual package, imported package,
- virtual package, or package.
-
- IE_EXPORT_CONNECT_CMD
-
- EXPORTS CONNECTION
- Create an export relationship connection. The user
- will specify the starting and ending points, and then
- be allowed to free-form draw the line by specifying up
- to 20 intermediate points. The starting point must be
- within an export symbol. The ending point must be
- within the corresponding procedure, function, entry
- point, or export symbol.
-
- A.6 Delete Menu Help Descriptions
-
- Upon selecting the HELP option on the DELETE MENU, the following display
- will be provided in the Graphics Window area of the terminal screen.
-
- DELETE_MENU
-
- CONFIRM MENU
-
- DESCRIPTION : Confirm or cancel the requested operation.
- This menu is utilized when the requested
- operation will result in the loss of data
- through either deletion of one or more
- graphical entities, or the loss ( possibly
- through overwriting ) of the entire graph
- structure.
- MENU BACKUP -> Return to the last higher menu. This
- selection is effectively identical to
- selecting a CANCEL.
- CANCEL -> Cancel the requested operation.
- CONFIRM -> Confirm the requested operation.
-
- The specific HELP descriptions for individual options on DELETE MENU are
- as follows:
-
- MAIN MENU
-
- MENU BACKUP
-
- CONFIRM_CMD
-
- CONFIRM
- Confirm the requested operation. The user
- acknowledges the acceptability of the data
- loss implied by the pending operation. The
- requested operation is performed and control
- is returned to the calling menu, or the GAD
- is exited.
-
- CANCEL_CMD
-
- CANCEL
- Cancel the requested operation. The graph is
- restored to its original state ( prior to the
- initiation of the current operation ) and
- control is returned to the calling menu.
-
- A.7 Attributes Menu Help Descriptions
-
- Upon selecting the HELP option on the ATTRIBUTES MENU, the following
- display will be provided in the Graphics Window area of the terminal
- screen.
-
- ATTRIBUTES_MENU
-
- ATTRIBUTES MENU
-
- DESCRIPTION : Alter the display color or line type
- attributes of one or more graphic
- entity types.
-
- MENU BACKUP -> Return to the last higher menu.
- "GRAPHIC ENTITY" -> Alter the display attributes of
- the specified entity.
-
- GAD will generate the graphs according to the set of
- display attributes as set by default or as set by the
- user with the aid of this menu. Settings are preserved
- between session as part of the display file.
-
- If the user desires to alter the default setting, it is
- recommended that it be altered prior to the start of the
- editing session, since entities cannot be redrawn with
- the new attributes during a session.
-
- The specific HELP descriptions for individual options on ATTRIBUTES MENU
- are as follows:
-
- MENU BACKUP
-
- A_VIRT_PACKAGE_CMD
-
- VIRTUAL PACKAGE SYMBOL
- Alter the virtual package color and line type
- attributes.
-
- A_PACKAGE_CMD
-
- PACKAGE SYMBOL
- Alter the package color and line type attributes.
-
- A_SUBPROGRAM_CMD
-
- SUBPROGRAM SYMBOL
- Alter the subprogram color and line type attributes.
-
- A_TASK_CMD
-
- TASK SYMBOL
- Alter the task color and line type attributes.
-
- A_CALL_CONNECT_CMD
-
- CALL CONNECTION LINE
- Alter the call connection line type attribute.
-
- A_DATA_CONNECT_CMD
-
- VISIBLE CONNECTION LINE
- Alter the visibility connection line type attribute.
-
- A_EXPORT_CONNECT_CMD
-
- EXPORTS CONNECTION LINE
- Alter the specification connection line color
- and line type attributes.
-
- A.8 Color/Line Menu Help Descriptions
-
- Upon selecting the HELP option on the COLOR/LINE MENU, the following
- display will be provided in the Graphics Window area of the terminal
- screen.
-
- COLOR_LINE_MENU
-
- COLOR / LINE MENU
-
- DESCRIPTION : Define a new display color or line-type
- for the previously selected graphical
- entity type.
-
- MENU BACKUP -> Changes complete, return to the last
- higher menu.
- "Color" -> The new color of the graphical entity.
- SOLID _____ -> The new line-font is to be solid.
- DASHED _ _ _ -> The new line-font is to be dashed.
- DOTTED ..... -> The new line-font is to be dotted.
-
- The specific HELP descriptions for individual options on COLOR/LINE MENU
- are as follows:
-
- MENU BACKUP
-
-
- GREEN_CMD
- GREEN
- Set the color of the previously selected graphical
- entity type to green.
-
- BLUE_CMD
- BLUE
- Set the color of the previously selected graphical
- entity type to blue.
-
- VIOLET_CMD
- VIOLET
- Set the color of the previously selected graphical
- entity type to violet.
-
- RED_CMD
- RED
- Set the color of the previously selected graphical
- entity type to red.
-
- ORANGE_CMD
- ORANGE
- Set the color of the previously selected graphical
- entity type to orange.
-
- YELLOW_CMD
- YELLOW
- Set the color of the previously selected graphical
- entity type to yellow.
-
- BLACK_CMD
- BLACK
- Set the color of the previously selected graphical
- entity type to black.
-
- SOLID_CMD
-
- SOLID _____
- Set the line-type of the previously selected graphical
- entity type to solid.
-
- ___________________________________________
-
- DASHED_CMD
-
- DASHED _ _ _
- Set the line-type of the previously selected graphical
- entity type to dashed.
-
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
-
- DOTTED_CMD
-
- DOTTED .....
- Set the line-type of the previously selected graphical
- entity type to dotted.
-
- ...........................................
-
- A.9 Parameter Status Menu Commands
-
- Upon selecting the HELP option on the PARAMETER MENU, the following
- display will be provided in the Graphics Window area of the terminal
- screen.
-
- PARAMETER_STATUS_MENU
-
- PARAMETER STATUS MENU
-
- DESCRIPTION : Define the parameter status of the entity
- ( subprogram or task entry point ) being
- created.
-
- MENU BACKUP -> Abort this creation and return to the
- last higher menu.
- HAS PARAMS -> Assign parameters to the created entity.
- NO PARAMS -> Do not assign parameters to the created
- entity.
-
- After selection of parameter status, return and complete
- drawing.
-
- The specific HELP descriptions for individual options on PARAMETER
- STATUS MENU are as follows:
-
- MENU BACKUP
-
- HAS_PARAMETERS_CMD
-
- HAS PARAMS
-
- Assign parameters to the created entity. Parameters
- are indicated on the graphical display by '[ ]'
- following the subprogram or entry identifier.
-
- After selection of parameter status, return
- and complete drawing.
-
- NO_PARAMETERS_CMD
-
- NO PARAMS
-
- Do not assign parameters to the created entity.
-
- After selection of parameter status, return and
- complete drawing.
-
- A.10 Call Menu Commands
-
- Upon selecting the HELP option on the CALL MENU, the following display
- will be provided in the Graphics Window area of the terminal screen.
-
- CALL_STATUS_MENU
-
- CALL STATUS MENU
-
- DESCRIPTION : Define the call status of the entity
- being created.
-
- MENU BACKUP -> Abort this creation and return to the
- last higher menu.
- UNCONDITIONAL -> Set the call status to unconditional.
- CONDITIONAL -> Set the call status, to an entry point,
- or subprogram to conditional.
- TIMED -> Set the call status, to an entry point,
- to timed.
-
- After selection of call status, return and complete
- drawing.
-
- The specific HELP descriptions for individual options on CALL STATUS
- MENU are as follows:
-
- MENU BACKUP
-
-
- UNCONDITIONAL_CMD
-
- UNCONDITIONAL
- Set the call status to unconditional.
-
- After selection of call status, return and complete
- drawing.
-
- CONDITIONAL_CMD
-
- CONDITIONAL
- Set the call status, to an entry point, to conditional.
- Conditional calls are denoted by a 'C' in the caller.
- Conditional calls can be made to task entries or
- subprograms.
-
- After selection of call status, return and complete
- drawing.
-
- TIMED_CMD
-
- TIMED
- Set the call status, to an entry point, to timed.
- Timed calls are denoted by a 'T' in the caller.
-
- After selection of call status, return and complete
- drawing.
-
- A.11 ENTRY_POINT Status Menu Commands
-
- Upon selecting the HELP option on the ENTRY_POINT MENU, the following
- display will be provided in the Graphics Window area of the terminal
- screen.
-
- ENTRY_POINT_STATUS_MENU
-
- ENTRY POINT STATUS MENU
-
- DESCRIPTION : Define the entry point status of the entity
- being created.
-
- MENU BACKUP -> Abort this creation, return to the
- last higher menu.
- UNGUARDED -> Assign unguarded status to the created
- entry point.
- GUARDED -> Assign guarded status to the created
- entry point.
-
- After selection of entry point status, return and complete
- drawing.
-
- The specific HELP descriptions for individual options on ENTRY POINT
- STATUS MENU are as follows:
-
- MENU BACKUP
-
-
- UNGUARDED_CMD
-
- UNGUARDED
-
- Assign unguarded status to the created entry point.
-
- After selection of entry point status, return and
- complete drawing.
-
- GUARDED_CMD
-
- GUARDED
-
- Assign guarded status to the created entry point.
- Guarded entry points are denoted by a '*' prefixed
- to the entry identifier.
-
- After selection of entry point status, return and
- complete drawing.
-
- A.12 PDL Status Menu Commands
-
- Upon selecting the HELP option on the PDL STATUS MENU, the following
- display will be provided in the Graphics Window area of the terminal
- screen.
-
- PDL_STATUS_MENU
-
- PDL STATUS MENU
-
- DESCRIPTION : Define if the SUPPORT_PACKAGE should be
- included in the PDL to be generated.
- The SUPPORT_PACKAGE permits 'TBD' items
- in the PDL to be correctly compiled.
-
- MENU BACKUP -> Abort this PDL generation and return to
- the last higher menu.
- WITH SUPPORT -> Include the SUPPORT_PACKAGE in the
- generated PDL.
- NO SUPPORT -> Do not include the SUPPORT_PACKAGE
- in the generated PDL.
-
- package SUPPORT_PACKAGE is
-
- type TBD_TYPE is ( TBD ) ; -- used as function return
- -- type
- TBD_OBJECT : TBD_TYPE ; -- the function return value
- TBD_PARAMETERS : TBD_TYPE ; -- the subprogram calling
- -- parameters
- TBD_TIME : DURATION ; -- for delay statements
- TBD_CONDITION : BOOLEAN ; -- for conditional statements
-
- end SUPPORT_PACKAGE ;
-
- After selection of the SUPPORT_PACKAGE status, return and
- complete the PDL generation.
-
- The specific HELP descriptions for individual options on pdl STATUS MENU
- are as follows:
-
- MENU BACKUP
-
-
- WITH_SUPPORT_CMD
-
- WITH SUPPORT
-
- Include the SUPPORT_PACKAGE in the generated PDL.
-
- After selection of the SUPPORT_PACKAGE status, return
- and complete the PDL generation.
-
- NO_SUPPORT_CMD
-
- NO SUPPORT
-
- Do not include the SUPPORT_PACKAGE in the generated PDL.
-
- After selection of the SUPPORT_PACKAGE status, return
- and complete the PDL generation.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- APPENDIX B
- TOOL CONFIGURATION REQUIREMENTS
- APPENDIX B
- TOOL CONFIGURATION REQUIREMENTS
-
-
- B.1 Host Environment
-
- GAD is hosted on a VAX using the VMS operating system, and is
- written in Ada. Initial program design and development was
- performed with the TeleSoft Version 1.5 Ada Compiler. Program
- development was completed with the Digital Equipment Corporation
- Version 1.0 Ada Compiler. The program is written in machine and
- compiler independent Ada and is intended to be dependent only on
- the graphics terminal and printer used. The interaction of GAD with
- the user, host operating system and file system, and graphics
- terminal and printer is illustrated in Figure B.1-1.
-
-
- VAX/VMS HOST
- ---------------------------------------------------
- | GAD |
- | ----------------------------------- |
- | | | | |
- | | Functional | Memory Resident | |
- | | Modules | Tree Based Forms | |
- | | | | |
- | ----------------------------------- |
- | | | |
- | | Ada Runtime System | |
- | | | |
- | ----------------------------------- |
- ---------------------------------------------------
- (* Keyboard & ^ | | ^
- Cursor Control) | | | |
- | | | |
- User Input * --+ | | +---> Design File
- | |
- Graphics Output <-----+ +---------> PDL File
- |
- v
- Graphics Hardcopy
-
-
- GAD Host Interfaces
- Figure B.1-1
-
-
-
- The graphs developed using GAD are stored in a tree-like
- representation form created and maintained by GAD. GAD uses the
- graphics terminal to provide a "window" onto the graph with the
- capability of pan and zoom. At full zoom out (no magnification) the
- user can view an entire graph.
-
- B.2 Graphics Terminal Hardware Summary
-
- GAD is designed to use the capabilities of a color bit mapped
- graphics terminal to build graphic representations of Ada program
- structures (OODDs). This version of GAD will use the Tektronix
- 4107 color graphics terminal. This tool will make use of the
- device's advanced features to provide an efficient interactive
- graphics environment, and will supplement this by using a cursor
- positioning hardware device (joy disc) to speed input.
-
- Table B.2-1 TEKTRONIX 4107 GRAPHICS HARDWARE DEVICE DESCRIPTIONS
-
-
- -------------------------------------------
- Display size: 13" Diagonal
- Color palette: 64
- Displayable colors
- Graphics: 16
- Alphanumerics: 8
- Dialog Area
- Characters x lines: 80 x 32
- Resolution: 640 x 480
- Addressable points: 4096 x 4096
- Graphics Input Device (GIN): Joy-Disc
- Windowing: Yes
- Zoom and Pan: Yes
- Segments: Yes
- VT100 Compatible: Yes
- Local Memory: 256K bytes
- Communications: RES-232-C
- Maximum baud range
- with flagging: 38.4K
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- APPENDIX C
- GLOSSARY OF TERMS
- APPENDIX C
- GLOSSARY OF TERMS
-
-
- Ada A programming language developed by the Department of
- Defense to become its common high order language.
-
- Cursor A device such as a mouse or joy disc used to
- Control position the graphics cursor on a graphics
- Device terminal.
-
- DCL DEC Command Language. The command language of the VMS
- operating system.
-
- DEC Digital Equipment Corporation.
-
- Entity An entity is an Ada program structure (e.g., package,
- subprogram, or body) or annotation showing Ada semantic
- information (e.g., export label) which is represented by
- a graphic symbol.
-
- Graphics The cursor used by a graphics terminal when performing
- Cursor graphics operations. It is denoted by a set of cross-
- hairs which can be moved around the screen using a
- cursor control device.
-
- Icon A graphic or textual symbol.
-
- Joy Disc A flat octagon normally mounted on a gimbal and usually
- placed in the upper corner of the keyboard, which is
- used to manipulate the Graphics Cursor.
-
- MMI Man-Machine Interface. The means by which a tool user
- and machine/program interact.
-
- Mouse A cursor control device which when moved around on a
- flat surface produces an equal or proportional amount of
- movement in the same direction on the Graphics Cursor.
-
- OODD Object-Oriented Design Diagram. A graphics diagram
- which depicts a set of objects (in this program
- structures) and their inter-relationships.
-
- Page A Page constitutes the total space which a graph may
- occupy. Currently there is a single page (or graph) per
- graphics file.
-
- PDL Program Design Language. A PDL is used to describe a
- design's components and their interactions.
-
- Semantic The meaning of a programming language, and more
- specifically the tokens (words) which construct it.
- Semantic correctness in a programming language requires
- that user defined words have the proper meaning through
- correct definition.
-
- Session The session file name, is the file name of the most
- File recently read in Syntax Tree file. During program
- Name initialization the user is prompted to enter a file name
- which is the session file name unless it is altered by
- use of the READ_FILE command.
-
- Syntax A formal property of a programming language which
- describes the arrangement of tokens and characters in
- correct utilization of the language.
-
- Window The user CRT provides a 'window' on the current page
- being edited by GAD. The 'window' is a view of part of
- the graph which can be moved so that all of the graph
- can be viewed, just not all at one time.
-
- VAX A family of 32-bit minicomputers manufactured by Digital
- Equipment Corporation.
-
- Virtual A design abstraction which is one level of abstraction
- Package higher than an actual package but which draws on the
- same concepts as Ada package features.
-
- VMS A Virtual Memory Operating System used on the VAX
- computer.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- APPENDIX D
- EXPLANATION OF ERROR MESSAGES
-
- APPENDIX D
- EXPLANATION OF ERROR MESSAGES
-
-
- This appendix describes the error messages associated with the Graphic
- Ada Designer. Along with each message is a brief description that
- elaborates on the meaning of the error message. The messages are
- ordered alphabetically.
-
- During GAD operations, if a "PROGRAM ERROR -- " message is displayed,
- then an unintended error has occurred. The user should note the
- operation being performed and any other pertinent information that might
- assist in tracing the error. This information should be presented to
- SYSCON.
-
-
- "<Ada identifier> will overlap another entity (improper scoping) "
- When attemping a Move and Resize, an entity will overlap another.
- The operation is prevented to maintain consistency between the
- graphic and the syntax tree representations.
-
- "annotation will show improper scope, overlaps or overextends, re-try"
- If the annotation was created at the selected location, the
- annotation would show improper scope. The operation is prevented
- to maintain consistency between the graphic and the syntax tree
- representations. A different vertical position for the annotation
- must be selected.
-
- "an out-of-scope translation of annotations is not permitted "
- A Move and Resize operation is not permitted to alter the scope of
- an annotation (as the requested operation would).
-
- "current window is on display boundary "
- The current window may not be panned (moved) in the requested
- direction because it is already at the boundary of the graph.
-
- "entity selected can not be modified"
- The user selected entity is not of the correct type to be modified.
-
- "file not available for input "
- A read file operation has failed because the file specified is not
- available for utilization. This error does not result from the
- user specifying an invalid name, but normally from file access
- contention problems (e.g., the file has been locked for use by
- another user).
-
- "HELP FILE NOT AVAILABLE "
- The program was unable to locate the Help File. This results from
- incorrect/incomplete installation of the Graphic Ada Designer. The
- Help File needs to be loaded onto the host system, and the logical
- symbol "HELP_FILE" defined (on VMS hosts).
-
- "HELP FOR <command> IS NOT AVAILABLE "
- No Help entry could be located for the command requested. This
- results from the selection of a null menu icon or the utilization
- of an out-of-date Help File.
-
- "if modified this annotation may show improper scope (overlap or
- overextend) "
- When attemping a Modify operation on an annotation, if the length
- of the annotation were to be increased, the annotation would show
- improper scope. The operation is prevented to maintain consistency
- between the graphic and the syntax tree representations. The
- entity that is just to the right of the current annotation must be
- moved to allow modification of the annotation.
-
- "ILLEGAL File Name Entered "
- The file name entered was illegal. This is detected by the
- program's inability to create/locate a file with the specified
- name.
-
- "illegal to delete the outer scope"
- The User has attempted to delete the outer scope (e.g. the point
- selected is not within any drawn entity). This would result in
- deleting the root of the Syntax Tree and as such, is prevented.
-
- "INPUT ERROR for cursor, Please RE-TRY "
- Invalid information was found in the program input buffer when
- attempting to obtain a graphics cursor position. The invalid data
- has been removed from the buffer, and the user is requested to
- retry the operation. The invalid information is most often
- inserted in the buffer by accidental use of the keyboard.
-
- "INVALID, calls cannot be made from within the enclosing task"
- The user has attempted to create a call to an entry point of a task
- which encloses the scope of the body from which the call
- originated. This call is invalid because it would result in a hung
- task.
-
- "INVALID MENU ICON SELECTION - TRY AGAIN"
- The selected menu icon is not a valid selection for this menu. This
- results from the selection of an empty icon box during menu
- processing.
-
- "invalid scope due to wrong parent type "
- The currently selected point is being rejected as invalid because
- its scope is improper. Specifically the immediate parent scope of
- the point is of the wrong type for the attempted operation.
-
- "invalid scope for export declaration "
- The selected parent scope for the export declaration being created
- in invalid. Exports may only be created with packages or virtual
- packages as parents.
-
- "invalid scope for exported entry point "
- An exported entry point must be an annotation to a package. If the
- scope specified during the creation process is other than a
- package, then the scope in invalid.
-
- "invalid scope for import declaration "
- The selected parent scope for the import declaration being created
- in invalid. Imports may only be created with packages or virtual
- packages as parents.
-
- "invalid sizing point selected, retry "
- The size (lower right hand) point selected for a move and resize
- operation is invalid. The point is above and/or to the left of the
- first point selected. The user should select a new, and valid,
- size point.
-
- "invalid string entered for Ada identifier "
- The user entered string can not be accepted as the name of an
- entity because it is not a valid Ada identifier. The user should
- reenter the name correcting any typographical errors and/or
- changing the intended spelling to correspond to the rules of Ada.
-
- "invalid, an annotation cannot be placed at the outer scope"
- The currently selected point is being rejected as invalid because
- it is not within a previously created entity. Annotations cannot
- stand alone.
-
- "invalid, call status cannot be timed"
- The entity type of the call connection termination is not an entry
- point, and consequently the call can not be timed. A call to a
- subprogram can not be timed.
-
- "invalid, calls cannot be made to a generic declaration"
- Since generic declarations must be instantiated to be executed, it
- is improper to call an entity that is a generic declaration. Also
- it is invalid to call an entity that is enclosed within a generic
- declaration.
-
- "invalid, cannot delete connection, must delete exported entry point"
- The user has attempted to delete the connection between an exported
- entry point and an entry point. This would result in an exported
- entry point without a reference to an entry point, which is
- invalid. The user must delete the exported entry point which would
- also delete any cooresponding connections. This is required to
- prevent stand-alone entry points which are semantically undefined
- in Ada.
- "invalid, contained entity cannot be a body "
- The entity to be created would surround an existing body. Since
- the scope of the body would be altered the entity creation is not
- allowed.
-
- "invalid, contained entity may not have imports "
- The entity to be created would surround a package or virtual
- package with imported entities. Since the scope of the imported
- entities would be altered the entity creation is not allowed.
-
- "invalid, creation would invalidate call connection "
- The entity to be created would invalidate the scope of a
- call connection, therefore the entity creation is not allowed.
-
- "invalid, creation would invalidate export connection "
- The entity to be created would invalidate the scope of an
- export connection, therefore the entity creation is not allowed.
-
- "invalid, creation would invalidate task entry connection "
- The entity to be created would invalidate the scope of a task
- entry connection, therefore the entity creation is not allowed.
-
- "invalid, creation would invalidate visibility connection "
- The entity to be created would invalidate the scope of a visibility
- connection, therefore the entity creation is not allowed.
-
- "invalid, entities are within the same scope"
- When creating a visibility connection, it is improper to make the
- connection between two entities within the same scope. The entities
- may already be visible, or else the lower level entity should be
- exported to show the visibility.
-
- "invalid, entities may not surround previously created entities
- Entities may not be created which alter the scope of existing
- entities. The creation of an entity surrounding existing entities
- would violate this statement.
-
- "invalid, entity placement would exceed maximum nesting level"
- The program enforces a maximum level of nesting to prevent graphs
- from becoming excessively convoluted. The scope of the points
- entered exceeds this maximum nesting level, and has such are
- invalid. The maximum level of nesting is a compile time parameter
- and may be changed (although this is not recommended since
- considerable experience has gone into selecting the initial value).
-
- "invalid, entity points and corners must be within same scope"
- The two points specifying the upper left hand and lower right hand
- corners of an entity must be within the same scope (graphic
- entity). Not having the corner points within the same scope
- results in indeterminate semantics for the graph. This message
- also occurs if the second point is not lower and to the right of
- the first point.
-
- "invalid, entry point must be placed within a task "
- The placement of an entry point can only be within a task entity.
-
- "invalid, export is already connected to an entity "
- It is invalid for an export to have more than one exports
- connection. The selected export already contains an exports
- connection.
-
- "invalid, improper scoping for connection"
- The entity at which the connection terminates is not within a
- visible scope of the originating entity. This would result if the
- user attempts to establish a connection to a non-exported
- subprogram in a package which does not contain the caller.
-
- "invalid, improper visibility for call"
- The entity at which the call connection terminates is not within a
- visible scope of the calling entity. This would result is the user
- attempts to establish a call connection to a non-exported
- subprogram in a package which does not contain the caller.
-
- "invalid, improper ending entity for exports connection "
- The exports connection must terminate at a procedure, a function or
- another export. The selected termination of the connection is
- invalid because it is not one of these.
-
- "invalid, must connect to entry point"
- An exported entry point must be connected to an entry point or
- exported entry point within the parent scope as it is created.
- This is required to prevent stand-alone entry points which are
- semantically undefined in Ada.
-
- "invalid, no corresponding connection exists"
- In attempting to perform a "Delete Connection", the user has
- selected an entity which does originate any connections.
-
- "invalid, no line exists for call status modification "
- The user has selected a body that does not contain any call lines.
- Therefore, the modification is impossible.
-
- "invalid, only outer most scope is valid for import declaration "
- The selected parent scope for the import declaration being created
- in invalid. Imports may only be created at the top level (outer
- most scope) because the Ada visibility clauses they represent are
- only valid at the top level.
-
- "invalid, only packages or import packages can be referenced "
- When creating a visibility connection, the valid ending entities
- for the connection are virtual packages, packages, imported virtual
- packages, or imported packages.
-
- "invalid, parent already has an executing body "
- The user may not create a body within the specified entity because
- one already exists. No more than one body is permited for each
- entity capable of having a body.
-
- "invalid, stand alone tasks are not allowed "
- Tasks may not stand alone. They must be enclosed within a
- previouly created entity.
-
- "invalid, subprogram call status cannot be timed"
- The entity type of the call connection termination is not an entry
- point, and consequently the call can not be timed. A call to a
- subprogram can not be timed.
-
- "invalid, tasks must be placed within package or subprogram "
- Tasks may not stand alone. They must be enclosed within a
- previouly created entity.
-
- "invalid, the annotation is too close to page boundaries "
- Placement of the annotation would be too close to the boundary of
- the graph page. Portions of the graph must be moved away from the
- boundary to permit labels (import/export/entity names) to be drawn
- on the graph.
-
- "invalid, the export annotation does not match to a function"
- A function declaration can only be referenced by an exported
- function. The selected termination of the connection is invalid
- because the export annotation is not an exported function.
-
- "invalid, the export annotation does not match to a procedure"
- A procedure declaration can only be referenced by an exported
- procedure. The selected termination of the connection is invalid
- because the export annotation is not an exported procedure.
-
- "invalid, the export entity types do not match "
- When an entity is being exported through multiple package levels,
- the exports connection between any two exports requires that the
- exports be of the exact same type.
-
- "invalid, the outer scope cannot be moved "
- The user has attempted to move the outer scope (e.g. the point
- selected is not within any drawn entity). This is invalid.
-
- "invalid, this type of entity cannot be called "
- The entity type of the call connection termination is not an entity
- that is callable(i.e., cannot call a package or body).
-
- "Move canceled, an invalid graph (figure to narrow) would have resulted"
- A Move and Resize operation has been canceled, and the graph
- restored to its original condition. The cancelation was
- implemented because an entity, most likely a task, was to narrow to
- draw. If entities contain exports, imports, or entry points, the
- annotations must not overlap beyond the intended scope. Also,
- entities must be at least two characters wide.
-
- "Move canceled, an invalid graph would have resulted "
- A Move and Resize operation has been canceled, and the graph
- restored to its original condition. The cancelation was
- implemented to prevent corruption of the graph tree, probably
- resulting from invalid scoping in the translated graph.
-
- "no entities can be placed inside an annotation "
- Annotations may not have any entities placed inside of them.
-
- "no entities can be placed inside an instantiated unit "
- Generic entities may not have any entities placed inside of them
- because they are defined elsewhere (i.e., the corresponding generic
- declaration).
-
- "overlapping of entities prevents this scope from being translated"
- Overlapping entities imply a graph with undefined semantics because
- the scoping relationship of two or more entities can not be
- uniquely determined. The existence of overlapping prevents any
- tree translation operations from being performed.
-
- "PANIC EXIT PROCESS COMPLETED "
- An unhandled exception has been propagated to the top-level unit of
- the program and is resulting in an abnormal termination of the
- program which is termed a "Panic Exit". The processing of the
- "Panic Exit" includes attempting to save the current graph.
-
- "press cursor input device "
- The program will continue after the user acknowledges the current
- message by pressing the specified key.
-
- "PROGRAM ERROR -- entity is not in the graph tree"
- A Program Error (unintended exception condition) was detected
- during a Pick operation. The picked entity was not found in the
- Syntax Tree.
-
- "PROGRAM ERROR -- in ANNOTATING Menu "
- A Program Error (unintended exception condition) was detected
- during the creation of an annotation (import or export entity).
-
- "PROGRAM ERROR -- in attempted delete, nothing deleted "
- A Program Error (unintended exception condition) was detected
- during a delete operation. The program recovers by not deleting
- the user requested entity (or anything else).
-
- "PROGRAM ERROR -- in CALL_STATUS_MENU "
- A Program Error (unintended exception condition) was detected
- during the processing of call status information.
-
- "PROGRAM ERROR -- in checking tree validity "
- A Program Error (unintended exception condition) was detected
- during a tree validity check, which verifies scoping consistency.
- Previously overlapping entities (e.g., export labels) may cause
- this problem.
-
- "PROGRAM ERROR -- in connection drawing "
- A Program Error (unintended exception condition) was detected
- during the drawing of a connection.
-
- "PROGRAM ERROR -- in control attributes "
- A Program Error (unintended exception condition) was detected
- during the selection of a entity for attribute modification.
-
- "PROGRAM ERROR -- in control color/line "
- A Program Error (unintended exception condition) was detected
- during the selection of a color/line attribute.
-
- "PROGRAM ERROR in CREATE_CONNECTION "
- A Program Error (unintended exception condition) was detected
- during the creation of a connection.
-
- "PROGRAM ERROR -- in CREATING requested entity "
- A Program Error (unintended exception condition) was detected
- during the creation of a user requested entity.
-
- "PROGRAM ERROR -- in DELETE_MENU "
- A Program Error (unintended exception condition) was detected
- during the processing of confirm/cancel information.
-
- "PROGRAM ERROR -- in DESIGN Menu control "
- A Program Error (unintended exception condition) was detected
- during Design menu processing.
-
- "PROGRAM ERROR -- in ENTRY_POINT_STATUS_MENU "
- A Program Error (unintended exception condition) was detected
- during the processing of entry point status information.
-
- "PROGRAM ERROR -- in GENERIC_MENU "
- A Program Error (unintended exception condition) was detected
- during the processing of generic status information.
-
- "PROGRAM ERROR -- in lowest common parent"
- A Program Error (unintended exception condition) was detected
- during the determination of the lowest common parent.
-
- "PROGRAM ERROR -- in MODIFY "
- A Program Error (unintended exception condition) was detected
- during entity modification.
-
- "PROGRAM ERROR -- in MODIFY_CALL_STAT"
- A Program Error (unintended exception condition) was detected
- during the modification of call status.
-
- "PROGRAM ERROR -- in MODIFY_ENTRY_PARAM_STAT"
- A Program Error (unintended exception condition) was detected
- during the modification of entry point parameter status.
-
- "PROGRAM ERROR -- in MODIFY_ENTRY_STAT"
- A Program Error (unintended exception condition) was detected
- during the modification of entry point guard status.
-
- "PROGRAM ERROR -- in MODIFY_GENERIC_NAME "
- A Program Error (unintended exception condition) was detected
- during the modification of generic instantiation name.
-
- "PROGRAM ERROR -- in MODIFY_NAME "
- A Program Error (unintended exception condition) was detected
- during the modification of the entity's name.
-
- "PROGRAM ERROR -- in MODIFY_PROLOGUE"
- A Program Error (unintended exception condition) was detected
- during the modification of an entity's prologue.
-
- "PROGRAM ERROR -- in MODIFY_SUBPROGRAM_PARAM_STAT"
- A Program Error (unintended exception condition) was detected
- during the modification of subprogram parameter status.
-
- "PROGRAM ERROR -- in MOVE_AND_RESIZE find lines operations "
- A Program Error (unintended exception condition) was detected while
- finding connections to a moved entity. This is a local subprogram
- of the Move and Resize processing.
-
- "PROGRAM ERROR -- in MOVE_AND_RESIZE move operation "
- A Program Error (unintended exception condition) was detected while
- performing the moving operation during the processing of a move and
- resize request.
-
- "PROGRAM ERROR -- in MOVE_AND_RESIZE operation "
- A Program Error (unintended exception condition) was detected at
- the outer scope of the MOVE_AND_RESIZE subprogram during the
- processing of Move and Resize request.
-
- "PROGRAM ERROR -- in MOVE_AND_RESIZE redraw lines operations "
- A Program Error (unintended exception condition) was detected while
- redrawing connections to a moved entity. This is a local
- subprogram of the Move and Resize processing.
-
- "PROGRAM ERROR -- in MOVE_AND_RESIZE resize operation "
- A Program Error (unintended exception condition) was detected while
- performing the resizing operation during the processing of a move
- and resize request.
-
- "PROGRAM ERROR -- in MOVE_AND_RESIZE restore lines operations "
- A Program Error (unintended exception condition) was detected while
- restoring connection to a moved entity. This is a local subprogram
- of the Move and Resize processing.
-
- "PROGRAM ERROR -- in MOVE_AND_RESIZE scoping operations "
- A Program Error (unintended exception condition) was detected while
- selecting the scope of influence during the processing of a move
- and resize request.
-
- "PROGRAM ERROR -- in MOVE_AND_RESIZE translate lines operations "
- A Program Error (unintended exception condition) was detected while
- translating connection points when the connection goes to a moved
- entity. This is a local subprogram of the Move and Resize
- processing.
-
- "PROGRAM ERROR -- in MOVE_AND_RESIZE verify lines operations "
- A Program Error (unintended exception condition) was detected while
- verifying connection to a moved entity. This is a local subprogram
- of the Move and Resize processing.
-
- "PROGRAM ERROR -- in nesting level computation "
- A Program Error (unintended exception condition) was detected
- during a nesting level computation.
-
- "PROGRAM ERROR -- in PAN_ZOOM_MENU "
- A Program Error (unintended exception condition) was detected
- during Pan and Zoom operations.
-
- "PROGRAM ERROR -- in PARAMETER_STATUS_MENU "
- A Program Error (unintended exception condition) was detected
- during the processing of parameter status information.
-
- "PROGRAM ERROR -- in PDL_STATUS_MENU "
- A Program Error (unintended exception condition) was detected
- during the processing of PDL formating information.
-
- "PROGRAM ERROR -- in process command "
- A Program Error (unintended exception condition) was detected
- during the processing of user commands.
-
- "PROGRAM ERROR -- in request PROLOGUE"
- A Program Error (unintended exception condition) was detected
- during the processing of a Prologue.
-
- "PROGRAM ERROR -- null pointer parent in creating package "
- A Program Error (unintended exception condition) was detected
- during the creation of a package. Specifically a null parent
- pointer was obtained.
-
- "PROGRAM ERROR -- null pointer parent in creating virtual package "
- A Program Error (unintended exception condition) was detected
- during the creation of a virtual package. Specifically a null
- parent pointer was obtained.
-
- "PROGRAM ERROR -- request point returned null parent "
- A Program Error (unintended exception condition) was detected
- during the processing of a user input point.
-
- "PROGRAM ERROR -- unable to complete file output "
- A Program Error (unintended exception condition) was detected
- during file output.
-
- "PROGRAM ERROR -- unhandled exception propagated by the MMI "
- An unhandled exception has been propagated out of the code
- implementing the Man-Machine Interface. This message indicates a
- "Panic Exit" has been initiated, which will result in an attempt to
- save the graph and termination of the program.
-
- "Segment Identifier Recovery To Begin "
- Segment identifiers are being allocated and released throughout
- program operation. The range of valid segment identifiers is
- limited, and must be restored to a base value when exhausted. This
- is accomplished by rewriting the graph with all new segments
- starting from the base value.
-
- "SELECT A MENU ICON. "
- The user should select a menu icon by positioning the graphics
- crosshairs on top of the desired menu icon.
-
- "the body of <Ada name> will overlap another entity (improper scoping) "
- When attemping a Move and Resize, an entity will overlap another.
- The operation is prevented to maintain consistency between the
- graphic and the syntax tree representations.
-
- "the move will invalidate the entry point or export call connection "
- When attemping a Move and Resize, if the entity were to be moved to
- the desired location, the call connection would be invalidated due
- to improper visibility. The operation is prevented to maintain
- consistency between the graphic and the syntax tree
- representations.
-
- "the move will invalidate the exports connection "
- When attemping a Move and Resize, if the entity were to be moved to
- the desired location, an exports connection would be invalidated
- due to improper visibility. The operation is prevented to maintain
- consistency between the graphic and the syntax tree
- representations.
-
- "the move will invalidate the import call connection "
- When attemping a Move and Resize, if the entity were to be moved to
- the desired location, the call connection would be invalidated due
- to improper visibility. The operation is prevented to maintain
- consistency between the graphic and the syntax tree
- representations.
-
- "the move will invalidate the subprogram call connection "
- When attemping a Move and Resize, if the entity were to be moved to
- the desired location, a call connection would be invalidated due to
- improper visibility. The operation is prevented to maintain
- consistency between the graphic and the syntax tree
- representations.
-
- "the move will invalidate the visibility connection "
- When attemping a Move and Resize, if the entity were to be moved to
- the desired location, a visibility connection would be invalidated
- due to improper visibility. The operation is prevented to maintain
- consistency between the graphic and the syntax tree
- representations.
-
- "the move will invalidate the visibility connection (not needed) "
- When attemping a Move and Resize, if the entity were to be moved to
- the desired location, a visibility connection would be invalidated
- due to improper visibility. The connection must be deleted to move
- the entity to the desired location. The operation is prevented to
- maintain consistency between the graphic and the syntax tree
- representations.
-
- "translation is too close to page boundaries "
- A Move and Resize operation is being rejected because the
- translated portion of the graph would be too close to the boundary
- of the graph page. Translated portions of the graph must be far
- enough away from the boundary to permit labels
- (import/export/entity names) to be drawn on the graph.
-
- "translation is too close to page boundaries, retry "
- A Move and Resize operation is being rejected because the
- translated portion of the graph would be too close to the boundary
- of the graph page. Translated portions of the graph must be far
- enough away from the boundary to permit labels
- (import/export/entity names) to be drawn on the graph. The user
- should try the Move and Resize operation again.
-
- "UNABLE TO CONTINUE - <node_type> Node Supply Exhausted"
- This message indicates that the supply of nodes for the given
- node_type has been exhausted. The program is unable to complete
- the requested operation, and will be unable to complete any
- operation which requires the creation of nodes of node_type until
- additional nodes are made available by deletion. The number of
- nodes available is a compile time parameter which can be changed if
- required. Node_type can have a value corresponding to each
- possible node type used by GAD, which are: Graph, List, Prologue,
- and Tree.
-
- "UNABLE TO CONTINUE - Segment Supply Exhausted"
- This message indicates that the supply of segments has been
- exhausted. The program is unable to complete the requested
- operation, and will be unable to complete any operation which
- requires the creation of segments until additional segments are
- made available by deletion.
-
- "unable to create a file with the specified name "
- The program has been unable to create the file using the specified
- (or session) file name during a write file operation.
-
- "WARNING the entity names do not match "
- The exports connection just established just connected two entities
- whose names (Ada identifiers) do NOT match. The user is permitted
- to continue.
-
-