Reference Model of Open Distributed Processing (RM-ODP) is a reference model in computer science, which provides a co-ordinating framework for the standardization of open distributed processing (ODP). It supports distribution, interworking, platform and technology independence, and portability, together with an enterprise architecture framework for the specification of ODP systems.

RM-ODP, also named ITU-T Rec. X.901-X.904 and ISO/IEC 10746, is a joint effort by the International Organization for Standardization (ISO), the International Electrotechnical Commission (IEC) and the Telecommunication Standardization Sector (ITU-T).[1]

RM-ODP viewpoints
The RM-ODP view model, which provides five generic and complementary viewpoints on the system and its environment.


The RM-ODP is a reference model based on precise concepts derived from current distributed processing developments and, as far as possible, on the use of formal description techniques for specification of the architecture. Many RM-ODP concepts, possibly under different names, have been around for a long time and have been rigorously described and explained in exact philosophy (for example, in the works of Mario Bunge) and in systems thinking (for example, in the works of Friedrich Hayek). Some of these concepts—such as abstraction, composition, and emergence—have recently been provided with a solid mathematical foundation in category theory.

RM-ODP has four fundamental elements:

  • an object modelling approach to system specification;
  • the specification of a system in terms of separate but interrelated viewpoint specifications;
  • the definition of a system infrastructure providing distribution transparencies for system applications; and
  • a framework for assessing system conformance.

The RM-ODP family of recommendations and international standards defines a system of interrelated essential concepts necessary to specify open distributed processing systems and provides a well-developed enterprise architecture framework for structuring the specifications for any large-scale systems including software systems.


Much of the preparatory work that led into the adoption of RM-ODP as an ISO standard was carried out by the Advanced Networked Systems Architecture (ANSA) project. This ran from 1984 until 1998 under the leadership of Andrew Herbert (now MD of Microsoft Research in Cambridge), and involved a number of major computing and telecommunication companies. Parts 2 and 3 of the RM-ODP were eventually adopted as ISO standards in 1996. Parts 1 and 4 were adopted in 1998.

RM-ODP topics

RM-ODP standards

RM-ODP consists of four basic ITU-T Recommendations and ISO/IEC International Standards:[2][3][4][5]

  1. Overview:[6] Contains a motivational overview of ODP, giving scoping, justification and explanation of key concepts, and an outline of the ODP architecture. It contains explanatory material on how the RM-ODP is to be interpreted and applied by its users, who may include standard writers and architects of ODP systems.
  2. Foundations:[7] Contains the definition of the concepts and analytical framework for normalized description of (arbitrary) distributed processing systems. It introduces the principles of conformance to ODP standards and the way in which they are applied. In only 18 pages, this standard sets the basics of the whole model in a clear, precise and concise way.
  3. Architecture:[8] Contains the specification of the required characteristics that qualify distributed processing as open. These are the constraints to which ODP standards must conform. This recommendation also defines RM-ODP viewpoints, subdivisions of the specification of a whole system, established to bring together those particular pieces of information relevant to some particular area of concern.
  4. Architectural Semantics:[9] Contains a formalization of the ODP modeling concepts by interpreting many concepts in terms of the constructs of the different standardized formal description techniques.

Viewpoints modeling and the RM-ODP framework

Most complex system specifications are so extensive that no single individual can fully comprehend all aspects of the specifications. Furthermore, we all have different interests in a given system and different reasons for examining the system's specifications. A business executive will ask different questions of a system make-up than would a system implementer. The concept of RM-ODP viewpoints framework, therefore, is to provide separate viewpoints into the specification of a given complex system. These viewpoints each satisfy an audience with interest in a particular set of aspects of the system. Associated with each viewpoint is a viewpoint language that optimizes the vocabulary and presentation for the audience of that viewpoint.

Viewpoint modeling has become an effective approach for dealing with the inherent complexity of large distributed systems. Current software architectural practices, as described in IEEE 1471, divide the design activity into several areas of concerns, each one focusing on a specific aspect of the system. Examples include the "4+1" view model, the Zachman Framework, TOGAF, DoDAF and, of course, RM-ODP.

A viewpoint is a subdivision of the specification of a complete system, established to bring together those particular pieces of information relevant to some particular area of concern during the analysis or design of the system. Although separately specified, the viewpoints are not completely independent; key items in each are identified as related to items in the other viewpoints. Moreover, each viewpoint substantially uses the same foundational concepts (defined in Part 2 of RM-ODP). However, the viewpoints are sufficiently independent to simplify reasoning about the complete specification. The mutual consistency among the viewpoints is ensured by the architecture defined by RM-ODP, and the use of a common object model provides the glue that binds them all together.

More specifically, the RM-ODP framework provides five generic and complementary viewpoints on the system and its environment:

  • The enterprise viewpoint, which focuses on the purpose, scope and policies for the system. It describes the business requirements and how to meet them.
  • The information viewpoint, which focuses on the semantics of the information and the information processing performed. It describes the information managed by the system and the structure and content type of the supporting data.
  • The computational viewpoint, which enables distribution through functional decomposition on the system into objects which interact at interfaces. It describes the functionality provided by the system and its functional decomposition.
  • The engineering viewpoint, which focuses on the mechanisms and functions required to support distributed interactions between objects in the system. It describes the distribution of processing performed by the system to manage the information and provide the functionality.
  • The technology viewpoint, which focuses on the choice of technology of the system. It describes the technologies chosen to provide the processing, functionality and presentation of information.


Currently there is growing interest in the use of UML for system modelling. However, there is no widely agreed approach to the structuring of such specifications. This adds to the cost of adopting the use of UML for system specification, hampers communication between system developers and makes it difficult to relate or merge system specifications where there is a need to integrate IT systems.

Although the ODP reference model provides abstract languages for the relevant concepts, it does not prescribe particular notations to be used in the individual viewpoints. The viewpoint languages defined in the reference model are abstract languages in the sense that they define what concepts should be used, not how they should be represented. This lack of precise notations for expressing the different models involved in a multi-viewpoint specification of a system is a common feature for most enterprise architectural approaches, including the Zachman Framework, the "4+1" model, or the RM-ODP. These approaches were consciously defined in a notation- and representation-neutral manner to increase their use and flexibility. However, this makes more difficult, among other things, the development of industrial tools for modeling the viewpoint specifications, the formal analysis of the specifications produced, and the possible derivation of implementations from the system specifications.

In order to address these issues, ISO/IEC and the ITU-T started a joint project in 2004: "ITU-T Rec. X.906|ISO/IEC 19793: Information technology - Open distributed processing - Use of UML for ODP system specifications". This document (usually referred to as UML4ODP) defines use of the Unified Modeling Language 2 (UML 2; ISO/IEC 19505), for expressing the specifications of open distributed systems in terms of the viewpoint specifications defined by the RM-ODP.

It defines a set of UML Profiles, one for each viewpoint language and one to express the correspondences between viewpoints, and an approach for structuring them according to the RM-ODP principles. The purpose of "UML4ODP" to allow ODP modelers to use the UML notation for expressing their ODP specifications in a standard graphical way; to allow UML modelers to use the RM-ODP concepts and mechanisms to structure their large UML system specifications according to a mature and standard proposal; and to allow UML tools to be used to process viewpoint specifications, thus facilitating the software design process and the enterprise architecture specification of large software systems.

In addition, ITU-T Rec. X.906 | ISO/IEC 19793 enables the seamless integration of the RM-ODP enterprise architecture framework with the Model-Driven Architecture (MDA) initiative from the OMG, and with the service-oriented architecture (SOA).


In addition, there are several projects that have used or currently use RM-ODP for effectively structuring their systems specifications:

  • The COMBINE project[10]
  • The ENVRI and ENVRIplus projects for common operations of environmental research infrastructures are developing the ENVRI Reference Model[11]
  • The Reference Architecture for Space Data Systems (RASDS)[12] From the Consultative Committee for Space Data Systems.
  • Interoperability Technology Association for Information Processing (INTAP), Japan.[13]
  • The Synapses European project.[14]

A 239-item reference list covering RM-ODP standards as well as related research, applications and case studies was included in [15].

See also

Notes and references

  1. ^ A complete and updated list of references to publications related to RM-ODP (books, journal articles, conference papers, etc.) is available at the RM-ODP resource site.
  2. ^ In the same series as the RM-ODP are a number of other standards and recommendations for the specification and development of open and distributed system, for which RM-ODP provides a standardization framework:
    • ITU-T Rec. X.950 | ISO/IEC 13235-1:1998, Trading function: Specification.
    • ITU-T Rec. X.952 | ISO/IEC 13235-3:1998, Provision of Trading Function using OSI directory service.
    • ITU-T Rec. X.920 | ISO/IEC 14750:1999, Interface Definition Language.
    • ITU-T Rec. X.931 | ISO/IEC 14752:2000, Protocol support for computational interactions.
    • ITU-T Rec. X.930 | ISO/IEC 14753:1999, Interface references and binding.
    • ITU-T Rec. X.960 | ISO/IEC 14769:2001, Type repository function.
    • ITU-T Rec. X.910 | ISO/IEC 14771:1999, Naming framework.
    • ITU-T Rec. X.911 | ISO/IEC 15414:2002, Reference model - Enterprise language.
    • ISO/IEC 19500-2:2003, General Inter-ORB Protocol (GIOP)/Internet Inter-ORB Protocol (IIOP).
  3. ^ Copies of the RM-ODP family of standards can be obtained either from ISO or from ITU-T. Parts 1 to 4 of the RM-ODP are available for from free download from ISO. All ODP-related ITU-T Recommendations, including X.9xx series, are freely available from the ITU-T.
  4. ^ There is also a very useful hyperlinked version of Parts 2 and 3 of the RM-ODP, together with an index to the Reference Model, made available in keeping with a resolution of the ISO council. The Table of Contents and Index were prepared by Lovelace Computing and are being made available by Lovelace Computing as a service to the standards community.
  5. ^ Some resources related to the current version of | ITU-T X.906 | ISO/IEC 19793 "Use of UML for ODP systems specifications" are also available from the RM-ODP resource site. They include the UML Profiles of the five ODP viewpoints, the viewpoint metamodels, the GIF files for the ODP-specific icons, etc.
  6. ^ ISO/IEC 10746-1 | ITU-T Rec. X.901
  7. ^ ISO/IEC 10746-2 | ITU-T Rec. X.902
  8. ^ ISO/IEC 10746-3 | ITU-T Rec. X.903
  9. ^ ISO/IEC 10746-4 | ITU-T Rec. X.904
  10. ^ COMBINE Archived 2008-05-15 at the Wayback Machine
  11. ^ ENVRI Reference Model
  12. ^ Reference Architecture for Space Data Systems (RASDS)
  13. ^ Interoperability Technology Association for Information Processing (INTAP) Archived 2008-03-11 at the Wayback Machine
  14. ^ The Synapses Project: a three-year project funded under the EU 4th Framework Health Telematics Programme Archived 2005-04-06 at the Wayback Machine
  15. ^ Kilov, H., Linington, P.F., Romero, J.R., Tanaka, A., Vallecillo, A.: The reference model of open distributed processing: foundations, experience and applications. Comput. Stand. Interfaces 35, 247–256 (2013)

External links

Alain Wegmann

Alain Wegmann (born 1957) is a Swiss computer scientist, professor of Systemic Modeling at the École Polytechnique Fédérale de Lausanne (EPFL), and Information Technology and Services consultant, known for the development of the Systemic Enterprise Architecture Methodology (SEAM).

Andrew Herbert

Andrew James Herbert, OBE, FREng (born 1954) is a British computer scientist, formerly Chairman of Microsoft Research, for the Europe, Middle East and Africa region.

Architecture framework

The ISO/IEC/IEEE 42010 Conceptual Model of Architecture Description defines the term architecture framework as:

"An architecture framework establishes a common practice for creating, interpreting, analyzing and using architecture descriptions within a particular domain of application or stakeholder community. Examples of Architecture Frameworks: MODAF, TOGAF, Kruchten's 4+1 View Model, RM-ODP."

Especially the domain within a company or other organisation is covered by enterprise architecture frameworks.

The Survey of Architecture Frameworks lists some of the available architecture frameworks.

Christopher Alexander

Christopher Wolfgang Alexander (born 4 October 1936 in Vienna, Austria) is a widely influential architect and design theorist, and currently emeritus professor at the University of California, Berkeley. His theories about the nature of human-centered design have affected fields beyond architecture, including urban design, software, sociology and others. Alexander has designed and personally built over 100 buildings, both as an architect and a general contractor.In software, Alexander is regarded as the father of the pattern language movement. The first wiki—the technology behind Wikipedia—led directly from Alexander's work, according to its creator, Ward Cunningham. Alexander's work has also influenced the development of agile software development.In architecture, Alexander's work is used by a number of different contemporary architectural communities of practice, including the New Urbanist movement, to help people to reclaim control over their own built environment. However, Alexander is controversial among some mainstream architects and critics, in part because his work is often harshly critical of much of contemporary architectural theory and practice.Alexander is known for many books on the design and building process, including Notes on the Synthesis of Form, A City is Not a Tree (first published as a paper and recently re-published in book form), The Timeless Way of Building, A New Theory of Urban Design, and The Oregon Experiment. More recently he published the four-volume The Nature of Order: An Essay on the Art of Building and the Nature of the Universe, about his newer theories of "morphogenetic" processes, and The Battle for the Life and Beauty of the Earth, about the implementation of his theories in a large building project in Japan. All his works are developed or accumulated from his previous works, so his works should be read as a whole rather than fragmented pieces. His life's work or the best of his works is The Nature of Order on which he spent about 30 years, and the very first version of The Nature of Order was done in 1981, one year before this famous debate with Peter Eisenman in Harvard.

Alexander is perhaps best known for his 1977 book A Pattern Language, a perennial seller some four decades after publication. Reasoning that users are more sensitive to their needs than any architect could be, he produced and validated (in collaboration with his students Sara Ishikawa, Murray Silverstein, Max Jacobson, Ingrid King, and Shlomo Angel) a "pattern language" to empower anyone to design and build at any scale.

Enterprise Collaboration Architecture

The first version of the Enterprise Collaboration Architecture (ECA) has been published by the Object Management Group (OMG) in 2001.

The vision of the (ECA) is to simplify the development of component based and services oriented systems by providing a modeling framework aligned with the model-driven architecture (MDA) of the Object Management Group (OMG).

The ECA thus provides a modeling framework for technology neutral business process design followed by implementation mappings onto the chosen architecture and technologies. It requires bi-directional traceability across the specification, implementation and operation.

The ECA specifies a set of UML models used to model different aspects (e.g. static and dynamic aspects) of the system and a set of viewpoints addressing different concerns (e.g. business, engineering, technology, ...).

Enterprise architecture framework

An enterprise architecture framework (EA framework) defines how to create and use an enterprise architecture. An architecture framework provides principles and practices for creating and using the architecture description of a system. It structures architects' thinking by dividing the architecture description into domains, layers, or views, and offers models - typically matrices and diagrams - for documenting each view. This allows for making systemic design decisions on all the components of the system and making long-term decisions around new design requirements, sustainability, and support.

Enterprise modelling

Enterprise modelling is the abstract representation, description and definition of the structure, processes, information and resources of an identifiable business, government body, or other large organization.It deals with the process of understanding an organization and improving its performance through creation and analysis of enterprise models. This includes the modelling of the relevant business domain (usually relatively stable), business processes (usually more volatile), and uses of information technology within the business domain and its processes.

IEEE 1471

IEEE 1471 is a superseded IEEE Standard for describing the architecture of a "software-intensive system", also known as software architecture.

In 2011 it was superseded by ISO/IEC/IEEE 42010:2011, Systems and software engineering — Architecture description.

ISO/IEC 42010

ISO/IEC/IEEE 42010 Systems and software engineering — Architecture description is an international standard for architecture descriptions of systems and software.


ISO/IEC JTC 1/SC 7 Software and systems engineering is a standardization subcommittee of the Joint Technical Committee ISO/IEC JTC 1 of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), that develops and facilitates standards within the field of engineering of software products and systems. The international secretariat of ISO/IEC JTC 1/SC 7 is the Bureau of Indian Standards (BIS) located in India.

Profile (UML)

A profile in the Unified Modeling Language (UML) provides a generic extension mechanism for customizing UML models for particular domains and platforms. Extension mechanisms allow refining standard semantics in strictly additive manner, preventing them from contradicting standard semantics.Profiles are defined using stereotypes, tag definitions, and constraints which are applied to specific model elements, like Classes, Attributes, Operations, and Activities. A Profile is a collection of such extensions that collectively customize UML for a particular domain (e.g., aerospace, healthcare, financial) or platform (J2EE, .NET).

Software architecture description

Software architecture description is the set of practices for expressing, communicating and analysing software architectures (also called architectural rendering), and the result of applying such practices through a work product expressing a software architecture (ISO/IEC/IEEE 42010).

Architecture descriptions (ADs) are also sometimes referred to as architecture representations, architecture specifications

or software architecture documentation.

Transparency (human–computer interaction)

Any change in a computing system, such as a new feature or new component, is transparent if the system after change adheres to previous external interface as much as possible while changing its internal behaviour. The purpose is to shield from change all systems (or human users) on the other end of the interface. Confusingly, the term refers to overall invisibility of the component, it does not refer to visibility of component's internals (as in white box or open system). The term transparent is widely used in computing marketing in substitution of the term invisible, since the term invisible has a bad connotation (usually seen as something that the user can't see and has no control over) while the term transparent has a good connotation (usually associated with not hiding anything). The vast majority of the times, the term transparent is used in a misleading way to refer to the actual invisibility of a computing process. Because of this misleading and counter-intuitive definition, modern computer literature tends to prefer use of "agnostic" over "transparent".

The term is used particularly often with regard to an abstraction layer that is invisible either from its upper or lower neighbouring layer.

Also temporarily used later around 1969 in IBM and Honeywell programming manuals the term referred to a certain computer programming technique. An application code was transparent when it was clear of the low-level detail (such as device-specific management) and contained only the logic solving a main problem. It was achieved through encapsulation – putting the code into modules that hid internal details, making them invisible for the main application.

Treasury Information System Architecture Framework

The Treasury Information System Architecture Framework (TISAF) is an early 1990s Enterprise Architecture framework to assist US Treasury Bureaus to develop their Enterprise Information System Architectures (EISAs).The TISAF was developed by the US Department of the Treasury in 1997, and let to the development of the Treasury Enterprise Architecture Framework, released in 2000. The TEAF represents the second-generation framework for Treasury. TISAF was the first-generation framework.

Triune continuum paradigm

The Triune continuum paradigm is a paradigm for general system modeling published in 2002. The paradigm allows for building of rigorous conceptual frameworks employed for systems modeling in various application contexts (highly tailored as well as interdisciplinary).

View model

A view model or viewpoints framework in systems engineering, software engineering, and enterprise engineering is a framework which defines a coherent set of views to be used in the construction of a system architecture, software architecture, or enterprise architecture. A view is a representation of a whole system from the perspective of a related set of concerns.Since the early 1990s there have been a number of efforts to prescribe approaches for describing and analyzing system architectures. These recent efforts define a set of views (or viewpoints). They are sometimes referred to as architecture frameworks or enterprise architecture frameworks, but are usually called "view models".

Usually a view is a work product that presents specific architecture data for a given system. However, the same term is sometimes used to refer to a view definition, including the particular viewpoint and the corresponding guidance that defines each concrete view. The term view model is related to view definitions.

ISO standards by standard number

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.