RSP gb toc RSP Return Up Down GoTo Synthesis Leveraged Domain Engineering
PRODUCT DESCRIPTION
PROCESS DESCRIPTION
INTERACTIONS WITH OTHER ACTIVITIES


DE.3.1.2. Generation Implementation

Getting Started

Generation Implementation is an activity of the Product Implementation Activity for creating a Generation Procedure. A Generation Procedure is a precise description of how to derive deliverable application engineering work products consistent with the decisions in an Application Model for a product family. A Generation Procedure may be automated or may take the form of a precise description that application engineers can mechanically follow to create work products.

Objectives

The objective of the Generation Implementation Activity is to create a Generation Procedure as specified by a Generation Design.

Required Information

The Generation Implementation Activity requires the following information:

Required Knowledge and Experience

The Generation Implementation Activity requires knowledge and experience in:

PRODUCT DESCRIPTION

Name:
Generation Procedure
Purpose:
This is a procedure that an application engineer uses to create deliverable application engineering work products for a member of a product family using Adaptable Components. This procedure is either implemented as a product generator or documented as a manual procedure.
Content:
The Generation Procedure is a procedural description for producing an application engineering work product that satisfies the mappings of a Generation Design. The Generation Procedure describes how to select appropriate Adaptable Components, how to apply decisions from an Application Model to adapt them, and how to compose them to create the work product in final form.
Form and Structure:
The form of the Generation Procedure depends on whether the procedure is automated or manual. The Generation Procedure is either implemented as an automated product generator or documented as a manual procedure to be followed by application engineers. If the manual form is chosen, then the Generation Procedure form is likely to resemble the form of a Generation Design. If the Generation Procedure is implemented in the form of a product generator, however, it will be a conventional software program.
Verification Criteria:
  • The Generation Procedure for a product family can be used to produce application engineering work products that exhibit the internal organization specified in the Product Architecture.
  • The Generation Procedure for a product family can be used to produce application engineering work products that satisfy the Product Requirements.
  • If a manual form is used, the Generation Procedure for a product family clearly describes how deliverable application engineering work products are constructed from Adaptable Components based upon decisions contained in an Application Model.
  • PROCESS DESCRIPTION

    The Generation Implementation Activity consists of the two steps shown in Figure DE.3.1.2-1 Generation Implementation Process.

    Procedure

    Perform one or both of the following two steps. The appropriate action depends on what automation you determine to have a significant payoff in Application Engineering.

    Step: Document the Generation Procedure

    Action:
    Document some or all of the Generation Design.
    Input:
    • Generation Design
    • Product Architecture
    • Decision Model
    • Component Designs
    Result:
    Generation Procedure
    Heuristics:
    • The Generation Design is a precise description of the required Generation Procedure. Document the procedure in a form that is usable by application engineers.
    • Include a description of how components are composed to form a work product consistent with its Product Architecture.
    • Include a description of how to access the decisions in an Application Model for a product family. The Decision Model provides the organization of the decisions' conceptual schema.

    Step: Automate the Generation Procedure

    Action:
    Develop automated tools that implement some or all of the Generation Procedure as defined in the Generation Design.
    Input:
    • Generation Design
    • Product Architecture
    • Decision Model
    • Component Designs
    Result:
    Generation Procedure
    Heuristics:
    • If the Application Modeling Activity in Application Engineering is supported by automation, then the Generation Procedure must access the Application Model specification. If the activity is not automated, then there must be an automated mechanism for providing the decisions of the Application Model as input to the Generation Procedure. The Decision Model provides the organization of the decisions' conceptual schema.
    • If a metaprogramming technology, such as described in the Component Implementation Activity (see Section DE.3.1.1), is used to implement the Adaptable Components, then the same metaprogramming technology is used to instantiate those components. Metaprogramming technology may also be useful in implementing portions of the Generation Procedure itself.
    • Creating an automated Generation Procedure is a software development task. It requires the design of the required program, implementation to that design in a programming language, testing to verify that the resulting program implements the Generation Design correctly, and documentation so that the program can be correctly modified as the Generation Design changes.
    • Tools such as the UNIX make facility may be useful in automating the procedure for composing adapted components into deliverable work products.

    Risk Management

    None

    INTERACTIONS WITH OTHER ACTIVITIES

    Feedback to Information Sources

    Contingency:
    The Generation Design is incomplete, ambiguous, or inconsistent.
    Source:
    Generation Design Activity
    Response:
    Describe how the Generation Design is inadequate, and suggest how it may be modified. Proceed with Generation Implementation activity as far as possible with the current Generation Design.

    Contingency:
    Unforeseen opportunities arise that cannot be exploited given the current Generation Design, e.g., a situation where substantial software is made available for use in the Generation Implementation that was not available when the Generation Design was completed.
    Source:
    Generation Design Activity
    Response:
    Document the opportunities and the required changes to the Generation Design.

    Feedback From Product Consumers

    Contingency:
    The Generation Procedure does not satisfy the Generation Design.
    Source:
    Domain Verification Activity
    Response:
    Request clarification of the intent of the Generation Design if necessary. Modify the Generation Procedure to satisfy the Generation Design.

    Contingency:
    A manual Generation Procedure is difficult to use.
    Source:
    Project Support Activity
    Response:
    Investigate new forms for conveying the Generation Procedure to the application engineers.

    Contingency:
    The Generation Procedure cannot be used in its current form in the Application Engineering process.
    Source:
    Process Support Development Activity
    Response:
    Revise the Generation Procedure (e.g., improve automation or upgrade documentation) so that it can be effectively used by application engineers.



    PHS