General Navigation Buttons - Home | Search | Contact Us | Site Map | Whats New
products graphic
white space
products
Software Technology Roadmap
What's New
Background & Overview
Technology Descriptions
Defining Software Technology
Technology Categories
Template for Technology Descriptions
Taxonomies
Glossary & Indexes
Feedback & Participation
Software Engineering Information Repository (SEIR)
white space
About SEI|Mgt|Eng|Acq|Collaboration|Prod.& Services|Pubs
pixel
Rollover Popup Hints for Topic Navigation Buttons above
pixel
Organization Domain Modeling


Status

Complete

Note

We recommend Domain Engineering and Domain Analysis as prerequisite reading for this technology description.

Purpose and Origin

Organization domain modeling (ODM) was developed to provide a formal, manageable, and repeatable approach to domain engineering. The ODM method evolved and was subsequently formalized by Mark Simos (Organon Motives, Inc.) with collaboration and sponsorship from Hewlett-Packard Company, Lockheed-Martin,1 and the DARPA STARS2 program [Simos 96]. ODM affects the maintainability, understandability, and reusability characteristics of a system or family of systems.

Technical Detail

ODM was developed and refined as part of the overall reuse/product line approaches developed under the STARS program. The STARS reuse approach decomposes reuse technologies into several levels or layers of abstraction, specifically: Concepts, Processes, Methods, and Tools. An example of a "concept" is the Conceptual Framework for Reuse Processes (CFRP), a conceptual foundation and framework for understanding domain-specific reuse in terms of the processes involved [STARS 93]. An example of a "process" is the Reuse-Oriented Software Evolution (ROSE) process model, which is based on the CFRP life-cycle process model; it partitions software development into domain engineering, asset management, and application engineering; and emphasizes the role of reuse in software evolution. ODM is an example of a "method" compatible with the CFRP framework.

The primary goal of ODM is the systematic transformation of artifacts (e.g., requirements, design, code, tests, and processes) from multiple legacy systems into assets that can be used in multiple systems. The method can also be applied to requirements for new systems; the key element is to ground domain models empirically by explicit consideration of multiple exemplars, which determine the requisite range of variability that the models must encompass. ODM stresses the use of legacy artifacts and knowledge as a source of domain knowledge and potential resources for reengineering/reuse. However, one of its objectives is to avoid embedding hidden constraints that may exist in legacy systems into the domain models and assets.

Domain Engineering and Domain Analysis identifies three areas where domain analysis methods can be differentiated. Distinguishing features for ODM are:

Primary product of the analysis. The result of ODM is a knowledge representation framework populated with a domain architecture and a flexible asset base. It can be thought of as a reuse library designed to support systematic reuse in a prescribed context; however, the method supports the use of diverse implementation techniques such as generators in the asset base.

Focus of analysis

  • ODM is structured in terms of a core domain engineering life cycle, which is distinct from and orthogonal to the system engineering life cycle. The ODM life cycle is divided into three phases:
    • plan domain: selecting, scoping, and defining target domains
    • model domain: modeling the range of variability that can exist within the scope of the domain
    • engineer asset base: engineering an asset base that satisfies some subset of the domain variability, based on the needs of specific target customers [Simos 96]
  • Iterative scoping. The approach to systematic scoping involves structuring the ODM life cycle as a series of incremental scoping steps; each step builds upon and validates the previous step.
  • Stakeholder focus. The ODM life cycle provides an up-front analysis of the organizational stakeholders and objectives. The stakeholder focus is carried throughout the life cycle with tasks to reconsider the strategic interests of stakeholders at critical points.
  • Exemplar-based modeling. ODM works from a set of explicit examples, called exemplars, of the domain rather than a single, generalized example or speculation about a "general" solution.
  • Emphasis on descriptive modeling. ODM places heavy emphasis on studying a set of example systems for the domain in order to derive the shape of the domain space.
  • Explicit modeling of variability. ODM encourages modelers to maximize variability in the descriptive phase of modeling. This is to generate as much insight as possible about the potential range of variability in the domain.
  • Methods for context recovery. ODM emphasizes identifying contextual information (e.g., language, values, assumptions, dependencies, history) embedded within an artifact to make them more dependable and predictable. (Note: This activity does not remove dependencies. This occurs during the engineering asset base phase.)
  • Prescriptive asset base engineering. After descriptive modeling takes place, the prescriptive modeling phase begins. Initially, the range of functionality to be supported by the reusable assets are re-scoped and commitments are made to a real set of customers. Prescriptive features are mapped onto the structure of the asset base and to sets of specifications for particular assets. Traceability from the features back to exemplar artifacts are maintained to enable the retrieval of additional information (e.g., existing prototypes, history).
Representation Techniques. Although ODM encompasses all of domain engineering, the core method focuses on activities that are unique to domain engineering. Other activities that fall within, but are not specific to domain engineering are supported through "supporting methods." This means that ODM can be integrated with a variety of existing methods (e.g., system and taxonomic modeling techniques) to support unique constraints or preferences of an organization or domain. Examples of supporting methods are the methods associated with the Reuse Library Framework (RLF) [STARS 96c], Canvas [STARS 96a], Domain Architecture-Based Generation for Ada Reuse (DAGAR) [Klinger 96, STARS 96b], and the Knowledge Acquisition for Preservation of Tradeoffs and Underlying Rationales (KAPTUR) Tool, which is described as a part of Argument-Based Design Rationale Capture Methods for Requirements Tracing.

Usage Considerations

ODM was developed primarily to support domain engineering projects for domains that are mature, reasonably stable, and economically viable. Although all of the criteria do not need to be met, ODM is most successful when all are present. ODM can be applied in reuse programs that are in their infancy or very mature. ODM does not assume application within an established reuse program, and in fact includes some risk-reduction steps (such as up-front stakeholder analysis) that enable the use of domain analysis as a first step in establishing such a program.

However, it is recommended that the first application of ODM be on a pilot project in a relatively small domain. ODM supports evolution to larger domains or a broader reuse program.

Maturity

ODM has been applied on small-scale and relatively large-scale projects. The following are examples:

  • Hewlett-Packard developed a domain engineering workbook by tailoring aspects of an early version of the ODM process model to their organizational objectives. The workbook is being used on numerous internal domain engineering projects within their divisions [Cornwell 96, Simos 96].
  • The Air Force CARDS Program applied ODM in several different areas: as a means of structuring a comparative study on architecture representation languages; on the automated message handling system (AMHS) domain analysis effort; and for product-line analysis as part of the Hanscom AFB Domain Scoping effort.
  • ODM formed the basis for the domain engineering approach of the Army STARS Demonstration Project. ODM processes were integrated closely with the CFRP [STARS 93] as a higher level planning guide, and with RLF as a domain modeling representation technology [Lettes 96].

Costs and Limitations

Before incorporating ODM into the overall reuse plan, an organization should consider the following:

  • The core ODM method does not directly address the ongoing management of domain models and assets, or the use of the assets by application development projects. These activities are part of a larger reuse program described in the CFRP [STARS 93].
  • ODM does not encompass the overall reuse program planning including the establishment of producer-consumer relationships between domain engineering projects and other efforts, such as system reengineering projects or planned new projects.
  • ODM may not be applicable within organizations that are not prepared to commit to, or at least experiment with, systematic reuse (i.e., reuse of assets that were developed using a software engineering process that is specifically structured for reuse).
  • ODM requires that an organization adopt the level of modeling rigor, the modeling styles, or approaches recommended within ODM.
  • The use of ODM necessitates a technology infrastructure and level of technical expertise sufficient to support ODM modeling needs [Simos 96].

Complementary Technologies

A complimentary technology is generation techniques.

Index Categories

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

Name of technology

Organization Domain Modeling

Application category

Domain Engineering (AP.1.2.4)

Quality measures category

Reusability (QM.4.4)
Maintainability (QM.3.1)
Understandability (QM.3.2)

Computing reviews category

Software Engineering Tools and Techniques (D.2.2)

References and Information Sources

[Cornwell 96] Cornwell, Patricia Collins. "HP Domain Analysis: Producing Useful Models for Reusable Software." HP Journal (August 1996): 46-55.
[Klinger 96] Klinger, Carol & Solderitsch, James. DAGAR: A Process for Domain Architecture Definition and Asset Implementation [online]. Available WWW
<URL: http://source.asset.com/stars/darpa/Papers/ArchPapers.html> (1996).
[Lettes 96] Lettes, Judith A. & Wilson, John. Army STARS Demonstration Project Experience Report (STARS-VC-A011/003/02). Manassas, VA: Loral Defense Systems-East, 1996.
[Simos 94] Simos, M. "Juggling in Free Fall: Uncertainty Management Aspects of Domain Analysis Methods," 512-521. Fifth International Conference on Information Processing and Management of Uncertainty in Knowledge-Based Systems. Paris, France, July 4-8, 1994. Berlin, Germany: Springer-Verlag, 1995.
[Simos 96] Simos, M., et al. Software Technology for Adaptable Reliable Systems (STARS) Organization Domain Modeling (ODM) Guidebook Version 2.0 (STARS-VC-A025/001/00). Manassas, VA: Lockheed Martin Tactical Defense Systems, 1996.
[STARS 93] Conceptual Framework for Reuse Processes Volume I, Definition, Version 3.0 (STARS-VC-A018/001/00). Reston, VA: Software Technology for Adaptable Reliable Systems, 1993.
[STARS 96a] Canvas Knowledge Acquisition Guide Book Version 1.0 (STARS-PA29-AC01/001/00) Reston, VA: Software Technology for Adaptable, Reliable Systems, 1996.
[STARS 96b] Domain Architecture-Based Generation for Ada Reuse (DAGAR) Guidebook Version 1.0. Manassas, VA: Lockheed Martin Tactical Defense Systems, 1996.
[STARS 96c] Open RLF (STARS-PA31-AE08/001/00). Manassas, VA: Lockheed Martin Tactical Defense Systems, 1996.

Current Author/Maintainer

Liz Kean, Air Force Rome Laboratory

External Reviewers

Dick Creps, Lockheed Martin, Manassas, VA
Teri Payton, Lockheed Martin, Manassas, VA
Mark Simos, Organon Motives, Inc., Belmont, MA

Modifications

10 Jan 97 (original)

Footnotes

1 formerly Unisys Defense Systems, Reston, VA

2 Defense Advanced Research Projects Agency (DARPA) Software Technology for Adaptable, Reliable Systems (STARS)



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 2007 by Carnegie Mellon University
Terms of Use
URL: http://www.sei.cmu.edu/str/descriptions/odm_body.html
Last Modified: 11 January 2007