PRODUCT DESCRIPTION
PROCESS DESCRIPTION
INTERACTIONS WITH OTHER ACTIVITIES
The Generation Design Activity is an activity of the Product Design Activity for creating a Generation Design. A Generation Design is a specification of production procedures that an application engineer uses to produce deliverable application engineering work products. A Generation Design defines a transformation (or mapping) from an Application Model that describes a product to the equivalent application engineering work products. For each application engineering work product, a Generation Design specifies how to select and adapt Adaptable Components according to decisions in an Application Model and to compose them according to the internal organization of that work product in the Product Architecture. The Generation Design Activity is performed for each work product that comprises the product family specified by the Product Requirements.
The objective of the Generation Design Activity is to produce a specification for the production procedures that can be used to produce application engineering work products for a member of a product family through reuse of Adaptable Components. The specification establishes a correspondence between an Application Model and equivalent domain engineering work products that implement the intent of the model correctly.
The Generation Design Activity requires the following information:
The Generation Design Activity requires domain and software knowledge and experience in:
The Decision Mapping representation is similar to the Architecture Mapping, except that the instantiation parameters come from the adaptation specification of the Component Design for the work product.
The Component Mapping is represented as a "use" statement. If the expression bracketing the use statement is True, then the use statement describes which Adaptable Component contains the needed implementation. The expression is usually described in terms of decisions in the product family's Decision Model. However, if the Adaptable Component is always used, then an expression of True is sufficient to describe this situation.
Examples DE.2.2.4.3-1 and DE.2.2.4.3-2 illustrate fragments of a Generation Design for the TLC domain. These depict one way of representing the expressions discussed for Architecture, Component, and Decision Mapping. The decisions used the metaprogramming notation come directly from the Decision Model shown in Example DE.2.2.1-1. The parameters on the lefthand side of the "=" statements in the Architecture and Decision Mapping come from Examples DE.2.2.4.1-1, DE.2.2.4.1-3, and DE.2.2.4.2-1, respectively.
Generation Design - Static Software Architecture for the TLC product familyArchitecture Mapping crosswalk = < if there is a street S that has a Crosswalk_Button = CB then > yes < else > no < endif > ....
Component Mapping Determine Schedule use adaptable component Determine_Schedule_Transition ....
Decision Mapping Determine_Schedule_Transition schedule = ( < forall S in Fixed_Schedule.Schedule > ( start = < S.Start_Time >, end = < S.Stop_Time >, name = < S.Name >, .... ) < endfor > ) ....
Generation Design - Interface Requirements Specification work product familyArchitecture Mapping crosswalk = < if there is a street S that has a Crosswalk_Button = CB then > yes < else > no < endif > light_schedule = < if the Traffic_Light_Controller.Schedule is fixed then > fixed < else > dynamic < endif > ....
Component Mapping ....
Decision Mapping ....
The Generation Design Activity consists of two steps shown in Figure DE.2.2.4.3-1 Generation Design Process.
Step: Define Work Product Structure
Step: Define Component Adaptation