- Abstract component:
- A family of components characterized by a defining abstraction and the
decisions that are needed to distinguish among the members of the family (or
to extract a concrete component).
- A description of a collection of things that applies equally well to any
one of them. Also, a concept that denotes the common properties of a
- A step of a process for producing and/or evaluating work products to
satisfy objective(s) supporting that process. An activity comprises other
- Adaptable Component:
- A Domain Engineering work product that implements a Component Design.
See Abstract component.
- The hardware, software, and manual procedures that characterize a
- Application Engineering:
- An iterative process for the design and development of a product that
satisfies specified customer requirements. Its work products are an
Application Model and an Application Product. For the leveraged Synthesis
process, see Application Modeling (Activity), Application Production
(Activity), Delivery and Operation Support (Activity), and Project Management
- Application Engineering Environment:
- Automated support provided for a prescribed Application Engineering
process. See Process Requirements and Process Support and Infrastructure.
- Application Engineering Process Support:
- A Domain Implementation, from the perspective of an Application
- Application Model:
- A set of resolved requirements and engineering decisions, as specified
by a Decision Model, that (partially) determine an instance of a family of
systems. See Application Modeling Notation.
- Application Modeling (Activity):
- The Application Engineering activity that produces a validated
Application Model sufficient to derive a production-quality Application
Product that satisfies customer requirements. See Specification (Activity),
Validation (Activity), and Assessment (Activity).
- Application Modeling Notation:
- A notation for expressing an Application Model such that a complete
Application Model is sufficient to distinguish uniquely any system of a
domain. See Process Requirements.
- Application Product:
- Software artifacts, including code and documentation, produced by the
Application Production activity to satisfy customer requirements.
- Application Production (Activity):
- The Application Engineering activity that produces an Application
Product, as specified by an Application Model, and Delivery Support. See
Generation (Activity) and Special Components Implementation (Activity).
- A set of design structures that characterize a system and each
associated artifact (i.e., work products).
- Assessment (Activity):
- The Application Modeling activity that produces analyses of the degree
to which alternative Application Models satisfy the operational (e.g.,
performance, reliability) and product quality requirements of the customer.
- Business area:
- A coherent market characterized by (potential) customers possessing
- Business-area knowledge:
- Information that characterizes the market for a domain including:
Current and future customer and contract profiles
Projected growth in contracts (or sales)
Value and marketability of features
- Business-area organization:
- An organization whose mission is the production and delivery of products
for customers in a specified business area.
- Business objectives:
- The needs of a business-area organization that determine the scope and
extent of a domain.
- Candidate Components:
- A set of previously-built components that have been judged as qualified
for potential use as raw material in the engineering of Adaptable Components.
- A characteristic of a domain that corresponds to a similarity among
members of the associated family of systems. See Variability.
- A work-product fragment whose production is a managed work assignment.
See Abstract component.
- Component Design:
- The element of a Product Design that defines the design of a component
identified in a Product Architecture.
- Component Design (Activity):
- The Domain Analysis activity that creates a Component Design.
- Component Implementation (Activity):
- The Domain Implementation activity that creates Adaptable Components, as
specified by a Component Design.
- A limitation on decision(s).
- The person(s) or organization(s) that specify the requirements, accept,
and authorize payment for a product.
- Customer requirements:
- A description of the capabilities, as understood by customers, required
of a system and any constraints on the engineering of that system.
- A choice among allowable alternatives.
- Decision constraint:
- A set of constraints on the resolution of interdependent decisions.
- Decision group:
- A logical grouping of decisions in the Application Modeling Notation
that allows the application engineer to separate concerns when describing a
- Decision Model:
- The element of a Domain Specification that defines the abstract form
(concepts, decisions, and structure) of an Application Modeling Notation.
- Decision Model (Activity):
- The Domain Analysis activity that creates a Decision Model.
- Decision specification:
- A specification of the set of decisions that suffice to distinguish
among members of a family.
- Delivery and Operation Support (Activity):
- The Application Engineering activity that delivers an Application
Product to customers and supports its use.
- Delivery Support:
- Software artifacts produced by the Application Production activity to
support the Delivery and Operation Support activity for delivery of an
Application Product to customers.
- Dependency constraint:
- A relationship specifying how decisions made by an application engineer
limit subsequent decisions.
- Derived requirements:
- Requirements that indicate characteristics specific to particular
systems in the domain based on the decisions that an application engineer
expresses in an application model.
- Design structure:
- A set of relationships among a set of components that represent some
characteristic of the aggregate. Examples for a program are dependency
structures that define a program's static structure and process structures
that define its dynamic behavior.
- A documentation component, including textual and graphical artifacts.
- A product family and an associated production process supporting a
- Domain Analysis (Activity):
- The Domain Engineering activity in which domain knowledge is studied and
formalized as a Domain Definition and a Domain Specification. The expertise
in a business area is formalized to create standards for problem descriptions
and corresponding solutions. See Domain Definition (Activity), Domain
Specification (Activity), and Domain Verification (Activity).
- Domain Assumptions:
- The element of a Domain Definition that defines the guiding assumptions
and justifications of domain scope and extent.
- Domain Definition:
- An informal description of the scope, extent, and justification for a
domain. See Domain Synopsis, Domain Glossary, Domain Assumptions, and Domain
- Domain Definition (Activity):
- The Domain Analysis activity that creates a Domain Definition.
- Domain Delivery (Activity):
- The Project Support activity that assists Application Engineering
projects in the effective use of Application Engineering Process Support.
- Domain Engineering:
- An iterative process for the design and development of (1) a product
family and (2) an Application Engineering process for producing members of
that family. See Domain Management (Activity), Domain Analysis (Activity),
Domain Implementation (Activity), and Project Support (Activity).
- Domain evolution:
- Revision of a Domain Definition, Domain Specification, and associated
Application Engineering Process Support to reflect changes in domain scope.
- Domain Glossary:
- The element of a Domain Definition that defines the terminology of a
- Domain Implementation:
- A Product Implementation and Process Support that satisfies a Domain
- Domain Implementation (Activity):
- The Domain Engineering activity that creates support for Application
Engineering projects in the form of a Domain Implementation. See Product
Implementation (Activity) and Process Support Development (Activity).
- Domain knowledge:
- Knowledge and expertise characteristic to a domain:
Relevant scientific theory and engineering practice
Capabilities and uses of existing systems
Past system development and maintenance experience and work products
Potential developments in related or supporting technology
Potential changes in customer needs
- Domain Management (Activity):
- The Domain Engineering activity that plans, monitors, and controls the
activities and resources of a Domain Engineering organization and which
coordinates domain development and evolution with client Application
- Domain objectives:
- An element of the Domain Plan Master Plan that defines the goals of
- Domain Plan:
- Schedules, budgets, assignments, and progress evaluations for the
management of a Domain Engineering organization.
- Domain Specification:
- A specification of a standardized Application Engineering process and
product family for a domain. See Decision Model, Product (Family)
Requirements, Process Requirements, and Product (Family) Design.
- Domain Specification (Activity):
- The Domain Analysis activity that creates a Domain Specification.
- Domain Status:
- The element of a Domain Definition that specifies the current scope,
extent, and viability of a domain relative to its objectives.
- Domain Synopsis:
- The element of a Domain Definition that is an informal description of a
- Domain Validation (Activity):
- The Project Support activity that evaluates the quality and
effectiveness of Application Engineering Process Support from the perspective
of Application Engineering project needs.
- Domain Verification (Activity):
- The Domain Analysis activity that evaluates a Domain Implementation to
determine compliance with the corresponding Domain Definition and Domain
- Entrance criteria:
- Conditions that must be met before an activity can be started.
- Exit criteria:
- Conditions that must be met before an activity can be considered
- A set of things that have enough in common that it pays to consider
their common characteristics before noting specific properties of instances.
- The degree to which an objective is amenable to solution with
predictable resources and risk.
- Information communicated by the consumer of a work product to its
producer regarding issues in the correctness, quality, and viability of the
- Generation (Activity):
- The Application Production activity that applies a Generation Procedure
to an Application Model, Adaptable Components, and Special Components to
produce software work products.
- Generation Design:
- The element of a Product Design that specifies a Generation Procedure
(i.e., the mapping from a Decision Model and Product Architecture to work
products for an application).
- Generation Design (Activity):
- The Domain Implementation activity that creates a Generation Design.
- Generation Implementation (Activity):
- The Domain Implementation activity that creates a Generation Procedure.
- Generation Procedure:
- The definition of a procedure for selecting, adapting, and composing
components to create a work product.
- A specific, time-related, measurable target.
- Implicit requirements:
- Requirements that indicate characteristics that are common to all
systems in a domain. (Comment: These are referred to as implicit because
they are implicit to an Application Model [i.e., there are no decisions in
the Decision Model that affect them]).
- Those mechanisms or attributes of an Application Engineering Environment
that are not determined by the Domain Specification. See Process Support
- Creating a thing from a representation of an abstraction denoting a set
of such things.
- Iterative process:
- A process in which completion occurs only after repetition of producing
and using activities results in refined work products.
- Legacy Products:
- The element of a Domain Definition that is a collection of work products
(or portions thereof) that are potentially useful raw material for developing
other Domain Engineering work products. Legacy Products are derive from
existing systems in the domain.
- Life cycle:
- A sequence of distinct states of an entity beginning with its initial
conception and ending when it is no longer available for use.
- A description of an abstract component that is sufficient, given a set
of resolved decisions, to instantiate a corresponding concrete component.
- A method for creating abstract components and extracting concrete
components from them. See Instantiation.
- Metaprogramming notation:
- A notation for defining and instantiating metaprograms.
- Guidance and criteria that prescribe a systematic, repeatable technique
for performing an activity.
- An integrated body of principles, practices, and methods that prescribe
the proper performance of a process.
- A representation of a thing from which analysis provides approximate
answers to designated questions about the thing itself.
- A software component that consists of design, code, documentation, and
- The intended or desired result of a course of action.
- A designation of tasks and resource allocations for accomplishing a
- A (partially) ordered set of steps, intended to accomplish specified
- Process engineering:
- The construction of a process appropriate to accomplish the objectives
of an organization or project.
- Process Requirements:
- The element of a Domain Specification that defines an Application
Engineering process and concrete forms (syntax) of an associated Application
- Process Requirements (Activity):
- The Domain Analysis activity that creates Process Requirements.
- Process Support:
- Standards and procedures, in the form of documents and supporting
automation, that institute a standard Application Engineering process, as
specified by a Process Requirements. See Application Engineering Environment.
- Process Support Development (Activity):
- The Domain Implementation activity that creates Process Support.
- The aggregation of all work products resulting from a process or
- Product Architecture:
- See Product (Family) Architecture.
- Product Architecture (Activity):
- The Domain Analysis activity that creates a Product Architecture.
- Product Design:
- See Product (Family) Design.
- Product Design (Activity):
- The Domain Analysis activity that creates a Product Design.
- Product Family:
- A family of products. See Family.
- Product (Family) Architecture:
- The element of a Product Design that is a specification of the
(adaptable) architecture of the products for a system (possibly as a set of
- Product (Family) Design:
- The element of a Domain Specification that defines how an Application
Model which satisfies the Decision Model determines the structure and content
of an Application Product and Delivery Support. This includes the criteria by
which components are selected and adapted to create fragments which are then
composed into complete work products.
- Product (Family) engineering:
- The development and evolution, consistent with a Domain Definition and
Decision Model, of Product Requirements, Product Design, and Product
Implementation corresponding to a product family.
- Product (Family) Implementation:
- The implementation of a Product Design as sets of Adaptable Components
and Generation Procedures.
- Product (Family) Requirements:
- The element of a Domain Specification that defines the requirements of
systems in a domain relative to a Decision Model.
- Product Implementation:
- See Product (Family) Implementation.
- Product Implementation (Activity):
- The Domain Implementation activity that creates a Product
Implementation. See Component Implementation (Activity) and Generation
- Product line:
- A collection of (existing and potential) products that address a
designated business area.
- Product Requirements:
- See Product (Family) Requirements.
- Product Requirements (Activity):
- The Domain Analysis activity that creates a Product Requirements.
- (1) An aggregation of software components that, when integrated with
hardware, operates as a unit.
(2) A directed, funded effort to acquire, develop, or maintain a product(s).
- An undertaking requiring concerted effort, which is focused on
developing and/or maintaining a specific product. Typically, a project has
its own funding, cost accounting, and delivery schedule.
- Project Management (Activity):
- The Application Engineering activity that plans, monitors, and controls
Application Engineering process execution and provides feedback to Domain
Engineering on desired product family and Application Engineering process
- Project Plan:
- Schedules, budgets, assignments, and status evaluations for the
management of an Application Engineering project.
- Project Support (Activity):
- The Domain Engineering activity that validates Application Engineering
Process Support, delivers it to application projects, and supports its use.
See Domain Validation (Activity) and Domain Delivery (Activity).
- Reuse Library:
- The portion of an Application Engineering Environment that provides
access to Adaptable Components.
- A potential for incurring undesirable results.
- Constraining an abstraction to denote a subset.
- A complete, precise description of the verifiable properties required of
a work product.
- Specification (Activity):
- The Application Modeling activity that analyzes customer needs to
produce an application model. The Application Model expresses requirements
and engineering decisions that describe a system intended to satisfy those
- Either an activity or an unelaborated action.
- Structural constraint:
- A constraint that limits the number of instances of a decision group in
a valid Application Model
- The denotation of a subfamily of systems for which a corresponding
domain denotes the larger family.
- A subset of the members of a family that have some set of common
characteristics not shared by any members of the family outside that subset.
- A methodology for the construction of software systems as instances of a
family of systems that have similar descriptions. Its primary distinguishing
Formalization of domains as families of systems that share many common
features, but which also vary in well-defined ways
System building reduced to resolution of requirements and engineering
decisions that represent the variations characteristic of a domain
Reuse of software artifacts through mechanical adaptation of components to
satisfy requirements and engineering decisions
Model-based analyses of described systems to help understand the implications
of system-building decisions and evaluate alternatives
- A collection of hardware, software, and people that operate together to
accomplish a mission.
- A work assignment (i.e., subject to management accountability) to
accomplish a specified objective.
- Test scenario:
- A test component, which includes test procedures and test data
- The person(s) or organization(s) that will use the system for its
intended purpose when it is deployed in its environment.
- The evaluation of work products to determine whether they satisfy
- Validation (Activity):
- The Application Modeling activity that produces analyses of the degree
to which alternative Application Models satisfy the functional requirements
of the customer.
- A characteristic of a domain that corresponds to features that
distinguish among members of the associated family of systems. See
- The evaluation of a work product to determine whether it meets its
- The degree to which benefits of a feasible undertaking dominate the
costs of its performance, taking into consideration risk-induced
- Work product:
- Any configuration-managed artifact.