DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ D T ┃
Length: 198751 (0x3085f) Types: TextFile Names: »DF_2167_HELP«
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS └─ ⟦91c658230⟧ »DATA« └─⟦f6fec0485⟧ └─⟦this⟧ └─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3 └─ ⟦fc9b38f02⟧ »DATA« └─⟦f95d63c89⟧ └─⟦this⟧
@node !Tools.Design_Implementation.Complete procedure Complete (Include_Optional_Annotations : Boolean := False); Description Inserts annotations for the current design phase into the design component image on which the cursor is currently located. As a design component progresses forward through design phases, additional annotations may be required; these can be added with the Complete procedure. Parameters Include_Optional_Annotations : Boolean := False; Specifies, when false (the default), that only required annotations be added to the design component. When true, this parameter specifies that optional annotations also be added. Restrictions The design component must be in source state and open for editing. Errors When this command is executed in a CSCI for which no design target is registered, an error results and an error message is displayed in the Message window. Examples The following Unit has been created in a CSCI that is at the Detailed_Design phase: procedure The_Unit (Inputs : in Integer; Outputs: out Integer); The user then executes the Design_Implementation.Complete command, which adds the @COMPONENT_KIND annotation to the design component, as shown below: --| @COMPONENT_KIND [2167 Component] procedure The_Unit (Inputs : in Integer; Outputs: out Integer); When the @COMPONENT_KIND annotation has been completed by the user with Unit to specify a Unit design component, the user executes the Design_Implementation.Complete command a second time. The rest of the annotations required in a Unit in the Detailed_Design phase are added, as shown below: --| @COMPONENT_KIND UNIT --| @PURPOSE [TEXT] --| @MEMORY [Memory Allocation] --| @TIME [Time Allocation] --| @LIMITATIONS [TEXT] --| @SEQUENCING [TEXT] --| @ALGORITHM [TEXT] --| @PROCESSING [TEXT] --| @UTILIZATION [TEXT] procedure The_Unit (Inputs : in Integer; Outputs: out Integer); References procedure Format procedure Common.Complete, EST, Rational Environment Reference Manual procedure Common.Format, EST, Rational Environment Reference Manual @node !Tools.Design_Implementation.Definition procedure Definition (In_Place : Boolean := False; Visible : Boolean := True); Description Displays in a window the design component, file, or document in which the information is defined, when executed in a document. Parameters In_Place : Boolean := False; Specifies whether the current frame should be used to bring up the image. The default, false, specifies that the least recently used frame should be replaced. Visible : Boolean := True; Specifies, for requirements, whether to display the specification in the PDL (in the @FUNCTION_DEFINED or @INTERFACES_DEFINED annotation) or in the defining paragraph in the SRS or IRS document. A value of true, the default, specifies the annotation; false specifies the document. Restrictions When this command is executed in a CSCI for which no design target is registered, an error results and an error message is displayed in the Message window. Errors When this command is entered in PDL or in a document that is not within a Rational System or Subsystem with the Rational Design Facility specified as its design target, an error results and an error message is displayed. References procedure Ada.Show_Usage, EST, Rational Environment Reference Manual procedure Common.Definition, EST, Rational Environment Reference Manual @node !Tools.Design_Implementation.Enclosing procedure Enclosing (In_Place : Boolean := False); Description Traverses to and displays the enclosing 2167 DF design component (note that this is not the enclosing library structure). Parameters In_Place : Boolean := False; Specifies whether the current frame should be used to bring up the image. The default, false, specifies that the least recently used frame should be used. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples The following table illustrates the relationships of the enclosing design component: ------------------------------------------------------------- | | | | Cursor Location | Enclosing Design Component | ------------------------------------------------------------- | | | |On the image of the |There is no enclosing design component, | |System design |so the following message is displayed: | |component |This is the root of the 2167 system | ------------------------------------------------------------- | | | |On the image of the |Image of the package specification for | |Segment design |the System design component from which | |component |it was allocated | ------------------------------------------------------------- | | | |On the image of the |Image of the package specification for | |CSCI design |the Segment (or System if there is no | |component |Segment) design component from which it | | |was allocated | ------------------------------------------------------------- | | | |On the image of the |Image of the package specification for | |HWCI design |the Segment (or System if there is no | |component |Segment) design component from which it | | |was allocated | ------------------------------------------------------------- | | | |On the image of the |Image of the specification for the CSCI | |TLCSC design |or TLCSC design component from which it | |component |was allocated | ------------------------------------------------------------- | | | |On the image of the |Image of the specification for the TLCSC| |LLCSC design |or LLCSC design component from which it | |component |was allocated | ------------------------------------------------------------- | | | |On the image of the |Image of the specification for the TLCSC| |Unit design |or LLCSC design component from which it | |component |was allocated | ------------------------------------------------------------- @node !Tools.Design_Implementation.Explain procedure Explain; Description Displays, in a preview document, information for the document structure on which the cursor is located. In PDL, this command displays information for the annotation and its argument on which the cursor is currently located. Restrictions When no information is available, the message No information available is displayed in the Message window. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. References procedure Common.Explain, EST, Rational Environment Reference Manual @node !Tools.Design_Implementation.Format procedure Format; Description Performs syntactic checking of annotations in the image of a design component. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. References procedure Common.Format, EST, Rational Environment Reference Manual @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design Package Design provides the operations required by 2167 DF users and project administrators. More specifically, it provides commands required to: * Enter PDL * Generate document databases * View preview documents * Print documents * View and change design targets * View and change design phases * View, create, and change the DOD-STD-2167 static hierarchy ERROR RESPONSE Some commands in this package have a Response parameter that specifies how the command should respond to errors, how to generate logs, and what activities to use. The Response profile special name "<PROFILE>", which many commands use by default, specifies the job response profile. If there is no job response profile, the session response profile "<SESSION_PROFILE>" is used. If there is no session response profile, the system's default profile "<DEFAULT>" is used. For further information on profiles, see SJM, package Profile, in the Rational Environment Reference Manual. PARAMETER PLACEHOLDERS Some commands in this package have a parameter placeholder as a default value. Parameter placeholders take the form ">>name<<", where name is the type of object that should replace the parameter placeholder. Executing a command without replacing a parameter placeholder produces an error. OPTIONS PARAMETER Like many other packages found in the Rational Environment, some of the procedures (specifically, Build, Generate_Markup, Preview, and Print) in package Design have an Options parameter. For detailed information on the syntax for specifying options, see the discussion of the Options parameter in the Key Concepts of the Library Management (LM) book in the Rational Environment Reference Manual. The following table shows the procedures that can take options and which options they can take. To have any effect, the asterisked options require that the Build_Db option also be true. ------------------------------------------------- | | | | | | | | |Generat| | | | Option | Build | e- |Preview| Print| | | |_Markup| | | ------------------------------------------------- | | | | | | |Analyze_Private_T| # | #* | #* | #* | |ypes | | | | | ------------------------------------------------- | | | | | | |Build_Db | | # | # | # | ------------------------------------------------- | | | | | | |Csc_Numbering | # | #* | #* | #* | ------------------------------------------------- | | | | | | |Data_Tables | # | #* | #* | #* | ------------------------------------------------- | | | | | | |Device | | | | # | ------------------------------------------------- | | | | | | |Formatter_Options| | | | # | ------------------------------------------------- | | | | | | |Input_Output_Tabl| # | #* | #* | #* | |es | | | | | ------------------------------------------------- | | | | | | |Interpretation | # | #* | #* | #* | ------------------------------------------------- | | | | | | |Paragraph_Header_| | # | | # | |Style | | | | | ------------------------------------------------- | | | | | | |Queue_Options | | | | # | ------------------------------------------------- LIBRARY SWITCHES The Rational Environment provides a number of library switches that control certain functions on a library basis. These library switches and their associated commands are documented in the LM book of the Rational Environment Reference Manual. Worlds that have the 2167 DF registered as their design target have two special switches that pertain to the 2167 DF only. These two library switches, Design.Options and Design.Phase, are described below. Options Switch This library switch specifies nondefault options normally specified through the Options parameter of many procedures in package Design. The Options that can be specified are documented in detail with each procedure to which they pertain. Available options include: * Analyze_Private_Types * Build_Db * Csc_Numbering * Data_Tables * Device * Formatter_Options * Input_Output_Tables * Interpretation * Paragraph_Header_Style * Queue_Options The precedence of option specification is shown below. The precedence is from highest (1) to lowest (3). 1. An option specified in a command in a Command window overrides the library switch setting and package Design defaults. 2. An option specified in a switch file overrides package Design defaults. 3. The default value of an option, as specified in package Design, is used when an option has not been specified in a Command window or in the library switch file. The full switch name is Design.Options. The default is the null string (""), which specifies no options. Phase Switch This library switch specifies the current design phase of a development path. The design phase controls: * Which documents are created or printed by default * Which annotations are required, allowed, or prohibited in PDL * Which design standards are enforced The legal range of values is a property of the design target. For further information on the design targets, see the Key Concepts book of this manual. When the switch is modified, the value is checked to ensure that it is legal for that design target. The legal design phase values for the RATIONAL_2167_R1000 design target and other 2167 DF-based design targets are: * Requirements_Analysis * Preliminary_Design * Detailed_Design * Coding * CSC_Integration * CSCI_Test The full switch name is Design.Phase. The default value is Nil, which specifies no design phase. The value of this switch must be changed with Design.Set_Phase rather than with the switch editor. NAMING RESOLUTION AND THE DESIGN FACILITY Many of the commands in package Design take parameter values that refer to CSCIs and documents. The resolution of CSCI naming expressions and document names in the 2167 DF follows the conventions described below. Naming in CSCI-Related Parameters Many of the commands in package Design have a CSCI-related parameter-specifically, the In_Csci_View parameter. The default value for these parameters is always the special value "<CURSOR>". This value specifies that the current cursor location is used as the context in which to perform CSCI naming resolution. Although you supply a single value to a CSCI-related parameter, CSCI name resolution for these parameters actually is performed based on two pieces of information: a subsystem and a view. The subsystem defines the name and kind of CSCI (either single subsystem or multisubsystem). The view selects the versions of CSCs and Units that represent the decomposition of the CSCI. Depending on the cursor location when the command is executed, there are three possible scenarios for name resolution of these CSCI-related parameter naming expressions, as described below: * The name resolves to an object in a view: The resolved view and subsystem are those that enclose the object. For example, when a document is generated and the value of the In_Csci_View parameter resolves to a library package specification for a TLCSC, the document will be generated for the view of the subsystem in which that TLCSC is located. * The name resolves to a view: The resolved view is that view and its enclosing subsystem. For example, when a document is generated and the value of the In_Csci_View parameter resolves to the view Pdr1_Working, the document will be generated for the Pdr1_Working view for the subsystem in which it is located. * The name resolves to a subsystem: The resolution is that subsystem and the load view of that subsystem as specified by the default activity for the session, or by the activity as specified by the Activity.Set command for that job, or by the activity specified as part of the response profile for that command. You can specify another activity as part of the response profile. For example, for the activity !Users.Tom.Activity_For_Tom, you would specify the following argument to the Response parameter: "Activity=>(!Users.Tom.Activity_For_Tom), <PROFILE>" Document Naming in Document Parameters Because document names for the IRS and the IDD can be ambiguous when used as values in commands with the Document parameter, the following naming convention makes the names unambiguous. A document name alone can be specified as a parameter value-for example, IDD. However, because more than one IDD can be generated for a given CSCI, that name is ambiguous. To make the name unambiguous, a document number, enclosed in parentheses, must follow the document name. For example, the unambiguous specification of an IRS docu- ment with the document number AD-423-997 can be specified to the Document_Name parameter as IRS(AD-423-997). The following rules apply when the 2167 DF resolves ambiguous document names: * When reference is made to a document without specification of a document number, all documents of the given name are specified. * When reference is made to a document or documents using a document name and document numbers, all documents matching the document name and numbers are specified. * A document name and number specification that do not match are invalid and will produce a message to that effect. When an ambiguous document name is specified to the Build, Generate_Markup, and Print commands in package Design (which would be desirable in many instances), the ambiguous reference is resolved to the specified documents and then each document is processed. In the Preview command, however, the ambiguous reference is resolved to the appropriate list of documents, and a menu appears from which the user can make a single selection. To display the document, the user can execute the Common.Definition procedure. Wildcards cannot be used in Document parameters. CONVENTIONS OF IRS/IDD DOCUMENT FILENAMING When multiple IRS or IDD documents are generated, the document name is Irs_ followed by the document number-for example, Irs_Dcr974. If the document number includes a character that is not legal in an Ada simple name, each is converted to a legal character. Thus, the name of the IRS document whose number is I9-426 would be Irs_I9_426. These filenames cannot be used in the Document parameter as described above. Rather they are used to name files in the Documentation directory containing the document database for each document. COMMANDS FROM PACKAGE COMMON The following commands from package !Commands.Common can be used on preview documents. For documentation on the use of Common commands on the Ada constituent of PDL, see the Rational Environment Reference Manual, EST, Ada Images. For documentation on the use of Common commands on text files used by the 2167 DF, see the Rational Environment Reference Manual, EST, Text Images. procedure Common.Abandon Ends the display of the preview document. The window is removed from the screen and from the Window Directory. The Window parameter specifies which window should be removed from the screen. The default, "<IMAGE>", removes the current image. procedure Common.Create_Command Creates a Command window below the preview window if one does not already exist; otherwise, the procedure puts the cursor in the existing Command window below the preview document window. This Command window initially has a use clause: use Editor, Common; This use clause provides direct visibility to the declarations in packages !Commands.Editor and !Commands.Common for names resolved in the command. procedure Common.Definition Traverses, in a preview document, to the defining occurrence in PDL or another document. In PDL, the command traverses to the document in which the requirement was defined. procedure Common.Edit Displays the file and opens it for editing, when executed on a prompt for an included file. If other users or jobs have write locks on the file, the operation will fail. The Name parameter specifies the name of the file to be made editable. The default special name, "<IMAGE>", specifies the file referred to in the current cursor location. The In_Place parameter specifies whether the current frame should be used. The default, false, specifies that the current frame should not be used. procedure Common.Enclosing Brings up a window that contains an image of the library containing the file corresponding to the preview document. The In_Place parameter specifies whether the current frame should be used. The default is false. procedure Common.Explain Displays information in the Message window about the structure on which the cursor is located. procedure Common.Release Ends the display of the preview document and removes the image from the Window Directory. The Window parameter specifies which window should be released. The default is the current image. procedure Common.Revert Refreshes the image in the current window with the current value of the underlying document database. Note that, if a job is writing to the file and the file is concurrently being viewed with the Rational Editor, the Revert command can be used to update the image to show any new output that has occurred since the last time Revert was executed. procedure Common.Object.Child Selects the next lower-level item in the hierarchical structure of the preview document. The item selected will be the one in which the cursor is located if such an item exists. If no items are selected, the item closest to the cursor is selected. The Repeat parameter specifies the number of levels to move down in selecting the image. The default, 1, specifies the next lower level. procedure Common.Object.First_Child Selects the first child of the current selection. The first child is the first one at the next lower level in the hierarchy of the current selection. The Repeat parameter specifies the number of levels to move down in selecting the image. The default, 1, specifies the next lower level. procedure Common.Object.Last_Child Selects the last child of the current selection. The last child is the last one at the next lower level in the hierarchy of the current selection. The Repeat parameter specifies the number of levels to move down in selecting the image. The default, 1, specifies the next lower level. procedure Common.Object.Next Selects the next item after the current selection at the same level in the preview document hierarchy. If there is no current selection, the item after the current cursor position is selected. The Repeat parameter specifies the number of the selection to be selected after the current cursor position. The default, 1, specifies the next selection. procedure Common.Object.Parent Selects the next higher-level item in the hierarchical structure of the preview document. The item selected will be the one in which the cursor is located if such an item exists. If no items are selected, the item closest to the cursor is selected. The Repeat parameter specifies the number of levels to move up in selecting the image. The default, 1, specifies the next higher level. procedure Common.Object.Previous Selects the item before the current selection at the same level in the preview document hierarchy. If there is no current selection, the item before the current cursor position is selected. The Repeat parameter specifies the number of the selection to be selected before the current cursor position. The default, 1, specifies the previous selection. ADA SPECIFICATION FOR PACKAGE DESIGN The following is the specification for package !Commands.Design. Note that the Ada specification is ordered logically, whereas the reference entries in this book are arranged alphabetically. package Design is subtype Document_Name is String; Srs : constant Document_Name := "SRS"; Irs : constant Document_Name := "IRS"; Stldd : constant Document_Name := "STLDD"; Sddd : constant Document_Name := "SDDD"; Idd : constant Document_Name := "IDD"; Unknown : constant Document_Name := "<UNKNOWN>"; Default : constant Document_Name := "<DEFAULT>"; function Current_Document (In_Csci_View : String := "<CURSOR>") return Document_Name; procedure Build (Document : Document_Name := "<DEFAULT>"; In_Csci_View : String := "<CURSOR>"; Options : String := ""; Response : String := "<PROFILE>"); procedure Generate_Markup (Of_Document : Document_Name := "<DEFAULT>"; In_Csci_View : String := "<CURSOR>"; Options : String := ""; Response : String := "<PROFILE>"); procedure Preview (Document : Document_Name := "<DEFAULT>"; In_Csci_View : String := "<CURSOR>"; Options : String := ""; In_Place : Boolean := False; Response : String := "<PROFILE>"); procedure Print (Document : Document_Name := "<DEFAULT>"; In_Csci_View : String := "<CURSOR>"; Options : String := ""; Response : String := "<PROFILE>"); procedure Complete (Include_Optional_Annotations : Boolean := False); procedure Definition (In_Place : Boolean := False; Visible : Boolean := True); procedure Enclosing (In_Place : Boolean := False); procedure Explain; procedure Format; procedure Show_Usage (In_Csci_View : String := "<CURSOR>"); procedure Display_All_Targets; procedure Display_Target (In_Csci_View : String := "<CURSOR>"); procedure Set_Target (To_Value : String := ">>DESIGN TARGET<<"; In_Csci_View : String := "<CURSOR>"); procedure Display_All_Phases (In_Csci_View : String := "<CURSOR>"); procedure Display_Phase (In_Csci_View : String := "<CURSOR>"); procedure Set_Phase (To_Value : String := ">>DESIGN PHASE<<"; In_Csci_View : String := "<CURSOR>"); function Current_Target_Image (In_Csci_View : String := "<CURSOR>") return String; function Current_Phase_Image (In_Csci_View : String := "<CURSOR>") return String; procedure Create_Model (Compiler_Model : String := ">>MODEL NAME<<"; Design_Facility_Model : String := ">>MODEL NAME<<"; New_Model_Name : String := ""); type Component_Kinds is (System, Segment, Multi_Subsystem_Csci, Csci_Child_Subsystem, Single_Subsystem_Csci, Hwci); procedure Initial (Component : String := ">>COMPONENT_NAME<<"; Kind : Component_Kinds := Design.Single_Subsystem_Csci; Parent : String := ""; Working_View_Base_Name : String := "Ssr1"; View_To_Import : String := ""; Create_Load_View : Boolean := True; Model : String := "RATIONAL_2167_R1000"; Comments : String := ""; Work_Order : String := "<DEFAULT>"; Volume : Natural := 0; Response : String := "<PROFILE>"); procedure Set_Parent (Of_Component : String := "<CURSOR>"; To : String := ""; Response : String := "<PROFILE>"); procedure Check_Consistency (Of_Component : String := "<CURSOR>"; Attempt_Repair : Boolean := True; Response : String := "<PROFILE>"); procedure Display_Hierarchy (Of_Component : String := "<CURSOR>"; Decompose_Cscis : Boolean := True; Transitive : Boolean := True); function Children (Of_Component : String := "<CURSOR>"; Decompose_Cscis : Boolean := True; Transitive : Boolean := True) return String; function Parent (Of_Component : String := "<CURSOR>"; Recursive : Boolean := False) return String; end Design; @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Build procedure Build (Document : Document_Name := "<DEFAULT>"; In_Csci_View : String := "<CURSOR>"; Options : String := ""; Response : String := "<PROFILE>"); Description Generates a document database for a CSCI using the specified options. Once a document database has been generated with the Build command, various online and hard-copy forms of the document can be viewed or printed: the preview document, markup for the document, a draft hard copy of a document (printed on a line printer), or a camera-ready hard copy of the document (printed on a laser printer). Parameters Document : Document_Name := "<DEFAULT>"; Specifies which document database to generate: IRS, SRS, STLDD, IDD or SDDD. The default value, "<DEFAULT>", specifies that the kind of document database will be determined from the current design phase for the CSCI specified in the In_Csci_View parameter. Thus, if the design phase is Requirements_Analysis, a document database for the SRS will be generated. If the design phase is Preliminary_Design, an STLDD document database will be generated. Finally, if the design phase is Detailed_Design or later, an SDDD document database will be generated. For information on the resolution of ambiguous document names, see "Document Naming in Document Parameters," in the introduction to this package. In_Csci_View : String := "<CURSOR>"; Specifies the name of the CSCI for which the document database is to be generated. The default, "<CURSOR>", specifies the current CSCI. For further details, see "Naming in CSCI-Related Parameters," in the introduction to this package. Options : String := ""; Specifies the options for document generation. This parameter allows the tailoring of document format to meet specific requirements and to specify nondefault contents of the document database. For further information on specifying options, see the Key Concepts in the LM book of the Rational Environment Reference Manual. The following options are available: * Analyze_Private_Types=True|False Specifies, when true, that data format tables will include size and limits information for objects declared from or composed of private types. When false, these table entries show PRIVATE for such objects. The default is false. * Csc_Numbering=Compressed|Dotted|None Specifies the format of automatically generated CSC numbers from the 2167 static structure. The CSC number is composed from the CSC number for the parent and the ordinal number of the given child. The Dotted option places a period (.) between the parent and child numbers. The Compressed option inserts no intervening character. For example, CSCI 5, TLCSC 2 is numbered as 52 when the Compressed option is specified. When the Dotted option is specified, the TLCSC is numbered as 5.2. None specifies that CSCs will not be numbered. The default is Csc_Numbering=Dotted. * Data_Tables=(Constants, Objects, Types) Specifies which declarations will be included in tables that describe data formats. The default is Data_Tables=(Objects). * Input_Output_Tables=(Functional, Interface,Non_Requirement) Specifies which subprograms will be included in tables that describe component inputs and outputs. The default is Input_Output_Tables=(Functional,Interface). The Non_Requirement option specifies nonrequirement subprograms. * Interpretation=Rational|Strict Specifies the interpretation of DOD-STD-2167 to be used when generating documents. This option primarily affects table formats. The default is Interpretation=Rational. When Interpretation=Strict, the table formats used will match those found in the DIDs for DOD-STD-2167. Response : String := "<PROFILE>"; Specifies how to respond to errors, how to generate logs, and which activity to use during execution of this command. The default is the job response profile. Restrictions This command cannot be used on CSCIs that do not have a design target registered for them. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error will result and an error message will be displayed. If the specified document name is invalid, an error will result and an error message will be displayed. Examples The Design.Build command can be executed as shown below with default values. If the design phase for the current CSCI is set to Preliminary_Design, the STLDD will be generated. The tables in the STLDD will contain only objects (the default). Input/output tables will contain only functions and interfaces (the default). Finally, analysis of private types will not be included in data format tables; their entries will show PRIVATE. Design.Build; The design phase for the current CSCI is set to Preliminary_Design. The SRS must be regenerated, using default options, as shown below: Design.Build (Document => "srs"; In_Csci_View => "<CURSOR>"; Options => ""; Response => "<PROFILE>"); If the design phase for the current CSCI is set to Preliminary_Design, the following example will generate an STLDD by default. Tables in the STLDD will contain constants, objects, and types. Input/output tables will contain functions, interfaces, and nonrequirement subprograms. Finally, private types will be included in data format tables. Design.Build (Document => "<DEFAULT>"; In_Csci_View => "<CURSOR>"; Options => "analyze_private_types," & data_tables=(constants,objects,types)," & input_output_tables=" & (Functional,Interface,Non_Requirement)"; Response => "<PROFILE>"); The following example illustrates how all of the IRSs can be generated. The IRS tables will contain constants, objects, and types. Input/output tables will contain functions, interfaces, and nonrequirement subprograms. Finally, analysis of private types will not be included in data format tables; their entries will show PRIVATE. Design.Build (Document => "irs"; In_Csci_View => "!Projects.Cruise_Control.Pdr1_Working"; Options => "data_tables=(constants,objects,types)," & "input_output_tables=" & "(Functional,Interface,Non_Requirement)"; Response => "<PROFILE>"); References procedure Generate_Markup constant Idd constant Irs procedure Preview procedure Print constant Sddd constant Srs constant Stldd constant Unknown @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Check_Consistency procedure Check_Consistency (Of_Component : String := "<CURSOR>"; Attempt_Repair : Boolean := True; Response : String := "<PROFILE>"); Description Verifies that the specified design component is structurally and hierarchically consistent with the 2167 DF requirements. This command checks the consistency of System, Segment, HWCI, and CSCI design components. For further information on the structure and hierarchy required by the 2167 DF, see the Key Concepts book in this manual. Parameters Of_Component : String := "<CURSOR>"; Specifies the name of the design component to check. The default, "<CURSOR>", specifies the current design component. See "Naming in CSCI-Related Parameters," in the introduction to this package. Attempt_Repair : Boolean := True; Specifies, when true (the default), that any inconsistencies detected be made consistent or, when that is not possible, the user be notified that they should be made consistent manually. The consistency required is described in "A Consistent Design Hierarchy for High-Level Design Components," in Chapter 2 of the Key Concepts book in this manual. When false, this parameter specifies that only diagnostic information should be generated. Response : String := "<PROFILE>"; Specifies how to respond to errors, how to generate logs, and which activity to use during execution of this command. The default is the job response profile. Restrictions This command can be used only for System, Segment, HWCI, and CSCI design components. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error will result and an error message will be generated. Examples When executed in a Command window, the following command will check the consistency of the current CSCI, but it will not try to repair any errors that it finds. The command will simply report errors. Design.Check_Consistency (Of_Component => "<CURSOR>"; Attempt_Repair => False); References function Children @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Children function Children (Of_Component : String := "<CURSOR>"; Decompose_Cscis : Boolean := True; Transitive : Boolean := True) return String; Description Returns a naming expression for the children of the specified design component. Parameters Of_Component : String := "<CURSOR>"; Specifies the name of the design component for which the children should be returned. The default, "<CURSOR>", specifies the current design component. Decompose_Cscis : Boolean := True; Specifies, when true, that the static hierarchy defined in the @DECOMPOSITION annotation in the design component should be included in the naming expression. When false, the naming expression includes components only down to the HWCI and CSCI levels. The default is true. Transitive : Boolean := True; Specifies, when true, that the transitive closure of the specified design component is included in the naming expression. When false, only the immediate children of the specified design component are included. The default is true. return String; Returns the naming expression for the children of the specified design component. Errors If this function is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, the value "[ ]" will be returned. Examples The following program segment will return a naming expression for all of the children of the specified CSCI and print it in the Message window: with Design; with Library; procedure Display_Children (The_Csci : in String := "<CURSOR>"); ... declare The_Children: constant String := Design.Children (Of_Component => The_Csci); begin ... Library.Resolve (The_Children); ... end Display_Children; References procedure Display_Hierarchy @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Complete procedure Complete (Include_Optional_Annotations : Boolean := False); Description Inserts annotations for the current design phase into the design component image on which the cursor is currently located. As a design component progresses forward through design phases, additional annotations may be required; these can be added with the Complete procedure. Parameters Include_Optional_Annotations : Boolean := False; Specifies, when false (the default), that only required annotations be added to the design component. When true, this parameter specifies that optional annotations also be added. Restrictions The design component must be in source state and open for editing. Errors When this command is executed in a CSCI for which no design target is registered, an error results and an error message is displayed in the Message window. Examples The following Unit has been created in a CSCI that is at the Detailed_Design phase: procedure The_Unit (Inputs : in Integer; Outputs: out Integer); The user then executes the Design.Complete command, which adds the @COMPONENT_KIND annotation to the design component, as shown below: --| @COMPONENT_KIND [2167 Component] procedure The_Unit (Inputs : in Integer; Outputs: out Integer); When the @COMPONENT_KIND annotation has been completed by the user with Unit to specify a Unit design component, the user executes the Design.Complete command a second time. The rest of the annotations required in a Unit in the Detailed_Design phase are added, as shown below: --| @COMPONENT_KIND UNIT --| @PURPOSE [TEXT] --| @MEMORY [Memory Allocation] --| @TIME [Time Allocation] --| @LIMITATIONS [TEXT] --| @SEQUENCING [TEXT] --| @ALGORITHM [TEXT] --| @PROCESSING [TEXT] --| @UTILIZATION [TEXT] procedure The_Unit (Inputs : in Integer; Outputs: out Integer); References procedure Format procedure Common.Complete, EST, Rational Environment Reference Manual procedure Common.Format, EST, Rational Environment Reference Manual @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Component_Kinds type Component_Kinds is (System, Segment, Multi_Subsystem_Csci, Csci_Child_Subsystem, Single_Subsystem_Csci, Hwci); Description Defines the various kinds of design components that can be created using the 2167 DF. Enumerations System Indicates a System design component. Segment Indicates a Segment design component. Multi_Subsystem_Csci Indicates a CSCI design component that consists of more than one subsystem. Csci_Child_Subsystem Indicates a subsystem that is a child of a multisubsystem CSCI. Single_Subsystem_Csci Indicates a CSCI design component that is contained in a single subsystem. Hwci Indicates a HWCI design component. References Chapters 2 and 3, Key Concepts book of this manual @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Create_Model procedure Create_Model (Compiler_Model : String := ">>MODEL NAME<<"; Design_Facility_Model : String := "RATIONAL_2167"; New_Model_Name : String := ""); Description Creates a model world, to be used by the Design.Initial command, specifying the requisite components of the design target: the Design Facility PDL name and the compiler name. The command performs the following steps in creating the model (the user should not perform any of them): * Copies the model specified in the Compiler_Model parameter into the model specified in the New_Model_Name parameter, including the contents of the switch file associated with that model world. * Creates Design.Options and Design.Phase library switches in the library switch file for the model specified in the New_Model_Name parameter. * Copies the nondefault switch values from the switch file associated with the model specified in the Design_Facility_Model parameter into the corresponding switch file in the model specified in the New_Model_Name parameter. If the switch values in both switch files have nondefault values, the Design_Facility_Model value is not copied and an error message is displayed in the log. * Composes the name associated with the New_Model_Name parameter from the target key names associated with the two source models, unless a name other than the null string is specified as a value for the New_Model_Name parameter. * Copies the library structure from the model specified in the Design_Facility_Model parameter into the model specified in the New_Model_Name parameter. Parameters Compiler_Model : String := ">>MODEL NAME<<"; Specifies the name of the model for the compiler to be used in the design target. The default parameter placeholder >>MODEL NAME<< must be replaced. Design_Facility_Model : String := "RATIONAL_2167"; Specifies the name of the model for the Design Facility PDL to be used. The default specifies RATIONAL_2167. New_Model_Name : String := ""; Specifies the name of the model to be created. The null string specifies that the name will be a composite of the Design Facility model name and the compiler model name. For example, the composite name for the RATIONAL_2167 model and the M1750A_BARE model is, by default, RATIONAL_2167_M1750A_BARE. Restrictions If the models are incompatible, error messages are generated, warning the user that editing of the model may be required. Both the compiler and the Design Facility models must already exist. If they do not, no attempt will be made to create a new model. Examples To create a model world for a RATIONAL_2167_M1750A_BARE model, the Create_Model command would be used as shown below. Using the model for the compiler and the Design Facility model, the command creates a new model called RATIONAL_2167_M1750A_BARE. Design.Create_Model (Compiler_Model => "m1750a_bare", Design_Facility_Model => "rational_2167", New_Model_Name => "rational_2167_m1750a_bare"); References procedure Initial @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Current_Document function Current_Document (In_Csci_View : String := "<CURSOR>") return Document_Name; Description Returns the document kind to be generated by default during the current design phase for the specified CSCI. If the design phase is Requirements_Analysis, the SRS is the default document. If the design phase is Preliminary_Design, the STLDD is the default document. Finally, if the design phase is Detailed_Design or later, the SDDD is the default document. Parameters In_Csci_View : String := "<CURSOR>"; Specifies the name of the CSCI. The default, "<CURSOR>", specifies the current CSCI. See "Naming in CSCI-Related Parameters," in the introduction to package Design, for further details. return Document_Name; Returns the document kind: SRS, STLDD, SDDD, or "<UNKNOWN>". Restrictions If the design phase of the specified CSCI is not set to one of those provided by the 2167 DF or if the CSCI has no design target registered for it, the document name "<UNKNOWN>" is returned. Errors If this function is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, "<UNKNOWN>" will be returned. Examples The following example shows how the Current_Document function might be used: with Design; procedure The_Current_Document (The_CSCI : in String) is Document : constant Design.Document_Name := Design.Current_Document (In_Csci_View => The_CSCI); begin if Document = Design.Srs then ... elsif Document = Design.Stldd then ... elsif Document = Design.Sddd then ... else raise Document_Name_Error; end if; end The_Current_Document; References constant Default subtype Document_Name constant Idd constant Irs constant Sddd constant Srs constant Stldd constant Unknown @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Current_Phase_Image function Current_Phase_Image (In_Csci_View : String := "<CURSOR>") return String; Description Returns the string representation of the current design phase for the specified CSCI. The design phase value is stored in the Design.Phase library switch. The Set_Phase command should be used to edit the Design.Phase switch. Parameters In_Csci_View : String := "<CURSOR>"; Specifies the name of the CSCI. The default, "<CURSOR>", specifies the current CSCI. See "Naming in CSCI-Related Parameters," in the introduction to package Design, for further details. return String; Returns one of the following design phases: * Requirements_Analysis * Preliminary_Design * Detailed_Design * Coding * Csc_Integration * Csci_Test Errors If this function is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, Nil will be returned. If no design phase is set for the current CSCI, Nil will be returned. Examples The following example shows how the Current_Phase_Image function might be used to check the current design phase and perform some action based on the phase: with Design; . . . declare Project: constant String := Projects (The_Project); Phase : constant String := Design.Current_Phase_Image (Project); begin if Phase = "REQUIREMENTS_ANALYSIS" then ... elsif Phase = "PRELIMINARY_DESIGN" then ... elsif Phase = "DETAILED_DESIGN" then ... elsif Phase = "Nil" then ... end if; end; References procedure Display_All_Phases procedure Display_Phase procedure Set_Phase @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Current_Target_Image function Current_Target_Image (In_Csci_View : String := "<CURSOR>") return String; Description Returns the string representation of the design target for the specified CSCI. Parameters In_Csci_View : String := "<CURSOR>"; Specifies the name of the CSCI. The default, "<CURSOR>", specifies the current CSCI. See "Naming in CSCI-Related Parameters," in the introduction to package Design, for further details. return String; Returns the string representation of the design target for the specified CSCI. Errors If this function is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, "<NONE>" will be returned. Examples The following sample procedure shows how the Current_Target_Image function can be used to display the name of the current design target in the current log file: with Design, Log; procedure The_Current_Target_Image (The_Csci : in String := "<CURSOR>") is begin Log.Put_Line ("The current design target is " & Design.Current_Target_Image (The_Csci)); ... end The_Current_Target_Image; References procedure Display_All_Targets procedure Display_Target procedure Set_Target @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Default Default : constant Document_Name := "<DEFAULT>"; Description Defines a constant that represents the default document for the current design phase. For the Requirements_Analysis phase, the document is the SRS; for the Preliminary_Design phase, the document is the STLDD; and for Detailed_Design and later phases, the document is the SDDD. References subtype Document_Name constant Idd constant Irs constant Sddd constant Srs constant Stldd constant Unknown @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Definition procedure Definition (In_Place : Boolean := False; Visible : Boolean := True); Description Displays in a window the design component, file, or document in which the information is defined, when executed in a document. Parameters In_Place : Boolean := False; Specifies whether the current frame should be used to bring up the image. The default, false, specifies that the least recently used frame should be replaced. Visible : Boolean := True; Specifies, for requirements, whether to display the specification in the PDL (in the @FUNCTION_DEFINED or @INTERFACES_DEFINED annotation) or in the defining paragraph in the SRS or IRS document. A value of true, the default, specifies the annotation; false specifies the document. Restrictions When this command is executed in a CSCI for which no design target is registered, an error results and an error message is displayed in the Message window. Errors When this command is entered in PDL or in a document that is not within a Rational System or Subsystem with the Rational Design Facility specified as its design target, an error results and an error message is displayed. References procedure Show_Usage procedure Ada.Show_Usage, EST, Rational Environment Reference Manual procedure Common.Definition, EST, Rational Environment Reference Manual @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Display_All_Phases procedure Display_All_Phases (In_Csci_View : String := "<CURSOR>"); Description Displays in the Message window all of the design phases for the design target registered with the specified CSCI. The design phases for 2167 DF-based design targets are: * Requirements_Analysis * Preliminary_Design * Detailed_Design * Coding * Csc_Integration * Csci_Test Parameters In_Csci_View : String := "<CURSOR>"; Specifies the name of the CSCI. The default, "<CURSOR>", specifies the current CSCI. See "Naming in CSCI-Related Parameters," in the introduction to package Design, for further details. Errors If no design target has been registered with the specified CSCI, an error results and an error message is displayed. Examples Executing the command: Design.Display_All_Phases; in a Command window in a CSCI that has RATIONAL_2167_R1000 registered for it will result in the following display in the Message window: Available Design Phases: REQUIREMENTS_ANALYSIS, PRELIMINARY_DESIGN, DETAILED_DESIGN, CODING, CSC_INTEGRATION, CSCI_TEST References function Current_Phase_Image procedure Display_Phase procedure Set_Phase @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Display_All_Targets procedure Display_All_Targets; Description Displays in the Message window all of the targets registered on the machine on which the command is executed. The name of the design target for the 2167 DF with the R1000 compiler is RATIONAL_2167_R1000. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples If the only design target registered on a machine is RATIONAL_2167_R1000, the command: Design.Display_All_Targets; executed in a Command window results in the following display in the Message window: Available Design Targets: RATIONAL_2167_R1000 References procedure Create_Model function Current_Target_Image procedure Display_Target procedure Set_Target @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Display_Hierarchy procedure Display_Hierarchy (Of_Component : String := "<CURSOR>"; Decompose_Cscis : Boolean := True; Transitive : Boolean := True); Description Displays the 2167 static hierarchy in current output. If the Decompose_Cscis parameter is false, the static structure through the CSCI level is shown. If this parameter is true, any design components specified in the @DECOMPOSITION annotation of any CSCIs in the specified hierarchy also are included in the display. If the Transitive parameter is true, the transitive closure is shown. Parameters Of_Component : String := "<CURSOR>"; Specifies the design component for which the static hierarchy should be displayed. The default, "<CURSOR>", specifies the current design component. Decompose_Cscis : Boolean := True; Specifies, when false, that the static structure through the CSCI level is shown. When true (the default), this parameter specifies that any design components specified in the @DECOMPOSITION annotation of any CSCI in the specified hierarchy also are included in the display. Transitive : Boolean := True; Specifies, when true (the default), that the transitive closure of the Of_Component parameter is displayed. When false, only the immediate children of the given component are displayed. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples When executed in the context of the CSCI, the command: Design.Display_Hierarchy (Of_Component => "<CURSOR>"; Decompose_Cscis => True; Transitive => True); shows the static structure of the CSCI, including all design components included in the @DECOMPOSITION annotation of the CSCI. The transitive closure of the CSCI also will be displayed. References procedure Initial @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Display_Phase procedure Display_Phase (In_Csci_View : String := "<CURSOR>"); Description Displays in the Message window the current design phase for the design target registered with the specified CSCI. Parameters In_Csci_View : String := "<CURSOR>"; Specifies the name of the CSCI. The default, "<CURSOR>", specifies the current CSCI. See "Naming in CSCI-Related Parameters," in the introduction to package Design, for further details. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples The command: Design.Display_Phase; executed from a Command window below a CSCI, displays the following in the Message window for a CSCI that is currently set to the Preliminary_Design phase: Current Design Phase is PRELIMINARY_DESIGN References procedure Display_All_Phases procedure Set_Phase @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Display_Target procedure Display_Target (In_Csci_View : String := "<CURSOR>"); Description Displays the name of the design target registered with the specified CSCI. Design target names consist of two parts, connected by the underscore character. The first part is the 2167 DF PDL name; the second is the name of the target compiler. For example, the default design target is RATIONAL_2167_R1000. Design target names are determined on system boot as a composite of the PDL names and the compilers registered on the machine. Parameters In_Csci_View : String := "<CURSOR>"; Specifies the name of the CSCI for which the registered design target name will be displayed. The default, "<CURSOR>", specifies the current CSCI. See "Naming in CSCI-Related Parameters," in the introduction to package Design, for further details. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples Executing the command: Design.Display_Target; in a Command window below a CSCI that has RATIONAL_2167_R1000 registered with it results in the following display: Current Design Target is RATIONAL_2167_R1000 References procedure Create_Model procedure Display_All_Targets procedure Set_Target @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Document_Name subtype Document_Name is String; Description Defines the form of document names. References constant Default constant Idd constant Irs constant Sddd constant Srs constant Stldd constant Unknown @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Enclosing procedure Enclosing (In_Place : Boolean := False); Description Traverses to and displays the enclosing 2167 DF design component (note that this is not the enclosing library structure). Parameters In_Place : Boolean := False; Specifies whether the current frame should be used to bring up the image. The default, false, specifies that the least recently used frame should be used. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples The following table illustrates the relationships of the enclosing design component: ------------------------------------------------------------- | | | | Cursor Location | Enclosing Design Component | ------------------------------------------------------------- | | | |On the image of the |There is no enclosing design component, | |System design |so the following message is displayed: | |component |This is the root of the 2167 system | ------------------------------------------------------------- | | | |On the image of the |Image of the package specification for | |Segment design |the System design component from which | |component |it was allocated | ------------------------------------------------------------- | | | |On the image of the |Image of the package specification for | |CSCI design |the Segment (or System if there is no | |component |Segment) design component from which it | | |was allocated | ------------------------------------------------------------- | | | |On the image of the |Image of the package specification for | |HWCI design |the Segment (or System if there is no | |component |Segment) design component from which it | | |was allocated | ------------------------------------------------------------- | | | |On the image of the |Image of the specification for the CSCI | |TLCSC design |or TLCSC design component from which it | |component |was allocated | ------------------------------------------------------------- | | | |On the image of the |Image of the specification for the TLCSC| |LLCSC design |or LLCSC design component from which it | |component |was allocated | ------------------------------------------------------------- | | | |On the image of the |Image of the specification for the TLCSC| |Unit design |or LLCSC design component from which it | |component |was allocated | ------------------------------------------------------------- References procedure Display_Hierarchy @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Explain procedure Explain; Description Displays, in a preview document, information for the document structure on which the cursor is located. In PDL, this command displays information for the annotation and its argument on which the cursor is currently located. Restrictions When no information is available, the message No information available is displayed in the Message window. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. References procedure Common.Explain, EST, Rational Environment Reference Manual @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Format procedure Format; Description Performs syntactic checking of annotations in the image of a design component. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. References procedure Common.Format, EST, Rational Environment Reference Manual @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Generate_Markup procedure Generate_Markup (Of_Document : Document_Name := "<DEFAULT>"; In_Csci_View : String := "<CURSOR>"; Options : String := ""; Response : String := "<PROFILE>"); Description Generates markup for the specified document in the specified CSCI. The markup language generated can be used by the Rational Document Formatter to produce either PostScript output to be printed on a laser printer or ASCII output to be printed on a line printer. The file containing the markup is located in the Documents directory of the CSCI in a file called >>DOCUMENT NAME<<_Mss, where >>DOCUMENT NAME<< is SRS, STLDD, SDD, IRS_>>DOCUMENT_NUMBER<<, or IDD_>>DOCUMENT_NUMBER<<. If the Rational Document Formatter is run on the markup file, two additional files are generated in the Documents directory. When the Device parameter of the command that invokes the Rational Document Formatter is set to PostScript, two files, called >>DOCUMENT NAME<<_Mss_Ps and >>DOCUMENT NAME<<_Mss_Aux, are generated. The >>DOCUMENT NAME<<_Mss_Ps file contains the PostScript, and it can be printed on a laser printer. When the Device parameter of the command that invokes the Rational Document Formatter is set to Lineprinter, two files, called >>DOCUMENT_NAME<<_Mss_Lpt and >>DOCUMENT NAME<<_Mss_Aux, are generated. The >>DOCUMENT NAME<<_Mss_Lpt file contains ASCII, and it can be printed on a line printer. If the Device parameter of the command that invokes the Rational Document Formatter is set to Lineprinter, and PostScript graphics are included in the document, an error will result and an error messages will be generated because the pictures cannot be interpolated into the document. Parameters Of_Document : Document_Name := "<DEFAULT>"; Specifies the name of the document. The default, "<DEFAULT>", specifies that markup will be generated for the default document for the current design phase. Thus, if the current design phase is Requirements_Analysis, markup for the existing SRS will be generated. Similarly, in the Preliminary_Design phase, markup for the existing STLDD will be generated, and in Detailed_Design and later phases, markup for the existing SDDD will be generated. For information on the resolution of ambiguous document names, see "Document Naming in Document Parameters," in the introduction to this package. The available options are: * In_Csci_View : String := "<CURSOR>"; Specifies the CSCI containing the document for which markup will be generated. The default, "<CURSOR>", specifies the CSCI on which the cursor is located. For further details, see "Naming in CSCI-Related Parameters," for in the introduction to this package. * Options : String := ""; Specifies options that will be used in generating markup. Through the Options parameter, you can specify nondefault contents of the document database. For further information on specifying options, see the Key Concepts in the LM book of the Rational Environment Reference Manual. * Analyze_Private_Types=True|False Specifies, when true, and when the Build_Db option is true, that data format tables will include size and limits information for objects declared from or composed of private types. When false, these table entries show PRIVATE for such objects. The default is false. * Build_Db=True|False Specifies, when true, that the document database for the document will be regenerated before the markup is generated. Thus, the resulting markup will be for the most recent version of the PDL and included text and document files. When false, the document database will not be regenerated. Thus, it may not reflect recent changes to PDL and included files. The default is false. * Csc_Numbering=Compressed|Dotted|None Specifies the format of automatically generated CSC numbers from the 2167 static structure. In both cases, the CSC number is composed from the CSC number for the parent and the ordinal number of the given child. The Dotted option places a period (.) between the parent and child numbers. The Compressed option inserts no intervening character. For example, CSCI 5, TLCSC 2 is numbered as 52 when the Compressed option is specified. When the Dotted option is specified, the TLCSC is numbered as 5.2. None specifies that CSCs will not be numbered. The default is Csc_Numbering=Dotted. This option is valid only when the Build_Db option is true. * Data_Tables=(Constants, Objects, Types) Specifies which declarations will be included in tables that describe data formats. The default is Data_Tables=(Objects). This option is valid only when the Build_Db option is true. * Input_Output_Tables=(Functional, Interface, Non_Requirement) Specifies which subprograms will be included in tables that describe component inputs and outputs. The default is Input_Output_Tables=(Functional,Interface). The Non_Requirement option specifies nonrequirement subprograms. This option is valid only when the Build_Db option is true. * Interpretation=Rational|Strict Specifies the interpretation of DOD-STD-2167 to be used when generating documents. This option primarily affects table formats. The default is Interpretation=Rational. When Interpretation=Strict, the table formats used will match those found in the DIDs for DOD-STD-2167. This option is valid only when the Build_Db option is true. * Paragraph_Header_Style=Rational|Italicize_Subparagraphs| Underline_All Specifies the style of paragraph headings in the printed document. The meaning of each choice for this option is described below: - Rational: Paragraph headers will be produced in bold typeface with no special processing. - Italicize_Subparagraphs: All paragraph headers with more than two digits (for example, 1.2.5 or 6.2.7 or 2.1.3.9) will be italicized. This option conforms to MIL-STD-490A, paragraph 3.2.5, for typeset documents. - Underline_All: All paragraph headers, regardless of level, will be underlined. This option conforms to MIL-STD-490A, paragraph 3.2.5, for nontypeset documents. The default is Paragraph_Header_Style=Rational. Only one of these options can be specified. Response : String := "<PROFILE>"; Specifies how to respond to errors, how to generate logs, and which activity to use during execution of this command. The default is the job response profile. Restrictions The document database for the specified document must exist before the execution of this command, unless the Build_Db option is set to true. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples Assume that a user wants to regenerate markup for the SRS but not print it until after reviewing the marked-up version. The current design phase is Preliminary_Design; thus, the SRS is not the default document. The user also wants to regenerate the document database for the SRS while generating markup. To accomplish this, the user enters the following command in a Command window and executes it: Design.Generate_Markup (Of_Document => "SRS"; In_Csci_View => "<CURSOR>"; Options => "build_db"; Response => "<PROFILE>"); References procedure Build procedure Preview procedure Print Rational Document Formatter documentation @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Idd Idd : constant Document_Name := "IDD"; Description Defines a constant for the Interface Description Document (IDD). References constant Default subtype Document_Name constant Irs constant Sddd constant Srs constant Stldd constant Unknown @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Initial procedure Initial (Component : String := ">>COMPONENT_NAME<<"; Kind : Component_Kinds := Design.Single_Subsystem_Csci; Parent : String := ""; Working_View_Base_Name : String := "Ssr1"; View_To_Import : String := ""; Create_Load_View : Boolean := True; Model : String := "RATIONAL_2167_R1000"; Comments : String := ""; Work_Order : String := "<DEFAULT>"; Volume : Natural := 0; Response : String := "<PROFILE>"); Description Creates and initializes the specified design component of the specified type. The following operations are performed during creation and initialization: * Creation of the CMVC system object types as described in the following table * Building of the appropriate library structure for the design target * Possible creation of an empty design component (see the following table) * Setting of the design target for the subsystem to the design target specified in the model * Setting of the design phase to Requirements_Analysis * Setting of the appropriate parental relationship as specified in the Parent parameter * Passing of the information supplied to the parameters following the Parent parameter to the Cmvc.Initial command When subsystems are created, the default model, RATIONAL_2167_R1000, is used. It has a set of links identical to model R1000_PORTABLE, so that the code can be ported more easily to other machines. Further information about the model appears below in the description of the Model parameter. The following table shows what objects are created when each type of design component is initialized: ----------------------------------------------- | | | | |2167 Design | |2167 Design | |Component |CMVC Object |Component | | |Created |Created | ----------------------------------------------- | | | | |System |Rational System|System package | | | |specification | ----------------------------------------------- | | | | |Segment |Rational System|Segment package| | | |specification | ----------------------------------------------- | | | | |Multisubsystem |Rational System|None | |CSCI | | | ----------------------------------------------- | 1 | | | |CSCI Child |Rational |CSCI package 2 | | |Subsystem |specification | ----------------------------------------------- | | | | |Single-Subsyste|Rational |CSCI package | |m CSCI |Subsystem |specification | ----------------------------------------------- | | | | |HWCI |Rational |HWCI package | | |Subsystem |specification | ----------------------------------------------- 1 The parent of a CSCI child must be a multisubsystem CSCI. 2 This is created only if the CSCI package specification does not already exist in another sibling CSCI child subsystem. Parameters Component : String := ">>COMPONENT_NAME<<"; Specifies the name of the design component to be created. The default parameter placeholder, >>COMPONENT_NAME<<, must be replaced with the name of the design component to be created. The name specified must be an Ada simple name. Kind : Component_Kinds := Design.Single_Subsystem_Csci; Specifies the kind of design component to initialize. The default, Single_Subsystem_Csci, specifies that a CSCI consisting of a single subsystem will be initialized. Parent : String := ""; Specifies the name of a previously initialized parent design component to be linked. The default, the null string (""), specifies that the design component has no parent. It should be noted that the parent can be added or changed at a later time with the Set_Parent procedure. Working_View_Base_Name : String := "Ssr1"; Specifies the base name for the working view of the subsystem created for the CSCI. CSCIs are created in subsystems. Each view of a subsystem has a base name that is the part of the name shared by the working and released views of that view. For example, Ssr1_Working might be the name of the working view and Ssr1_0_1 and Ssr1_0_2 might be the names of released views. The Working_View_Base_Name parameter allows you to specify a base name other than Ssr1, which is the default. For example, you may want to give a view in which you are writing PDL and generating documents for the Preliminary Design Review the name Pdr1_Working. Thus, you would specify Pdrl as the value for this parameter. The default, Ssr1, specifies the Software Specification Review. View_To_Import : String := ""; Specifies the name of views to import. The default, the null string (""), specifies that no views will be imported. To use interfaces or functions defined in the views that contain other CSCIs (they are specified in the @INTERFACES_USED and @FUNCTIONS_DEFINED annotations), they must be imported. Create_Load_View : Boolean := True; Specifies whether a load view using the base name specified in the Working_View_Base_Name parameter will be created. The default, true, specifies that the load view will be created. False specifies that a combined view will be created. Model : String := "RATIONAL_2167_R1000"; Specifies which model to use when the CSCI subsystem is created. The default model, RATIONAL_2167_R1000, has a set of links identical to model R1000_PORTABLE, so that the code can be run on machines other than R1000s. The CSCI has RATIONAL_2167_R1000 registered with it and the design phase library switch is set to Requirements_Analysis. Finally, the model contains the library structure required by the 2167 DF-namely, the addition of the Documentation, Graphics, and Files directories at the same level as the Units directory of a subsystem. Comments : String := ""; Specifies any comments to be put into the CMVC configuration database on creation of the CSCI subsystem. Work_Order : String := "<DEFAULT>"; Specifies the name of the work order to use when creating the CSCI subsystem. The default, "<DEFAULT>", specifies the default work order for that session. Volume : Natural := 0; Specifies the disk volume on which to create the CSCI subsystem. The default, 0, specifies the volume with the greatest amount of available space. Response : String := "<PROFILE>"; Specifies how to respond to errors, how to generate logs, and which activity to use during execution of this command. The default is the job response profile. Restrictions All of the design components in a System must use the same design target. Examples The following example illustrates how a multisubsystem CSCI called Cruise_Control might be initialized. Its parent is a Segment called Vehicle_System. It also requires the use of some interfaces specified in !Projects.Steering. A Spec_Load subsystem should be created. Finally, the model world to be used is called RATIONAL_2167_R1000 because that is the design target to be used for the CSCI. Design.Initial (Component => "cruise_control"; Parent => "vehicle_system"; Kind => Design.Multi_Subsystem_Csci; Working_View_Base_Name => "PDR1"; View_To_Import => "!projects.steering.pdr1_0_spec"; Create_Load_View => True; Model => "RATIONAL_2167_R1000"; Comments => ""; Work_Order => "<DEFAULT>"; Volume => 0; Response => "<PROFILE>"); Next, its child CSCI subsystems would be initialized. A sample of their initialization is shown below. This child CSCI is called Child_1, and its parent is the multisubsystem CSCI called Cruise_Control. Design.Initial (Component => "child_1"; Parent => "cruise_control"; Kind=> Design.Csci_Child_Subsystem; Working_View_Base_Name => "PDR1"; View_To_Import => "!projects.steering.pdr1_0_spec"; Create_Load_View => True; Model => "RATIONAL_2167_R1000"; Comments => ""; Work_Order => "<DEFAULT>"; Volume => 0; Response => "<PROFILE>"); References type Component_Kinds package Cmvc, PM, Rational Environment Reference Manual @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Irs Irs : constant Document_Name := "IRS"; Description Defines a constant for the Interface Requirements Specification (IRS) document. References constant Default subtype Document_Name constant Idd constant Sddd constant Srs constant Stldd constant Unknown @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Parent function Parent (Of_Component : String := "<CURSOR>"; Recursive : Boolean := False) return String; Description Returns a naming expression for the parent of the specified design component. When the Recursive parameter is true, the complete parentage of the specified design component is included in the naming expression. When it is false, only the immediate parent of the specified component is returned. Parameters Of_Component : String := "<CURSOR>"; Specifies the design component for which the parentage should be returned. The default, "<CURSOR>", specifies the design component on which the cursor is currently located. Recursive : Boolean := False; Specifies, when true, that the complete parentage of the specified design component is included in the naming expression. When false, this parameter specifies that only the immediate parent of the specified component is to be returned. The default is false. return String; Returns a naming expression specifying the parentage of the specified design component. Errors If this function is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, the value "[ ]" will be returned. References procedure Display_Hierarchy procedure Set_Parent @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Preview procedure Preview (Document : Document_Name := "<DEFAULT>"; In_Csci_View : String := "<CURSOR>"; Options : String := ""; In_Place : Boolean := False; Response : String := "<PROFILE>"); Description Displays the specified preview document located in the view specified in the In_Csci_View parameter. If the Document parameter resolves to more than one document, a menu of documents is displayed. For further details concerning resolution of ambiguous document names, see the introduction to this package. If the Build_Db option is specified, the document database is rebuilt before the preview document is displayed. Parameters Document : Document_Name := "<DEFAULT>"; Specifies the preview document to be previewed. The default, "<DEFAULT>", specifies the default document for the current design phase of the specified CSCI. Thus, if the design phase is Requirements_Analysis, the SRS document will be displayed. If the design phase is Preliminary_Design, the STLDD will be displayed. Finally, if the design phase is Detailed Design or later, the SDDD will be displayed. For information on the resolution of ambiguous document names, see "Document Naming in Document Parameters," in the introduction to this package. In_Csci_View : String := "<CURSOR>"; Specifies the name of the CSCI for which the document is to be displayed. The default, "<CURSOR>", specifies the current CSCI. For further information, see "Naming in CSCI-Related Parameters," in the introduction to this package. Options : String := ""; Specifies options for generating and displaying documents. Through the Options parameter, you can specify nondefault contents of the document database. For further information on specifying options, see the Key Concepts in the LM book of the Rational Environment Reference Manual. The available options are: * Analyze_Private_Types=True|False Specifies, when this option is true and when the Build_Db option is true, that data format tables will include size and limits information for objects declared from or composed of private types. When false, these table entries show PRIVATE for such objects. The default is false. * Build_Db=True|False Specifies, when true, that the document database for the document will be regenerated before the preview document is displayed. Thus, the resulting preview document will reflect the most recent versions of the PDL and included text and document files. When false, the document database will not be regenerated. Thus, the preview document may not reflect recent changes to PDL and included files. The default is false. * Csc_Numbering=Compressed|Dotted|None Specifies the format of automatically generated CSC numbers from the 2167 static structure. In both cases, the CSC number is composed from the CSC number for the parent and the ordinal number of the given child. The Dotted option places a period (.) between the parent and child numbers. The Compressed option inserts no intervening character. For example, CSCI 5, TLCSC 2 is numbered as 52 when the Compressed option is specified. When the Dotted option is specified, the TLCSC is numbered as 5.2. None specifies that CSCs will not be numbered. The default is Csc_Numbering=Dotted. This option is valid only when the Build_Db option is true. * Data_Tables=(Constants, Objects, Types) Specifies which declarations will be included in tables that describe data formats. The default is Data_Tables=(Objects). This option is valid only when the Build_Db option is true. * Input_Output_Tables=(Functional, Interface, Non_Requirement) Specifies which subprograms will be included in tables that describe component inputs and outputs. The default is Input_Output_Tables=(Functional,Interface). The Non_Requirement option specifies nonrequirement subprograms. This option is valid only when the Build_Db option is true. * Interpretation=Rational|Strict Specifies the interpretation of DOD-STD-2167 to be used when generating documents. This option primarily affects table formats. The default is Interpretation=Rational. When Interpretation=Strict, the table formats used will match those found in the DIDs for DOD-STD-2167. This option is valid only when the Build_Db option is true. In_Place : Boolean := False; Specifies whether the frame displaying the document will replace the frame from which the Preview command was executed. The default, false, specifies that the frame will not be replaced. A value of true specifies that the frame will be replaced. Response : String := "<PROFILE>"; Specifies how to respond to errors, how to generate logs, and which activity to use during execution of this command. The default is the job response profile. Restrictions The document database for the specified document must exist before the execution of this command, unless the Build_Db option is true. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples The following command generates the default document database and displays the corresponding preview document for the current CSCI. Included files are displayed in the preview document: Design.Preview (Document => "<DEFAULT>"; In_Csci_View => "<CURSOR>"; Options => "build_db,expand_included_files"; In_Place => False; Response => "<PROFILE>"); References procedure Build procedure Generate_Markup procedure Print Rational Document Formatter documentation @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Print procedure Print (Document : Document_Name := "<DEFAULT>"; In_Csci_View : String := "<CURSOR>"; Options : String := ""; Response : String := "<PROFILE>"); Description Prints the specified document located in the specified CSCI. The Print procedure is actually a combination of three other procedures. First, the Print procedure calls the Generate_Markup procedure. This command generates markup for the specified document database and stores it in a file called >>DOCUMENT NAME<<_Mss in the appropriate document directory in the CSCI subsystem structure. Next, the >>DOCUMENT NAME<<_Mss file, containing text and markup, is submitted to the Rational Document Formatter to produce either PostScript output to be printed on a laser printer or ASCII output to be printed on a line printer. When the Rational Document Formatter is run on the >>DOCUMENT NAME<<_Mss file, two additional files are generated in the same directory. When the Device option of the Print command is set to PostScript, two files, called >>DOCUMENT NAME<<_Mss_Ps and >>DOCUMENT NAME<<_Mss_Aux, are generated. The >>DOCUMENT NAME<<_Mss_Ps file contains the PostScript and can be printed on a laser printer. When the Device option of the Print command is set to Lineprinter, two files, called >>DOCUMENT NAME<<_Mss_Lpt and >>DOCUMENT NAME<<_Mss_Aux, are generated. The >>DOCUMENT NAME<<_Mss_Lpt file contains ASCII and can be printed on a line printer. If the Device parameter of the command that invokes the Rational Document Formatter is set to Lineprinter, and PostScript graphics are included in the document, errors will result and error messages will be generated because graphics cannot be interpolated into the document. Finally, the Print command submits the resulting >>DOCUMENT NAME<<_Mss_Ps or >>DOCUMENT NAME<<_Mss_Lpt file to the appropriate print queue with the Queue.Print command. Parameters Document : Document_Name := "<DEFAULT>"; Specifies the document to be printed. The default, "<DEFAULT>", specifies the default document for the current design phase of the specified CSCI. Thus, if the design phase is Requirements_Analysis, the SRS will be printed. If the design phase is Preliminary_Design, the STLDD will be printed. Finally, if the design phase is Detailed_Design or later, the SDDD will be printed. For information on the resolution of ambiguous document names, see "Document Naming in Document Parameters," in the introduction to this package. In_Csci_View : String := "<CURSOR>"; Specifies the name of the CSCI for which the document is to be printed. The default, "<CURSOR>", specifies the CSCI on which the cursor is currently located. For further details, see "Naming in CSCI-Related Parameters," in the introduction to this package. Options : String := ""; Specifies options for generating and printing documents. Through the Options parameter, you can specify nondefault contents of the document database and printing options. For further information on specifying options, see the Key Concepts in the LM book of the Rational Environment Reference Manual. The available options are: * Analyze_Private_Types=True|False Specifies, when true and when the Build_Db option is true, that data format tables will include size and limits information for objects declared from or composed of private types. When false, these table entries show PRIVATE for such objects. The default is false. * Build_Db=True|False Specifies, when true, that the document database for the document will be regenerated before the document is printed. Thus, the resulting printed document will reflect the most recent versions of the PDL and included text and document files. When false, the document database will not be regenerated. Thus, the printed document may not reflect recent changes to PDL and included files. The default is false. * Csc_Numbering=Compressed|Dotted|None Specifies the format of automatically generated CSC numbers from the 2167 static structure. In both cases, the CSC number is composed from the CSC number for the parent and the ordinal number of the given child. The Dotted option places a period (.) between the parent and child numbers. The Compressed option inserts no intervening character. For example, CSCI 5, TLCSC 2 is numbered as 52 when the Compressed option is specified. When the Dotted option is specified, the TLCSC is numbered as 5.2. None specifies that CSCs will not be numbered. The default is Csc_Numbering=Dotted. This option is valid only when the Build_Db option is true. * Data_Tables=(Constants, Objects, Types) Specifies which declarations will be included in tables that describe data formats. The default is Data_Tables=(Objects). This option is valid only when the Build_Db option is true. * Formatter_Options=(Rational Document Formatter options) Changes overall document characteristics, such as font or point size. The value of this argument is passed to the Options parameter of the Rational Document Formatter when the markup file is processed. See the documentation for the Rational Document Formatter for further details on the use of this parameter. The default, (), specifies no options. * Device=Lineprinter|Postscript Specifies the form of output to the printer and is passed through to the Device parameter of the command that invokes the Rational Document Formatter when the markup file is processed. It should be noted that some camera-ready features are not supported in Lineprinter devices. It also should be noted that graphics cannot be printed with Lineprinter as the specified device. The default is Device=Postscript. Only one of these options can be specified. * Input_Output_Tables=(Functional, Interface, Non_Requirement) Specifies which subprograms will be included in tables that describe component inputs and outputs. The default is Input_Output_Tables=(Functional,Interface). The Non_Requirement option specifies nonrequirement subprograms. This option is valid only when the Build_Db option is true. * Interpretation=Rational|Strict Specifies the interpretation of DOD-STD-2167 to be used when generating documents. This option primarily affects table formats. The default is Interpretation=Rational. When Interpretation=Strict, the table formats used will match those found in the DIDs for DOD-STD-2167. This option is valid only when the Build_Db option is true. * Paragraph_Header_Style=Rational|Italicize_Subparagraphs| Underline_All Specifies the style of paragraph headings in the printed document. This option is valid only when the Device option specifies Postscript. The meaning of each choice for this option is described below: - Rational: Paragraph headers will be produced in bold typeface with no special processing. - Italicize_Subparagraphs: All paragraph headers with more than two digits (for example, 1.2.5 or 6.2.7 or 2.1.3.9) will be italicized. This option conforms to MIL-STD-490A, paragraph 3.2.5, for typeset documents. - Underline_All: All paragraph headers, regardless of level, will be underlined. This option conforms to MIL-STD-490A, paragraph 3.2.5, for nontypeset documents. The default is Paragraph_Header_Style=Rational. Queue_Options=(Queue.Print options) Alters the characteristics of the printed document. The value of this option is passed to the Options parameter of Queue.Print when the document is printed. The default queues the document, as a PostScript document, to the laser printer specified in !Machine.Laser_Class or, if that class does not exist, to class LASER. To print the document on a line printer, you must change the Class option to specify the line printer. For example, if the name of the line printer is LP, you would specify Class=LP. For further information on Queue options, see package Queue, in the SMU book of the Rational Environment Reference Manual. Response : String := "<PROFILE>"; Specifies how to respond to errors, how to generate logs, and which activity to use during execution of this command. The default is the job response profile. Restrictions The document database for the specified document must exist before the execution of this command, unless the Build_Db option is true. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples Executing the following command in a Command window prints the default document for the current CSCI. The document database is not regenerated. Thus, the document will be printed as it existed the last time the document database was generated: Design.Print (Document => "<DEFAULT>"; In_Csci_View => "<CURSOR>"; Options => ""; Response => "<PROFILE>"); To regenerate the current CSCI's document database for the SRS (whether or not the design phase was currently Software_Requirements) and print it, you would execute the following command in a Command window: Design.Print (Document => "SRS"; In_Csci_View => "<CURSOR>"; Options => "build_db"; Response => "<PROFILE>"); Assume that you are currently in the CSCI called Vehicle_Dynamics. You want to regenerate and print the STLDD on a line printer, whose class is LP, for the CSCI Cruise_Control. You do not know the design phase of Cruise_Control. To accomplish this, you enter: Design.Print (Document => "STLDD"; In_Csci_View => "!projects.vehicle_system.cruise_control"; Options => "build_db, queue_options=> (class=lp)"; Response => "<PROFILE>"); If you want to print the current document for the current CSCI and regenerate the document database using other than default formats for data tables and CSC numbering, you would enter: Design.Print (Document => "<DEFAULT>"; In_Csci_View => "<CURSOR>"; Options => "build_db,csc_numbering=(compressed)," & "data_tables=(constants,types)"; Response => "<PROFILE>"); References procedure Build procedure Generate_Markup procedure Preview Rational Document Formatter documentation procedure Queue.Print, SMU, Rational Environment Reference Manual @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Sddd Sddd : constant Document_Name := "SDDD"; Description Defines a constant for the Software Detailed Design Document (SDDD). References constant Default subtype Document_Name constant Sddd constant Stldd constant Unknown @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Set_Parent procedure Set_Parent (Of_Component : String := "<CURSOR>"; To : String := ""; Response : String := "<PROFILE>"); Description Sets or changes the parent relationship of the previously initialized specified design component. Parameters Of_Component : String := "<CURSOR>"; Specifies the design component for which the parentage should be returned. The default, "<CURSOR>", specifies the design component on which the cursor is currently located. To : String := ""; Specifies the name of the design component that is to be the parent of the specified design component. The default, the null string (""), specifies that the design component has no parent. Response : String := "<PROFILE>"; Specifies how to respond to errors, how to generate logs, and which activity to use during execution of this command. The default is the job response profile. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples A CSCI called Cruise_Control is created, and its parent, Vehicle_System, is inadvertently unspecified. Assuming that Cruise_Control is defined in the current context, the Design.Set_Parent command can be executed to specify the necessary hierarchy, as shown below: Design.Set_Parent (Of_Component => "Cruise_Control"; To => "!projects.vehicle_system"; Response => "<PROFILE>"); References procedure Display_Hierarchy procedure Initial @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Set_Phase procedure Set_Phase (To_Value : String := ">>DESIGN PHASE<<"; In_Csci_View : String := "<CURSOR>"); Description Changes or sets the design phase for the specified CSCI to the one specified in the To_Value parameter. This value is stored in the CSCI view's library switch file in the Design.Phase switch. Parameters To_Value : String := ">>DESIGN PHASE<<"; Specifies the design phase to which the current CSCI will be set. The possible values for this parameter are: * Requirements_Analysis * Preliminary_Design * Detailed_Design * Coding * CSC_Integration * CSCI_Test The default parameter placeholder, ">>DESIGN PHASE<<", must be replaced. In_Csci_View : String := "<CURSOR>"; Specifies the CSCI for which the design target will be set. The default, "<CURSOR>", specifies the current CSCI. For further details, see "Naming in CSCI-Related Parameters," in the introduction to this package. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. If the user attempts to set the phase to a name that does not correspond to one of those in the 2167 DF, an error will result and an error message will be displayed. Examples The following example shows how the design target for the current CSCI (as determined by the current cursor location) can be set to Preliminary_Design: Design.Set_Phase (To_Value => "preliminary_design"); The following display will appear in the Message window, confirming that the design phase has been changed: Design Phase set to PRELIMINARY_DESIGN References procedure Display_All_Phases procedure Display_Phase @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Set_Target procedure Set_Target (To_Value : String := ">>DESIGN TARGET<<"; In_Csci_View : String := "<CURSOR>"); Description Sets or resets the registered design target for the specified CSCI to that specified in the To_Value parameter. Parameters To_Value : String := ">>DESIGN TARGET<<"; Specifies the name of the design target reistered with a CSCI. The name of the design target for 2167 DF is RATIONAL_2167_R1000. The default parameter placeholder, ">>DESIGN TARGET<<", must be replaced. In_Csci_View : String := "<CURSOR>"; Specifies the CSCI for which the design target will be set. The default, "<CURSOR>", specifies the current CSCI. For further details, see "Naming in CSCI-Related Parameters," in the introduction to this package. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. Examples The following example shows how the design target for the current CSCI can be set to RATIONAL_2167_R1000: Design.Set_Target (To_Value => "RATIONAL_2167_R1000", In_Csci_View => "<CURSOR>"); The following display appears in the Message window to confirm that the design target has been set: Design Target set to RATIONAL_2167_R1000 To set the design target to RATIONAL_2167_M1750A_BARE, you would enter: Design.Set_Target (To_Value => "RATIONAL_2167_M1750A_BARE", In_Csci_View => "<CURSOR>"); The following display appears in the Message window to confirm that the design target has been set: Design Target set to RATIONAL_2167_M1750A_BARE References procedure Create_Model procedure Display_All_Targets procedure Display_Target @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Show_Usage procedure Show_Usage (In_Csci_View : String := "<CURSOR>"); Description Traverses to all using occurrences, when executed on a requirement-related annotation in PDL; in documents, the command traverses between the document and PDL or other documents related to a given requirement. Requirement-related annotations are: * @FUNCTIONS_DEFINED * @INTERFACES_DEFINED * @REQUIREMENT FUNCTION * @REQUIREMENT SUBFUNCTION * @REQUIREMENT INTERFACE Parameters In_Csci_View : String := "<CURSOR>"; Specifies the name of the CSCI. The default, "<CURSOR>", specifies the current CSCI. For further details, see "Naming in CSCI-Related Parameters," in the introduction to this package. Restrictions When this command is executed in a CSCI for which no design target is registered, an error results and an error message is displayed in the Message window. Errors If this command is executed in a Rational System or Subsystem for which no 2167 DF design target is specified, an error results and an error message is displayed. References procedure Ada.Show_Usage, EST, Rational Environment Reference Manual @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Srs Srs : constant Document_Name := "SRS"; Description Defines a constant for the System Requirements Specification (SRS) document. References constant Default subtype Document_Name constant Idd constant Irs constant Srs constant Stldd constant Unknown @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Stldd Stldd : constant Document_Name := "STLDD"; Description Defines a constant for the Software Top-Level Design Document (STLDD). References constant Default subtype Document_Name constant Idd constant Irs constant Sddd constant Srs constant Unknown @node !Tools.Design.Release.Rational_2167.Pdl_Commands.Revn.Units.Design.Unknown Unknown : constant Document_Name := "<UNKNOWN>"; Description Specifies a constant for an unknown document type. This document type results when the design phase for a CSCI registered with the 2167 DF is not one of the following: * Requirements_Analysis * Preliminary_Design * Detailed_Design * Coding * CSC_Integration * CSCI_Test References constant Default subtype Document_Name constant Idd constant Irs constant Sddd constant Srs constant Stldd @node PDL This section of the Reference Entries book contains reference materials for Rational's PDL, including design phases, design rules, and 2167 DF annotations. DESIGN PHASES The 2167 DF supports the design phases described in DOD-STD-2167. The names for the design phases, abbreviated for entry as arguments to commands, are: * Requirements_Analysis * Preliminary_Design * Detailed_Design * Coding * Csc_Integration * Csci_Test For information on the activities to be performed in each of these phases, see DOD-STD-2167, Appendix B. DESIGN RULES To enforce project standards, the 2167 DF provides the following design rules: * The following declarations and statements are not allowed at any design phase: - Goto statements - Anonymous type declarations - Use clauses * The following PDL elements are permitted only after the Requirements_Analysis phase: - Ada library unit bodies - Private types completed with anything except (TBD) - Representation clauses - Task declarations * The following PDL element is permitted only after the Preliminary_Design phase: - Bodies with nonempty statement lists * The following are permitted only after the Detailed_Design phase: - Promotion of design components to the coded state (if the capability for prototyping is required, a subpath can be created off the current design path and the design phase for the subpath can be set to the Coding or later phase, without affecting the main design path) - Pragma Elaborate Most of these design rules are straightforward; however, some may be made clearer in the following examples. Anonymous Type Declarations The following Object declaration references a full type declaration of the type Integer. X : Integer; In contrast, the Object declaration below is a constrained type declaration that causes the creation of an anonymous subtype. As stated in paragraph 3.3.1[5] of ANSI/MIL-STD-1851A: "A type is said to be anonymous if it has no simple name." Thus, this declaration is an anonymous type and is not permitted by the 2167 DF. X : Integer range 1 .. 10; To correctly create this Object declaration, the following would be used: subtype Small_Integer is Integer range 1 .. 10; X : Small_Integer; Private Type Completion In the Requirements_Analysis phase, completing private types with anything except (TBD) is prohibited. TBD specifies that the completion of the private type has yet to be determined. For example, the private part shown in the following example is not legal in the Requirements_Analysis phase because the type has been completed-in this case as a new Integer: ... private type The_Integer is new Integer; ... Similarly, the private part in the following example is not legal because the [expression] prompt is not a legal Ada construct: ... private type The_Integer is new [expression]; ... The private part shown below is legal because the private part has been specified as "to be determined" (Tbd) at a later time: ... private type The_Integer is (Tbd); ... ANNOTATIONS This section describes the keyword annotations available for the 2167 DF. The reference entries for annotations show first the keyword and then the prompt for the argument(s) required for the annotation. For example, in the reference entry for the @ABBREVIATION annotation, the entry @ABBREVIATION [Abbreviated Component Name] is shown. The notation [Abbreviated Component Name] is the prompt that appears for the annotation when it is added to a PDL element by the Design.Complete command or when you enter the keyword and execute the Design.Format command. Annotations are provided by the 2167 DF for two reasons. The first is that their appearance in a design component causes some information to be included in the documents generated by the 2167 DF. The annotations that perform this function are used in conjunction with PDL elements (design components, requirements, data, and interrupts). The annotations required depend on the PDL element being annotated and the current design phase. Additionally, certain annotations are permitted, but not required, on PDL elements at each design phase. Alternatively, certain annotations are provided to allow commenting of PDL in the same format as the other annotations provided by the 2167 DF. These annotations do not provide input to the documents generated by the 2167 DF, and they are grouped into the Miscellaneous category, discussed later. For a conceptual overview of annotations, see the Key Concepts book in this manual. Design Components All DOD-STD-2167 design components require annotations. The following tables show the required annotations and the phases in which they are required. System Design Component ------------------------------- | | | | Annotation | Phases | ------------------------------- | | | |@ABBREVIATION |Required all | | |phases | ------------------------------- | | | |@COMPONENT_KIND|Required all | | |phases | ------------------------------- | | | |@ID |Required all | | |phases | ------------------------------- | | | |@PURPOSE |Required all | | |phases | ------------------------------- Segment Design Component ------------------------------- | | | | Annotation | Phases | ------------------------------- | | | |@ABBREVIATION |Required all | | |phases | ------------------------------- | | | |@COMPONENT_KIND|Required all | | |phases | ------------------------------- | | | |@ID |Required all | | |phases | ------------------------------- | | | |@PURPOSE |Required all | | |phases | ------------------------------- CSCI Design Component -------------------------------------------------- | | | | Annotation | Phases | -------------------------------------------------- | | | |@ABBREVIATION |Required all phases | -------------------------------------------------- | | | |@CDRL |Required all phases | -------------------------------------------------- | | | |@COMPONENT_KIND |Required all phases | -------------------------------------------------- | | | |@DECOMPOSITION |Required all phases after | | |Requirements_Analysis | -------------------------------------------------- | | | |@DOCUMENT_NUMBERS|Required all phases | -------------------------------------------------- | | | |@FUNCTIONS_DEFINE|Required all phases | |D | | -------------------------------------------------- | | | |@ID |Required all phases | -------------------------------------------------- | | | |@INTERFACES_DEFIN|Required all phases | |ED | | -------------------------------------------------- | | | |@INTERFACES_USED |Required all phases | -------------------------------------------------- | | | |@PURPOSE |Required all phases | -------------------------------------------------- HWCI Design Component ------------------------------- | | | | Annotation | Phases | ------------------------------- | | | |@ABBREVIATION |Required all | | |phases | ------------------------------- | | | |@COMPONENT_KIND |Required all | | |phases | ------------------------------- | | | |@ID |Required all | | |phases | ------------------------------- | | | |@INTERFACES_DEFIN|Required all | |ED |phases | ------------------------------- | | | |@PURPOSE |Required all | | |phases | ------------------------------- TLCSC Design Component ------------------------------------------- | | | | Annotation | Phases | ------------------------------------------- | | | |@ALGORITHM |Required all phases after | | |Requirements_Analysis | ------------------------------------------- | | | |@COMPONENT_K|Required all phases | |IND | | ------------------------------------------- | | | |@DECOMPOSITI|Required all phases after | |ON |Preliminary_Design | ------------------------------------------- | | | |@MEMORY |Required all phases | ------------------------------------------- | | | |@PROCESSING |Required all phases after | | |Requirements_Analysis | ------------------------------------------- | | | |@PURPOSE |Required all phases | ------------------------------------------- | | | |@SEQUENCING |Required all phases after | | |Requirements_Analysis | ------------------------------------------- | | | |@TIME |Required all phases | ------------------------------------------- LLCSC Design Component ------------------------------------------- | | | | Annotation | Phases | ------------------------------------------- | | | |@ALGORITHM |Required all phases after | | |Preliminary_Design | ------------------------------------------- | | | |@COMPONENT_K|Required all phases | |IND | | ------------------------------------------- | | | |@DECOMPOSITI|Required all phases after | |ON |Preliminary_Design | ------------------------------------------- | | | |@LIMITATIONS|Required all phases after | | |Preliminary_Design | ------------------------------------------- | | | |@MEMORY |Required all phases | ------------------------------------------- | | | |@PROCESSING |Required all phases after | | |Preliminary_Design | ------------------------------------------- | | | |@PURPOSE |Required all phases | ------------------------------------------- | | | |@TIME |Required all phases | ------------------------------------------- | | | |@UTILIZATION|Required all phases after | | |Detailed_Design | ------------------------------------------- Unit Design Component ------------------------------------------- | | | | Annotation | Phases | ------------------------------------------- | | | |@ALGORITHM |Required all phases after | | |Preliminary_Design | ------------------------------------------- | | | |@COMPONENT_K|Required all phases | |IND | | ------------------------------------------- | | | |@LIMITATIONS|Required all phases after | | |Preliminary_Design | ------------------------------------------- | | | |@MEMORY |Required all phases | ------------------------------------------- | | | |@PROCESSING |Required all phases after | | |Preliminary_Design | ------------------------------------------- | | | |@PURPOSE |Required all phases | ------------------------------------------- | | | |@TIME |Required all phases | ------------------------------------------- | | | |@UTILIZATION|Required all phases after | | |Detailed_Design | ------------------------------------------- TBD Design Component ------------------------- | | | | Annotation | Phases | ------------------------- | | | |@COMPONENT_K|Required all| |IND |phases | ------------------------- REQUIREMENTS DOD-STD-2167 specifies that there are three kinds of requirements: Interface, Functional and Subfunctional. The annotations required for each are specified below. Functional and Subfunctional Requirements Functional and subfunctional requirements are mapped to subprogram declarations and task entries. When the annotation @REQUIREMENT is used, the rest of the annotations shown in the following table are required. Functional and Subfunctional Requirements ----------------------------------------- | | | |Annotation| Phases | ----------------------------------------- | | | |@DESCRIPTI|Required all phases on | |ON |subprogram or task entry | ----------------------------------------- | | | |@DESTINATI|Required all phases | |ON | | ----------------------------------------- | | | |@PROCESSIN|Required all phases | |G | | ----------------------------------------- | | | |@PURPOSE |Required all phases | ----------------------------------------- | | | |@REQUIREME|Required all phases | |NT | | ----------------------------------------- | | | |@SOURCE |Required all phases | ----------------------------------------- Interface Requirements Interface requirements are mapped to subprogram declarations and task entries. When the annotation @REQUIREMENT is used, the rest of the annotations shown in the following table are required. Interface Requirement ----------------------- | | | |Annotation| Phases | ----------------------- | | | |@INITIATIO|Required all| |N |phases | ----------------------- | | | |@PURPOSE |Required all| | |phases | ----------------------- | | | |@REQUIREME|Required all| |NT |phases | ----------------------- | | | |@RESPONSE |Required all| | |phases | ----------------------- GLOBAL AND LOCAL DATA Data-related information is first mentioned in the DIDs for DOD-STD-2167 during the Preliminary_Design phases (STLDD). Annotations for global and local data are not required. However, the @DATABASE_STRUCTURE and @FILE_STRUCTURE annotations are required to indicate that a data element is a database object or a file object. Files ------------------------------------------- | | | | Annotation | Phases | ------------------------------------------- | | | |@FILE_STRUCT|Required all phases after | |URE |Preliminary_Design | ------------------------------------------- | | | |@PURPOSE |Required all phases after | | |Preliminary_Design | ------------------------------------------- Databases ----------------------------------------------- | | | | Annotation | Phases | ----------------------------------------------- | | | |@DATABASE_STRUCT|Required all phases after | |URE |Preliminary_Design | ----------------------------------------------- | | | |@PURPOSE |Required all phases after | | |Preliminary_Design | ----------------------------------------------- INTERRUPTS Interrupts are first discussed in the DOD-STD-2167 DIDs during Preliminary_Design (STLDD). Interrupts are not required; if they are used, the documented interrupts must contain the following annotations: Interrupts ----------------------------------------- | | | |Annotation| Phases | ----------------------------------------- | | | |@FREQUENCY|Required all phases after | | |Requirements_Analysis | ----------------------------------------- | | | |@PRIORITY |Required all phases after | | |Requirements_Analysis | ----------------------------------------- | | | |@PURPOSE |Required all phases after | | |Requirements_Analysis | ----------------------------------------- | | | |@RESPONSE |Required all phases after | | |Requirements_Analysis | ----------------------------------------- | | | |@SOURCE |Required all phases after | | |Requirements_Analysis | ----------------------------------------- MISCELLANEOUS ANNOTATIONS Finally, there set of annotations that are not required in any design component at any design phase. The information supplied as arguments to these annotations, if any, does not appear in documents. The annotations are used for commenting the PDL or code, in the same annotation form as the other annotations provided by the 2167 DF, for others who may be looking at the design or code. The miscellaneous annotations include: * @ASSERT * @CONCURRENCY * @CRITICAL * @ERRORS * @NOTE * @SIDE_EFFECT @node @ABBREVIATION @ABBREVIATION [Abbreviated Name] Description Specifies the abbreviation for the PDL element to which it is attached. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [Abbreviated Name] Requires a simple name argument. Phase Name - Element(s) * Requirements Analysis - Required on System, Segment, CSCI, HWCI * Preliminary Design - Required on System, Segment, CSCI, HWCI * Detailed Design and later phases - Required on System, Segment, CSCI, HWCI Examples The following example illustrates how the @ABBREVIATION annotation is used in the Cruise_Control CSCI to indicate that its abbreviation is CC. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND CSCI ... --| @ABBREVIATION CC ... package Cruise_Control is ... @node @ALGORITHM @ALGORITHM [TEXT] Description Describes the algorithm used in a design component. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Preliminary Design - Required on TLCSC * Detailed Design and later phases - Required on TLCSC, LLCSC, Unit Examples The following annotation in a Unit design component describes the algorithm used. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND UNIT ... --| @ALGORITHM The Feynman half step method is used on --| initialization so that on subsequent iterations we are --| using velocities half way through the proposed step instead --| of the velocities at the beginning of the step. This greatly --| improves the accuracy of the approximation. ... @node @APPLICABLE_INTERFACES @APPLICABLE_INTERFACES ([Interface Name List]) Description Indicates the interfaces that are applicable to (associated with) the PDL element to which this annotation is attached. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments ([Interface Name List]) Requires a list argument. Each list element must specify the name of an interface defined in the current CSCI. Examples The following example illustrates how the @APPLICABLE_INTERFACES annotation is used on a functional requirement to indicate the interfaces associated with it: --| @REQUIREMENT FUNCTION Process_Packets --| @APPLICABLE_INTERFACES (Get_Packet, Put_Packet) ... procedure Packet_Processing ... The following example illustrates how the @APPLICABLE_INTERFACES annotation is used on a subfunctional requirement: --| @REQUIREMENT SUBFUNCTION Process_Packets.Queue --| @APPLICABLE_INTERFACES (Get_Packet) ... procedure Packet_Queue ... @node @ASSERT @ASSERT [TEXT] Description Makes an assertion about the PDL element to which it is attached that must be true in all cases in which the PDL element is used. This annotation is not required on any PDL element at any design phase. Typically, this annotation is used during Coding and later phases. Arguments [TEXT] Requires a text argument. Examples The following shows the use of the @ASSERT annotation in a loop. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @ASSERT This loop is executed at least once. loop ... exit when Done; end loop; ... @node @CDRL @CDRL ([Document Name] => ([Data Item List])) Description Specifies the Contracts Data Requirement List (CDRL) number for each document. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments ([Document Name] => ([Data Item List])) Requires a list argument. Each list element specifies a document name: SRS, STLDD, SDDD, IDD, or IRS. The document name is to be followed by the => symbol and the CDRL number for the document. List elements are separated by commas or new lines. The argument NONE can be used to specify that no CDRL numbers are specified. Phase Name - Element(s) * Requirements Analysis - Required on CSCI * Preliminary Design - Required on CSCI * Detailed Design and later phases - Required on CSCI Examples The following example illustrates the use of the @CDRL annotation in a CSCI design component. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND CSCI ... --| @CDRL (SRS => DN4, --| STLDD => DN5, --| SDDD => DN6) ... The following example shows the @CDRL annotation used when the IRS and IDD are generated separately from the SRS and SDDD: --| @COMPONENT_KIND CSCI ... --| @CDRL (SRS => DN4, --| IRS => (AN3,AN4,AN5), --| STLDD => DN5, --| SDDD => DN6, --| IDD => (AN6,AN7,AN8)) ... @node @COMPONENT_KIND @COMPONENT_KIND [2167 Component] Description Specifies the design component kind of the current design component in the DOD-STD-2167 static structure. This information is important in documentation generation and analysis. The design components are System, Segment, CSCI, HWCI, TLCSC, LLCSC, Unit, and TBD (to be determined). The TBD annotation is used when a design component is being added that typically would not be designed at the current design phase. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [2167 Component] Requires one of the following arguments: * System * Segment * CSCI * HWCI * TLCSC * LLCSC * Unit * TBD Phase Name - Element(s) * Requirements Analysis - Required on System, Segment, CSCI, HWCI * Preliminary Design - Required on System, Segment, CSCI, HWCI, TLCSC * Detailed Design and later phases - Required on System, Segment, CSCI, HWCI, TLCSC, LLCSC, Unit Examples The following example illustrates how the @COMPONENT_KIND annotation can be used to specify that the design component in which it appears is a TLCSC. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND TLCSC ... package Throttle_Data is ... @node @CONCURRENCY @CONCURRENCY [TEXT] Description Describes concurrency relationships of the PDL element to which it is attached. This annotation is not required on any PDL element during any design phase. Typically, it is used in the Coding phase to describe the concurrency characteristics of the PDL element to which it is attached. Arguments [TEXT] Requires a text argument. Examples The following example illustrates how concurrency issues might need to be described for a stack package. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @CONCURRENCY This package is not protected against concurrent --| access. Calls to Push and Pop must be done serially. --| Concurrent calls to Push and Pop cause undefined results. package Stack is type Element is ... procedure Push (Item : in Element); procedure Pop (Item : out Element); function Is_Empty return Boolean; end Stack; @node @CRITICAL @CRITICAL Description Specifies that the PDL element to which it is attached is critical, as defined by DOD-STD-480A, Appendix E, paragraph 110.15. This annotation is not required for any PDL element at any design phase. It typically is used in early design phases to identify CSCs that may be designed in greater detail than might be expected for that design phase. Use of this annotation does not affect enforcement of design rules. Arguments This annotation has no argument. Examples Assume that the design phase is Software Requirements Analysis, in which an LLCSC normally has not been designed. The following example illustrates the use of the @CRITICAL annotation to specify that a design component, normally not designed until a later phase, is being designed at the current phase because it is critical to the design. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND TBD ... --| @CRITICAL ... package Emergency is ... @node @DATABASE_STRUCTURE @DATABASE_STRUCTURE [TEXT] Description Specifies that the item to which it is attached is a database structure. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on database objects * Preliminary Design - Required on database objects * Detailed Design and later phases - Required on database objects Examples The following example illustrates the use of the @DATABASE_STRUCTURE annotation on data. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @DATABASE_STRUCTURE --| This database is organized in 1024 byte blocks of 8 records --| each. Each record is a fixed size of 128 bytes and may be --| accessed sequentially or randomly accessed using the --| Employee_Id key. --| --| @PURPOSE --| This database maintains the employee data collected for the --| current payroll period. This database is updated on a --| weekly basis as new payroll information is made available --| to the accounting department. --| Employee_Records : Employee_Database_File; ... @node @DECOMPOSITION @DECOMPOSITION ([Component Name List]) Description Specifies the design components contained by the design component to which the annotation is attached. For example, TLCSCs may contain LLCSCs and Units. The @DECOMPOSITION annotation defines the static hierarchy of the design. The order in which the design components are specified in the argument is the order in which they will appear in the documents generated by the 2167 DF. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments ([Component Name List]) Requires a list of simple names, where the names correspond to the list of PDL components contained by the current design component. Names must be separated by commas or new lines. Naming will be resolved as described in package Design. * Preliminary Design - Required on CSCI * Detailed Design and later phases - Required on CSCI, TLCSC, LLCSC Examples The following example illustrates the use of the @DECOMPOSITION annotation in a TLCSC. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND TLCSC ... --| @DECOMPOSITION (Computation_Procedures, Math_Library) ... package Orbit is ... This annotation, located in the Orbit TLCSC, indicates that the TLCSC contains the two library unit-level LLCSCs: Computation_Procedures and Math_Library. The following shows an example of a nested TLCSC and LLCSC: --| @COMPONENT_KIND CSCI ... --| @DECOMPOSITION (Object_Operations) package Nested_Example is --| @COMPONENT_KIND TLCSC ... --| @DECOMPOSITION --| (Robot_Operations) package Object_Operations is --| @COMPONENT_KIND LLCSC ... package Robot_Operations is ... end Robot_Operations; end Object_Operations; end Nested_Example; @node @DESCRIPTION @DESCRIPTION [TEXT] Description Adds descriptive information to the PDL element to which it is attached. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on Requirements * Preliminary Design - Required on Requirements * Detailed Design and later phases - Required on Requirements Examples The following example illustrates the use of the @DESCRIPTION annotation on a requirement to provide additional information about that requirement. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @REQUIREMENT INTERFACE Communicate ... --| @DESCRIPTION --| This interface provides the primary mechanism of --| communication between the Master and Slave CSCIs. ... procedure Communicate; ... @node @DESTINATION @DESTINATION [TEXT] Description Describes the receiver of output data; pertinent to in out and out parameters for functional and subfunctional requirements. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required for Functional and Subfunctional Requirements * Preliminary Design - Required for Functional and Subfunctional Requirements * Detailed Design and later phases - Required for Functional and Subfunctional Requirements Examples The following example shows how the @DESTINATION annotation can be used. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @DESTINATION Querying client ... procedure Locate (The_Item : in String; In_String : in String; The_Value : out Integer); ... @node @DOCUMENT_NUMBERS @DOCUMENT_NUMBERS ([Document Name] => ([Document Control Number List])) Description Specifies the mapping between documents and their document control numbers. Arguments ([Document Name] => ([Document Control Number List])) Requires a list argument. Each list element must specify a document name: SRS, STLDD, SDDD, IRS, or IDD. Each document name must be followed by the => symbol and the document control number(s) for that document name. List elements must be separated by commas or new lines. Phase Name - Element(s) * Requirements Analysis - Required on CSCI * Preliminary Design - Required on CSCI * Detailed Design and later phases - Required on CSCI Examples The following example illustrates the use of the @DOCUMENT_NUMBERS annotation in the Computation CSCI to specify the relationship between documents and their related document control numbers. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND CSCI ... --| @DOCUMENT_NUMBERS (SRS => (GJD-091-43B), --| STLDD => (GJD-092-43B), --| SDDD => (GJD-094-43B)) ... package Computation is ... The following example shows how the IRS and the IDD are specified to be separate documents using the @DOCUMENT_NUMBERS annotation. The number of IRSs and IDDs specified must be the same. For further information on the separation of the IRS and the IDD, see the Key Concepts book in this manual. --| @COMPONENT_KIND CSCI ... --| @DOCUMENT_NUMBERS (IRS => (GJD-091-44B, --| GJD-091-45B, --| GJD-091-46B), --| SRS => (GJD-091-43B), --| STLDD => (GJD-092-43B), --| IDD => (GJD-092-44B, --| GJD-092-45B, --| GJD-092-46B), --| SDDD => (GJD-094-43B)) ... package Computation is ... @node @ERRORS @ERRORS [TEXT] Description Specifies expected error conditions for the PDL element to which this annotation is attached. This annotation is not required on any PDL element. Typically, it is used as a communication mechanism between developers to describe any known error conditions. Arguments [TEXT] Requires a text argument. Examples The following example illustrates the @ERRORS annotation. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. type Device is ... type Device_Contents is ... ... --| @ERRORS The null string is returned when the Object --| name cannot be resolved. This may have undesired results. ... procedure Resolve (The_Name : in Name; The_Resolution : out Full_Name); ... @node @FILE_STRUCTURE @FILE_STRUCTURE [TEXT] Description Specifies that the item to which it is attached is a file structure and supplies details about the structure of the file. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on File objects * Preliminary Design - Required on File objects * Detailed Design and later phases - Required on File objects Examples The following example illustrates the use of the @FILE_STRUCTURE annotation on some data. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @FILE_STRUCTURE --| This file is organized in 1024 byte blocks of 8 records --| each. Each record is a fixed size of 128 bytes and --| may be accessed sequentially or randomly accessed using --| (Block_Id, Record_Offset) pairs. --| --| @PURPOSE --| This file maintains the employee data collected for --| the current payroll period. This file is updated on --| a weekly basis as new payroll information is made --| available to the accounting department. Employee_Records : Employee_Record_File; ... @node @FREQUENCY @FREQUENCY [TEXT] Description Describes the frequency with which the PDL element, to which this annotation is attached, is accessed or called. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. This argument is usually specified in hertz (Hz). The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Preliminary Design - Required on Interrupts * Detailed Design and later phases - Required on Interrupts Examples The following annotation is attached to an interrupt to specify that its frequency is 4 hertz: ... --| @FREQUENCY 4 Hz ... procedure Database_Update (New_Data : Db_Record); @node @FUNCTIONS_DEFINED @FUNCTIONS_DEFINED ([Function Name] => ([Subfunction Name List])) Description Specifies functions or subfunctions defined in the CSCI that will be allocated to lower-level design components. The order in which the functions appear in the annotation is the order in which they will appear in the documents. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments ([Function Name] => ([Subfunction Name List])) Requires a list argument. Each list element must specify a function name, followed by the => symbol and the names of the subfunctions into which it has been decomposed. Decomposition into subfunctions is optional. Each list element must be separated by commas or new lines. Alternatively, the word NONE can be specified to indicate that no functions or subfunctions are defined in the CSCI. Phase Name - Element(s) * Requirements Analysis - Required on CSCI * Preliminary Design - Required on CSCI * Detailed Design and later phases - Required on CSCI Examples The following annotation in a CSCI design component specifies that six functions are defined in that design component. The last function defined has been decomposed into subfunctions. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND CSCI ... --| @FUNCTIONS_DEFINED (CURRENT_SPEED, CURRENT_DIRECTION, --| CURRENT_THROTTLE, CURRENT_RANGE, --| CURRENT_LOCATION, --| CURRENT_DESTINATION => (COORDINATES, ESTIMATED_TIME_OF_ARRIVAL)) ... package Current_Readings is ... @node @FUNCTIONS_USED @FUNCTIONS_USED ([CI Name].[Function Name] => [Text]) Description Specifies that functions, defined in another CSCI, are to be used in the CSCI in which this annotation appears. To use a function defined in another CSCI, the Cmvc.Import command must be used to import the function. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments ([CI Name].[Function Name] => [Text]) Requires a list argument. Each list element must specify the name of the CSCI from which the function comes, followed by the period symbol (.) and the name of the function being used. Optionally, a textual description of the function use can follow the previous information. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. If no functions are used, the argument NONE should be specified. Examples The following example illustrates the use of functions, called Current_Location and Current_Speed, defined in another CSCI, named Current_Readings, that are used by the current CSCI. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND CSCI ... --| @FUNCTIONS_USED (Current_Readings.Current_Location=>Used to get --| locator information, --| Current_Readings.Current_Speed); package Display_Readings is ... @node @ID @ID [NUMBER] Description Specifies the identification number for a System, Segment, CSCI, or HWCI. This number is used as the basis for numbering lower-level design components. Within the closed scope of the DOD-STD-2167 System, the argument for this annotation should be unique. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [NUMBER] Requires a positive integer. Phase Name - Element(s) * Requirements Analysis - Required on System, Segment, CSCI, HWCI * Preliminary Design - Required on System, Segment, CSCI, HWCI * Detailed Design and later phases - Required on System, Segment, CSCI, HWCI Examples The following example illustrates the use of the @ID annotation. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND CSCI ... --| @ID 5 ... @node @INFORMATION_KIND @INFORMATION_KIND [Kind of Data] Description Specifies the data classification for the PDL element to which this annotation is attached. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [Kind of Data] Requires a simple name argument. The value must be Control, Data, or Message. Examples The following example illustrates the use of the @INFORMATION_KIND annotation to specify the type of information for parameters. Note the spacing used to ensure appropriate attachment to the parameters. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... procedure State_Transition ( --| @INFORMATION_KIND Data State_Info : in out State_Record; --| @INFORMATION_KIND Control New_State : out State_Id); ... @node @INITIATION @INITIATION [TEXT] Description Specifies the conditions for initiating each data transfer for the interface requirement to which it is attached. If this interface is used in a cyclic manner, the argument for this annotation also should also describe how often the cycle occurs. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on Interface Requirements * Preliminary Design - Required on Interface Requirements * Detailed Design and later phases - Required on Interface Requirements Examples The following example shows how the @INITIATION annotation is used on an interface requirement. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @REQUIREMENT INTERFACE --| @INITIATION A string must be composed that will be written to --| the device, by passing it through this interface. ... --| @RESPONSE The string is written to the device. procedure Put_Line (The_String : String; The_Device : Devices); ... @node @INTERFACES_DEFINED @INTERFACES_DEFINED ([Interface Name] => [Document Name] ([Document Number])) Description Specifies the name of an interface defined in a CSCI or HWCI. Other CSCIs or HWCIs can use the interfaces specified in this annotation with the @INTERFACES_USED annotation. The order in which the interfaces are specified in the argument is the order in which they will appear in the documents. The document name and number are optional. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments ([Interface Name] => [Document Name] ([Document Number])) Requires a list argument. Each list element specifies the name of an interface, which must be an Ada simple name. This name is followed by the => symbol and the name of the document and document numbers in which the interface is defined. List elements are separated by commas or new lines. The word NONE can be specified to indicate the no interfaces are defined. Phase Name - Element(s) * Requirements Analysis - Required on CSCI, HWCI * Preliminary Design - Required on CSCI, HWCI * Detailed Design and later phases - Required on CSCI, HWCI Examples The following example illustrates the use of the @INTERFACES_DEFINED annotation in the Computation CSCI. This annotation specifies that two interfaces, State_Update and Startup, are defined in this CSCI and that they can be used by other CSCIs with the @INTERFACES_USED annotation. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND CSCI ... --| @INTERFACES_DEFINED (State_Update => SRS, --| Startup => SRS) ... package Computation is ... The following example illustrates the PDL for IRS and IDD separation. The @DOCUMENT_NUMBERS annotation shown below would appear in the CSCI, indicating the document numbers for each of the documents to be generated. There can be only one each of the SRS, STLDD, and SDDD specified. Note that there are three IRSs and three IDDS to be generated. The number of IRSs and IDDs must always be the same, and ordering of the IDD documents must correspond to that for the IRS documents. --| @DOCUMENT_NUMBERS (IRS => (GJD-091-44B, --| GJD-091-45B, --| GJD-091-46B), --| SRS => (GJD-091-43B), --| STLDD => (GJD-092-43B), --| IDD => (GJD-092-44B, --| GJD-092-45B, --| GJD-092-46B), --| SDDD => (GJD-094-43B)) In that same CSCI, the @INTERFACES_DEFINED annotation appears, indicating which requirements are to be documented in which documents. INTERFACE_A will be documented by itself in an IRS; INTERFACE_B, INTERFACE_C, and INTERFACE_D will be documented together in another IRS. Finally, INTERFACE_E will be documented by itself in yet a third IRS. --| @INTERFACES_DEFINED (INTERFACE_A => IRS(GJD-091-44B), --| INTERFACE_B => IRS(GJD-091-45B), --| INTERFACE_C => IRS(GJD-091-45B), --| INTERFACE_D => IRS(GJD-091-45B), --| INTERFACE_E => IRS(GJD-091-46B)) The 2167 DF performs document number checking. If inappropriate duplicates occur (for example, an SRS and SDDD with the same number), these will be flagged as errors during semantic checking. Until the error is corrected, the design component will not be semantically correct and thus cannot be promoted to the installed state. @node @INTERFACES_USED @INTERFACES_USED ([Ci Name].[Interface Name] => [Text]) Description Specifies the name of an interface, defined in another CSCI or HWCI with the @INTERFACES_DEFINED annotation, that is used by the CSCI or HWCI in which the @INTERFACES_USED annotation appears. The order in which the interfaces appear in the annotation is the order in which they will appear in documents. The Cmvc.Import command must be used to import interfaces from other CSCIs. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments ([Ci Name].[Interface Name] => [Text]) Requires a list argument. Each list element specifies the name of the defining CSCI or HWCI, followed by a period and the name of the interface, optionally followed by the => symbol and text that describes its use. List elements are separated by commas or new lines. If no interfaces are used in a CSCI, the argument NONE should be specified. The optional text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Examples The following example illustrates the use of the @INTERFACES_USED annotation in a CSCI called Computation. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND CSCI ... --| @INTERFACES_USED (Cruise_Control.Computation_Interface) ... package Computation is ... @node @LEGALITY_CHECK @LEGALITY_CHECK [Is Checking Performed?] Description Indicates whether validity checking is performed on the PDL element to which this annotation is attached. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [Is Checking Performed?] Requires the argument Yes, No, or N/A. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Examples The following example illustrates the use of the @LEGALITY_CHECK annotation on a parameter to specify that legality checking is performed on its values. ... procedure Receive ( --| @LEGALITY_CHECK Yes Data : in Network_Buffer); ... @node @LIMITATIONS @LIMITATIONS [TEXT] Description Describes any special limitations or unusual features that restrict the performance or usability of the design component. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Examples The following example illustrates the use of the @LIMITATIONS annotation in an LLCSC. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND LLCSC ... --| @LIMITATIONS The accuracy of these operations is machine --| dependent. ... package Orbit is ... @node @MEMORY @MEMORY [Memory Allocation] Description Describes the memory requirements for a design component. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [Memory Allocation] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on TLCSC, LLCSC, Unit * Preliminary Design - Required on TLCSC, LLCSC, Unit * Detailed Design and later phases - Required on TLCSC, LLCSC, Unit Examples The following example illustrates the use of the @MEMORY annotation to specify that a design component requires 10 kilobytes of memory. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @MEMORY 10KB @node @NOTE @NOTE [TEXT] Description Specifies additional information not captured in other annotations. This annotation is not required on any PDL element at any design phase. Arguments [TEXT] Requires a text argument. Examples The following example shows how the @NOTE annotation can be used to provide the name of the designer of a Unit. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND UNIT ... --| @NOTE The designer of this Unit was John Smith. ... @node @PRIORITY @PRIORITY [TEXT] Description Specifies the priority at which the PDL element to which it is attached runs. The value can reflect Ada priorities, if desired. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on Interface Requirements in HWCIs * Preliminary Design - Required on Interrupts, Interface Requirements in HWCIs * Detailed Design and later phases - Required on Interrupts, Interface Requirements in HWCIs Examples The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @PRIORITY Level 8 ... procedure Emergency_Shutdown; ... @node @PROCESSING @PROCESSING [TEXT] Description Specifies the processing performed by the PDL element to which it is attached. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on Functional and Subfunctional Requirements * Preliminary Design - Required on Functional and Subfunctional Requirements * Detailed Design and later phases - Required on Functional and Subfunctional Requirements Examples The following example illustrates the use of the @PROCESSING annotation. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND UNIT ... --| @REQUIREMENT FUNCTION acceleration ... --| @PROCESSING Computes acceleration from position vector. ... procedure Compute_Acceleration (X, Y : in State_Variable.Value; Ax, Ay : in out State_Variable.Value); ... @node @PROTOCOL @PROTOCOL [TEXT] Description Describes the protocol related to the interface requirement to which it is attached. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on Interface Requirements * Preliminary Design - Required on Interface Requirements * Detailed Design and later phases - Required on Interface Requirements Examples The following example illustrates the use of the @PROTOCOL annotation. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @PROTOCOL EtherNet procedure Network_Transfer; ... @node @PURPOSE @PURPOSE [TEXT] Description Describes the purpose of the design component to which it is attached. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on System, Segment, CSCI, HWCI, TLCSC, LLCSC, Unit, Requirements * Preliminary Design - Required on System, Segment, CSCI, HWCI, TLCSC, LLCSC, Unit, Requirements, Interrupts * Detailed Design and later phases - Required on System, Segment, CSCI, HWCI, TLCSC, LLCSC, Unit, Requirements, File Objects, Database Objects, Interrupts Examples The following example illustrates the use of the @PURPOSE annotation in a Unit design component. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND UNIT ... --| @PURPOSE --| Given a position (X,Y), this Unit calculates the acceleration --| (AX,AY). ... procedure Compute_Acceleration (X, Y : in State_Variable.Value; Ax, Ay : in out State_Variable.Value); ... @node @RAISES @RAISES ([Exception Name] => [Reason]) Description Describes any exceptions propagated out of the design component and the conditions under which they are propagated. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments ([Exception Name] => [Reason]) Requires a list argument. Each list element specifies an exception name, followed by the => symbol and a text description of the conditions under which the exception is raised. List elements are separated by commas or new lines. When no exceptions are propagated, the argument NONE can be specified. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Examples The following example illustrates the use of the @RAISES annotation in a design component. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @RAISES (Unexpected_Value => Operator input unexpected value, --| Unexpected_Range => Operator input unexpected range, --| Unexpected_Data => Operator input alphabetical or --| punctuation characters instead of numeric values or --| ranges) ... @node @REQUIREMENT FUNCTION @REQUIREMENT FUNCTION [Name] Description Specifies allocation of a functional requirement. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments FUNCTION [Name] Specifies the name of the requirement, when it is not the same as the Ada element to which it is attached. If specified, the argument for this annotation is a simple name. If omitted, the name defaults to the name of the function or procedure or task entry, with spaces replacing underscore characters. Phase Name - Element(s) * Requirements Analysis - Required on Functional and Subfunctional Requirements * Preliminary Design - Required on Functional and Subfunctional Requirements * Detailed Design and later phases - Required on Functional and Subfunctional Requirements Examples The following example shows the use of the @REQUIREMENT FUNCTION annotation. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @REQUIREMENT FUNCTION Results ... function The_Result; ... @node @REQUIREMENT INTERFACE @REQUIREMENT INTERFACE [Name] Description Specifies allocation of an interface requirement. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments INTERFACE [Name] Specifies the name of the requirement, when it is not the same as the Ada element to which it is attached. If specified, the argument for this annotation is a simple name. If omitted, the name defaults to the name of the function or procedure or task entry, with spaces replacing underscore characters. Phase Name - Element(s) * Requirements Analysis - Required on Interface Requirements * Preliminary Design - Required on Interface Requirements * Detailed Design and later phases - Required on Interface Requirements Examples The following example illustrates the use of the @REQUIREMENT INTERFACE annotation. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @REQUIREMENT INTERFACE ... procedure Throttle_Control; ... @node @REQUIREMENT SUBFUNCTION @REQUIREMENT SUBFUNCTION [Name] Description Specifies the allocation of a subfunctional requirement. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments SUBFUNCTION [Name] Specifies the name of the requirement, when it is not the same as the Ada element to which it is attached. If specified, the argument for this annotation is a simple name. If omitted, the name defaults to the name of the function or procedure or task entry, with spaces replacing underscore characters. A complex name is used to specify the name of the function from which the subfunction was decomposed. The function name is optional. Phase Name - Element(s) * Requirements Analysis - Required on Subfunctional Requirements * Preliminary Design - Required on Subfunctional Requirements * Detailed Design and later phases - Required on Subfunctional Requirements Examples The following example illustrates the use of the @REQUIREMENT SUBFUNCTION annotation. The subfunction Current was decomposed from Functional Requirement Speed. The name of the subfunction is specified because its name differs from the requirement name. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @REQUIREMENT SUBFUNCTION Speed.Current ... procedure Current_Speed; ... @node @RESPONSE @RESPONSE [TEXT] Description Describes the expected response to each data transfer associated with the PDL element to which it is attached. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Preliminary Design - Required on Interrupts and Interface Requirements * Detailed Design and later phases - Required on Interrupts and Interface Requirements Examples The following example shows how the @RESPONSE annotation is used on an Interface Requirement. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @REQUIREMENT INTERFACE --| @INITIATION A string must be composed that will be written to --| the device, by passing it through this interface. --| @RESPONSE The string is written to the device. procedure Put_Line; ... @node @SEQUENCING @SEQUENCING [TEXT] Description Describes the sequencing, logic, and input conditions related to the invocation of the design component. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Preliminary Design - Required on TLCSC * Detailed Design and later phases - Required on TLCSC, LLCSC, Unit Examples The following example illustrates the use of the @SEQUENCING annotation in a design component. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @SEQUENCING The Device must be opened. The data is then --| written to it. The Device is then closed. ... procedure Device_Update; @node @SIDE_EFFECT @SIDE_EFFECT [TEXT] Description Describes any side effects related to the use of the PDL element to which it is attached. This annotation is not required on any PDL element at any design phase. It typically is used as a communication mechanism between developers on the same project. Arguments [TEXT] Requires a text argument. Examples The following example illustrates use of the @SIDE_EFFECT annotation. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @SIDE_EFFECT When this procedure is called, it updates a --| global variable, The_Current. ... procedure Update; @node @SOURCE @SOURCE [TEXT] Description Describes the source of input data. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [TEXT] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on Functional and Subfunctional Requirements, Interrupts * Preliminary Design - Required on Functional and Subfunctional Requirements, Interrupts * Detailed Design and later phases - Required on Functional and Subfunctional Requirements, Interrupts Examples The following example shows how the @SOURCE annotation can be used on an in parameter. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. ... --| @SOURCE Client making the query, the Image_Processor ... procedure Locate (The_Item : in String; In_String : in String; The_Value : out Integer); ... @node @STATES @STATES ([State Name List]) Description Lists the states in which a design component executes. The order in which the names of the states appear in the annotation is the order in which they will appear in the documents. On a CSCI, this annotation specifies all of the states in which the CSCI is operational. On a low-level design component, it specifies the state or states in which the design component is operational. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments ([State Name List]) Requires a list of simple names. Simple names are separated by commas or new lines. Examples The following example illustrates the use of the @STATES annotation in a Unit design component. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND UNIT ... --| @STATES (Displaying, --| Stopped) ... package Screen_Utilities is ... @node @TIME @TIME [Time Allocation] Description Describes the processing time requirement for the design component. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [Text Allocation] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Requirements Analysis - Required on TLCSC, LLCSC, Unit * Preliminary Design - Required on TLCSC, LLCSC, Unit * Detailed Design and later phases - Required on TLCSC, LLCSC, Unit Examples The following example illustrates the use of the @TIME annotation in a Unit design component. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND UNIT ... --| @TIME 4MS ... package Screen_Utilities is ... @node @UTILIZATION @UTILIZATION [Text] Description Describes the utilization of other elements by the PDL element to which this annotation is attached. For information on where this annotation is used in the documents generated by the 2167 DF, see the Appendix in this manual. Arguments [Text] Requires a text argument. The text that appears as the argument for this annotation will appear, exactly as it does here, in the documents generated by the 2167 DF. Phase Name - Element(s) * Detailed Design and later phases - Required on LLCSC, Unit Examples The following example illustrates the use of the @UTILIZATION annotation in a Unit design component. The ellipsis (...) between an annotation and a PDL element indicates annotations, also required for the PDL elements to which they are attached, that are not shown. The ellipsis after a PDL element indicates that additional PDL has been omitted. --| @COMPONENT_KIND LLCSC ... --| @UTILIZATION This design component uses the Robot_Control --| unit to maintain the appropriate orientation --| of the robot assembly to the satellite control --| platform. ... package Satellite_Control is ...