RM-ODP
Encyclopedia
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) .
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:
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.
(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.
ISO/IEC International Standards:
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:
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)
.
Reference Model
A reference model in systems, enterprise, and software engineering is a model of something that embodies the basic goal or idea of something and can then be looked at as a reference for various purposes.- Overview :...
in computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
, which provides a co-ordinating framework for the standardization of open
Open system (computing)
Open systems are computer systems that provide some combination of interoperability, portability, and open software standards. The term was popularized in the early 1980s, mainly to describe systems based on Unix,...
distributed processing (ODP). It supports distribution, interworking
Interoperability
Interoperability is a property referring to the ability of diverse systems and organizations to work together . The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and organizational factors that impact system to...
, platform
Platform (computing)
A computing platform includes some sort of hardware architecture and a software framework , where the combination allows software, particularly application software, to run...
and technology independence, and portability
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...
, 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
International Organization for Standardization
The International Organization for Standardization , widely known as ISO, is an international standard-setting body composed of representatives from various national standards organizations. Founded on February 23, 1947, the organization promulgates worldwide proprietary, industrial and commercial...
(ISO), the International Electrotechnical Commission
International Electrotechnical Commission
The International Electrotechnical Commission is a non-profit, non-governmental international standards organization that prepares and publishes International Standards for all electrical, electronic and related technologies – collectively known as "electrotechnology"...
(IEC) and the Telecommunication Standardization Sector
ITU-T
The ITU Telecommunication Standardization Sector is one of the three sectors of the International Telecommunication Union ; it coordinates standards for telecommunications....
(ITU-T) .
Overview
The RM-ODP is a reference modelReference Model
A reference model in systems, enterprise, and software engineering is a model of something that embodies the basic goal or idea of something and can then be looked at as a reference for various purposes.- Overview :...
based on precise concepts derived from current distributed processing developments and, as far as possible, on the use of formal description techniques
Formal methods
In computer science and software engineering, formal methods are a particular kind of mathematically-based techniques for the specification, development and verification of software and hardware systems...
for specification of the architecture
Enterprise architecture
An enterprise architecture is a rigorous description of the structure of an enterprise, which comprises enterprise components , the externally visible properties of those components, and the relationships between them...
. 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
Mario Bunge
Mario Augusto Bunge is an Argentine philosopher and physicist mainly active in Canada.-Biography:Bunge began his studies at the National University of La Plata, graduating with a Ph.D. in physico-mathematical sciences in 1952. He was professor of theoretical physics and philosophy,...
) and in systems thinking
Systems thinking
Systems thinking is the process of understanding how things influence one another within a whole. In nature, systems thinking examples include ecosystems in which various elements such as air, water, movement, plants, and animals work together to survive or perish...
(for example, in the works of Friedrich Hayek
Friedrich Hayek
Friedrich August Hayek CH , born in Austria-Hungary as Friedrich August von Hayek, was an economist and philosopher best known for his defense of classical liberalism and free-market capitalism against socialist and collectivist thought...
). Some of these concepts -- such as abstraction
Abstraction
Abstraction is a process by which higher concepts are derived from the usage and classification of literal concepts, first principles, or other methods....
, composition, and emergence
Emergence
In philosophy, systems theory, science, and art, emergence is the way complex systems and patterns arise out of a multiplicity of relatively simple interactions. Emergence is central to the theories of integrative levels and of complex systems....
-- have recently been provided with a solid mathematical foundation in category theory
Category theory
Category theory is an area of study in mathematics that examines in an abstract way the properties of particular mathematical concepts, by formalising them as collections of objects and arrows , where these collections satisfy certain basic conditions...
.
RM-ODP has four fundamental elements:
- an object modelling approachObject-oriented analysis and designObject-oriented analysis and design is a software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterised by its class, its state , and its behavior...
to system specification; - the specification of a system in terms of separate but interrelated viewpoint specifications;
- the definition of a system infrastructure providing distribution transparenciesTransparency (computing)Any change in a computing system, such as 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 on the other end of the interface...
for system applications; and - a framework for assessing system conformanceConformance testingConformance testing or type testing is testing to determine whether a product or system meets some specified standard that has been developed for efficiency or interoperability....
.
The RM-ODP family of recommendations and international standards defines a system of interrelated essential concepts necessary to specify open
Open system (computing)
Open systems are computer systems that provide some combination of interoperability, portability, and open software standards. The term was popularized in the early 1980s, mainly to describe systems based on Unix,...
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 (ANSA) project. This ran from 1984 until 1998 under the leadership of Andrew HerbertAndrew Herbert
Andrew James Herbert OBE is a British computer scientist, formerly Chairman of Microsoft Research, for the Europe, Middle East and Africa region.- Biography :...
(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 standards
RM-ODP consists of four basic ITU-T Recommendations andISO/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 (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.
- 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
IEEE 1471
IEEE 1471 is an IEEE Standard for describing the architecture of a software-intensive system, also known as software architecture.- Overview :...
, 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
4+1
4+1 is a view model designed by Philippe Kruchten for "describing the architecture of software-intensive systems, based on the use of multiple, concurrent views". The views are used to describe the system from the viewpoint of different stakeholders, such as end-users, developers and project...
, the Zachman Framework
Zachman framework
The Zachman Framework is an Enterprise Architecture framework for enterprise architecture, which provides a formal and highly structured way of viewing and defining an enterprise...
, TOGAF
TOGAF
The Open Group Architecture Framework is a framework for enterprise architecture which provides a comprehensive approach for designing, planning, implementation, and governance of an enterprise information architecture...
, DoDAF and, of course, RM-ODP.
A viewpoint
Viewpoint
Viewpoint may refer to:* A camera angle in photography, filmmaking, and other visual arts* Viewpoint model, a computer science technique for making complex systems more comprehensible to human engineers* Viewpoint , shooter video game...
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.
RM-ODP and UML
Currently there is growing interest in the use of UMLUnified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
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
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
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
Zachman framework
The Zachman Framework is an Enterprise Architecture framework for enterprise architecture, which provides a formal and highly structured way of viewing and defining an enterprise...
, the "4+1
4+1
4+1 is a view model designed by Philippe Kruchten for "describing the architecture of software-intensive systems, based on the use of multiple, concurrent views". The views are used to describe the system from the viewpoint of different stakeholders, such as end-users, developers and project...
" 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
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
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
Profile (UML)
A profile in the Unified Modeling Language provides a generic extension mechanism for customizing UML models for particular domains and platforms...
, 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
Enterprise architecture
An enterprise architecture is a rigorous description of the structure of an enterprise, which comprises enterprise components , the externally visible properties of those components, and the relationships between them...
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
Model-driven architecture
Model-driven architecture is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of...
initiative from the OMG, and with the service-oriented architecture (SOA)
Service-orientation
Service-orientation is a design paradigm to build computer software in the form of services. Like other design paradigms , service-orientation provides a governing approach to automate business logic as distributed systems...
.
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 (RASDS) From the Consultative Committee for Space Data Systems.
- Interoperability Technology Association for Information Processing (INTAP), Japan.
- The Synapses European project.
See also
- Enterprise Architecture framework
- Enterprise Collaboration ArchitectureEnterprise Collaboration ArchitectureThe first version of the Enterprise Collaboration Architecture has been published by the Object Management Group in 2004.The vision of the is to simplify the development of component based and services oriented systems by providing a modeling framework aligned with the Model Driven Architecture ...
- Enterprise Modelling Methodology/Open Distributed Processing (EMM/ODP)
- Reference modelReference ModelA reference model in systems, enterprise, and software engineering is a model of something that embodies the basic goal or idea of something and can then be looked at as a reference for various purposes.- Overview :...
- Triune Continuum ParadigmTriune Continuum ParadigmThe 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 .- Introduction :As it is defined in the Cambridge Dictionary of Philosophy:...
- View modelView modelA 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...
External links
- RM-ODP Resource site
- Open Distributed Processing - Reference Model
- RM-ODP information at LAMS, Swiss Federal Institute of Technology, Lausanne (EPFL), Switzerland.
- Official Record of the ANSA project
- Computing Laboratory, University of Kent, Canterbury UK.
- FORMOSA (Formalisation of ODP Systems Architecture), University of Stirling, UK.
- Systèmes Répartis et Coopératifs, UMPC, Paris, France.
- ILR, Networks and ComputerScience Department of ENST, Paris France.
- Distributed Systems Technology Center, Australia.