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


DE.3.1. Product Implementation

Getting Started

The Product Implementation Activity is the activity of the Domain Implementation Activity for creating a Product Implementation. A Product Implementation is an implementation of a set of work product families. A conventional implementation is a work product that solves a specific problem. Similarly, a Product Implementation is an implementation that is adaptable to decisions supported by the work product family's Decision Model in order to solve any of a family of problems. A Product Implementation consists of Adaptable Components (e.g., code, documentation, and support for verification/validation) and procedures, as needed, for selecting, adapting, and composing these components. The Adaptable Components and procedures are used to create draft application engineering work products in accordance with an Application Model that describes the work product. The Product Implementation Activity is performed for each work product family in the domain.

Objectives

The objective of the Product Implementation Activity is to implement the Product Design using artifacts that represent domain knowledge (e.g., code, documentation, test plans) from existing systems. This implementation is used by application engineers to generate required work products for systems in the domain.

Required Information

The Product Implementation Activity requires the following information:

Required Knowledge and Experience

The Product Implementation Activity requires domain and software knowledge and experience in:

PRODUCT DESCRIPTION

Name:
Product Implementation
Purpose:
A Product Implementation is an adaptable implementation of a set of work product families. An application engineer must be able to derive members of a work product family by adapting the Product Implementation mechanically based on the work product family's decisions in an Application Model.
Content:
A Product Implementation consists of the following parts:
  • Adaptable Components. An implementation of each work product family's Component Design. Adaptable Components include software, documentation, and verification/validation components that are adapted based on the work product family's Decision Model (see Section DE.3.1.1). Adaptable Components may be derived from Legacy Product.
  • Generation Procedure. An implementation of a Generation Design for selecting, adapting, and composing Adaptable Components into draft work products that satisfy the needs of the targeted project as expressed by decisions in an Application Model (see Section DE.3.1.2).

    There is a Generation Procedure per work product family. Each work-product-specific Generation Procedure corresponds to a particular set of Adaptable Components in a Product Implementation.

  • Organization Structure. A grouping of all the Adaptable Components that make up a Product Implementation (i.e., for all work product families in the domain). The grouping supports a view of all Adaptable Components as a cohesive set of domain-specific reusable work products. The grouping must be consistent with all Generation Procedures.
Verification Criteria:
The Product Implementation correctly constructs existing or envisioned members of the work product family as specified in the Product Design.

PROCESS DESCRIPTION

The Product Implementation Activity consists of the three steps shown in Figure DE.3.1-1 Product Implementation Process

Procedure

Follow these steps for the Product Implementation Activity.

Activity: Component Implementation

Action:
Create Adaptable Components for the work product family.
Input:
  • Product Requirements
  • Product Design
  • Legacy Products
Result:
Adaptable Components
Heuristics:
  • Derive Adaptable Components from Legacy Products.
  • Ensure that the Adaptable Component satisfies and is consistent with relevant aspects of the Product Design and Product Requirements.

Activity: Generation Implementation

Action:
Automate or document a mechanical procedure by which application engineers can derive draft application work products consistent with an Application Model.
Input:
  • Generation Design
  • Decision Model
  • Product Design: Product Architecture
Result:
Generation Procedure
Heuristics:
Ensure that the Generation Procedure satisfies and is consistent with relevant aspects of the Generation Design.

Step: Organize Adaptable Components

Action:
Organize the Adaptable Components to facilitate reuse among all work product families.
Input:
  • Adaptable Components
  • Generation Procedure
  • Product Architecture
Result:
Organization Structure
Heuristics:
  • Develop an organization that can be mapped onto the available mechanisms in the development environment of the targeted project (e.g., a hierarchical structure can be mapped onto files and directories). If you have a reuse library or database management system available, you can organize the components using more complex mechanisms.
  • Create a structure that supports definition, in Process Support Development, of procedures by which application engineers can locate, evaluate, and extract work products. A simple approach is to make each work product family a separate directory under a single root that locates the entire library. If you have several work product families of the same type, you may want to group them together.
  • Use the Product Architecture as the basis for the Organization Structure. Your structure must allow use of all Generation Procedures.
  • Use standard, recognized structures in the domain (e.g., for modules, an information hiding structure) to organize families. This can simplify browsing among components in complex families.

Risk Management

Risk:
The Product Implementation will be inconsistent with Product Requirements for a work product family.
Implication:
Application work products will be generated that do not satisfy the Product Requirements.
Mitigation:
When uncertainties arise, review the Domain Specification with domain analysts to clarify their intent. Review the Domain Implementation with other experienced engineers to identify omissions and inconsistencies. Derive test work products based on knowledge of existing or anticipated systems for review with experienced engineers.

INTERACTIONS WITH OTHER ACTIVITIES

4.1 Feedback to Information Sources

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

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

Feedback From Product Consumers

Contingency:
The Product Implementation does not satisfy the Domain Specification for a work product family.
Source:
Domain Verification Activity
Response:
Request clarification of the intent of the Domain Specification if necessary. Modify the Product Implementation to satisfy the Domain Specification.

Contingency:
Support for selecting, adapting, and composing Adaptable Components is inefficient.
Source:
Process Support Development Activity
Response:
Revise the Generation Procedures based on Application Engineering experience.



PHS