General Navigation Buttons - Home | Search | Contact Us | Site Map | Whats New
products graphic
white space
products
Software Technology Roadmap
Background & Overview
Technology Descriptions
Defining Software Technology
Technology Categories
Template for Technology Descriptions
Taxonomies
Glossary & Indexes
white space
About SEI|Mgt|Eng|Acq|Collaboration|Prod.& Services|Pubs
pixel
Rollover Popup Hints for Topic Navigation Buttons above
pixel
Reference Models, Architectures, Implementations--An Overview


Status

Advanced

Purpose and Origin

Much confusion exists regarding the definition, applicability, and scope of the terms reference model, architecture, and implementation. Understanding these terms facilitates understanding legacy system designs and how to migrate them to more open systems. The purpose of this technology description is to provide definitions, and more importantly, to describe how the terms are related.

Technical Detail

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.

Usage Considerations

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

Index Categories

This technology is classified under the following categories. Select a category for a list of related topics.

Name of technology

Reference Models, Architectures, Implementations - An Overview

Application category

Software Architecture Models (AP.2.1.1)
Software Architecture (AP.2.1)

Quality measures category

Maintainability (QM.3.1)
Interoperability (QM.4.1)
Portability (QM.4.2)

Computing reviews category

Distributed Systems (C.2.4)
Software Engineering Design (D.2.10)

References and Information Sources

[ECMA 93] Reference Model for Frameworks of Software Engineering Environments, 3rd Edition (NIST Special Publication 500-211/Technical Report ECMA TR/55). Prepared jointly by NIST and the European Computer Manufacturers Association (ECMA). Washington, DC: U.S. Government Printing Office, 1993.
[Meyers 96] Meyers, Craig & Oberndorf, Tricia. Open Systems: The Promises and the Pitfalls. Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 1996.

Current Author/Maintainer

Darleen Sadoski, GTE

External Reviewers

Tricia Oberndorf, SEI

Modifications

10 Jan 97 (original)


The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U.S. Department of Defense and operated by Carnegie Mellon University.

Copyright 2008 by Carnegie Mellon University
Terms of Use
URL: http://www.sei.cmu.edu/str/descriptions/refmodels_body.html
Last Modified: 24 July 2008