Reference model. A reference model is a description of all of the possible software components, component services (functions), and the relationships between them (how these components are put together and how they will interact). Examples of commonly-known reference models include the following:
- the Technical Architecture for Information Management (TAFIM) reference
model (see TAFIM Reference Model)
- the Reference Model for Frameworks of Software Engineering Environments
[ECMA 93]
- Project Support Environment Reference Model (PSERM)
- the Tri-Service Working Group Open Systems Reference Model
Architecture. An architecture is a description of a subset of the reference model's component services that have been selected to meet a specific system's requirements. In other words, not all of the reference model's component services need to be included in a specific architecture. There can be many architectures derived from the same reference model. The associated standards and guidelines for each service included in the architecture form the open systems architecture and become the criteria for implementing the system.
Implementation. The implementation is a product that results from selecting (e.g., commercial-off-the-shelf), reusing, building and integrating software components and component services according to the specified architecture. The selected, reused, and/or built components and component services must comply 100% with the associated standards and guidelines for the implementation to be considered compliant.
Figure 23 attempts to show the interrelationships of these concepts using the TAFIM as an example. TAFIM provides the reference model and a number of specific architectures can be derived from the TAFIM reference model based on specific program requirements. From there a number of implementations may be developed based on the products selected to meet the architecture's services, so long as these products meet the required standards and guidelines. For instance, in one implementation, the product ORACLE might be selected and used to meet some of the data management services. In another implementation, the product Sybase might be selected and used.

Figure 23: Reference Model, Architecture, and Implementation
This technology is classified under the following categories. Select a
category for a list of related topics.