Synthesis Leveraged Domain Engineering
PRODUCT DESCRIPTION
PROCESS DESCRIPTION
INTERACTIONS WITH OTHER ACTIVITIES
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 product family.
A conventional implementation is
an application and associated work products
that solves a specific problem. Similarly, a Product Implementation is an
implementation that is adaptable to decisions supported by the
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
deliverable
application engineering work products in accordance with an Application Model
that describes the
product.
The objective of the Product Implementation Activity is to implement the
Product Design.
This implementation is used by application engineers to generate required work
products for systems in the domain.
The Product Implementation Activity requires the following information:
-
Product Requirements
-
Product Design
-
Decision Model
-
Legacy Products
The Product Implementation Activity requires domain and software knowledge and
experience in:
-
The design method used in specifying the Product Design
-
Existing
systems
in the domain, including how they are designed, implemented, and verified, and
what are their components and architectures
-
Target language and platform capabilities
-
The technologies for adapting and composing components into work products that
make up
an integrated
product
-
- Name:
-
Product Implementation
- Purpose:
-
A Product Implementation is an adaptable implementation of a
product family.
An application engineer must be able to derive members of a
product family by adapting the Product Implementation mechanically based on the
product family's decisions in an Application Model.
- Content:
-
A Product Implementation consists of the following parts:
- Verification Criteria:
-
The Product Implementation correctly constructs existing or envisioned systems
from the domain.
The Product Implementation Activity consists of the
two
steps shown in
Figure DE.3.1-1 Product Implementation Process
Follow these steps for the Product Implementation Activity.
Activity:
Component Implementation
-
- Action:
-
Create Adaptable Components for the
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
deliverable
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.
-
- Risk:
-
The Product Implementation will be inconsistent with Product
Requirements.
- 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.
-
- 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.
-
- Contingency:
-
The Product Implementation does not satisfy the Domain
Specification.
- 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.