Reference Model of Open Distributed Processing is a reference model in computer science,
which provides a co-ordinating framework for the standardization of open distributed processing.
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, the International Electrotechnical Commission and the Telecommunication Standardization
Sector .
Overview 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 and in systems thinking.
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.
History 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 project.
This ran from 1984 until 1998 under the leadership of Andrew Herbert, 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:
Overview: 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.
Foundations: Contains the definition of the concepts and analytical framework for normalized
description of 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.
Architecture: 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.
Architectural Semantics: 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.
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.
RM-ODP and UML 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 defines use of the Unified Modeling Language 2, 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 initiative from the OMG, and with the service-oriented
architecture.
Applications In addition, there are several projects that
have used or currently use RM-ODP for effectively structuring their systems specifications:
The COMBINE project The Reference Architecture for Space Data
Systems From the Consultative Committee for Space Data Systems.
Interoperability Technology Association for Information Processing, Japan.
The Synapses European project.
See also Enterprise Architecture framework
Enterprise Collaboration Architecture Enterprise Modelling Methodology/Open Distributed
Processing Reference model
Triune Continuum Paradigm View model
ISO/IEC JTC 1/SC 7 Notes and references
External links RM-ODP Resource site
Open Distributed Processing - Reference Model RM-ODP information at LAMS, Swiss Federal
Institute of Technology, Lausanne, Switzerland.
Official Record of the ANSA project Computing Laboratory, University of Kent,
Canterbury UK.
FORMOSA, University of Stirling, UK.
Distributed and Cooperative Systems, UMPC, Paris, France.
ILR, Networks and ComputerScience Department of ENST, Paris France.
Distributed Systems Technology Center, Australia.