| Where Does "End-to-end" End? | Table of contents | Indexes | Online Publishing using Topic Maps. The Case of Quid Encyclopedia | |||
Bézivin, Jean France ![]() Nantes ![]() University of Nantes | Jean Bézivin |
| Professor |
| University of Nantes |
| 2, rue de la Houssinière
B.P. 92208
Nantes
(Cedex 3, 44322)
France
Email: Jean.Bezivin@sciences.univ-nantes.fr |
| Biography |
Introduction |
On Meta-models and Ontologies |
| An ontology may contain information of different natures. Usually there are three kinds of information (layers) inside a given ontology: |
| Of course the UML practitioner has already recognized above the UML basic entity level, the OCL statement level and the graphical display level. |
The MOF: a Knowledge Bus |
| After CORBA and UML [12], we may observe now a third wave of proposals at OMG, characteristics of a new period and of a new reaction. At the center of this evolution, we find the MOF (Meta-Object Facility [6], [11]), unique and self-defined meta-meta-model. The MOF will be considered here as a knowledge bus, similar and complementary to the CORBA software code bus. |
| One possible interpretation of this is that model engineering is progressively becoming a mainstream technology and that models and meta-models are being recognized as first-class entities in the software development process. |
| The MOF has emerged from the recognition that UML was one possible meta-model in the software development landscape, but that it was not the only one. Facing the danger of having a variety of different meta-models emerging and independently evolving (data warehouse [10], workflow [15], software process, etc.), there was an urgent need for an integration framework for all meta-models in the software development scene. The answer was thus to provide a language for defining meta-models, i.e. a meta-meta-model. This is the purpose of the MOF. As a consequence, a layered architecture has emerged, with the following levels: |
| Some also consider a fourth layer called M0 for terminal instances, but this will not be used here. |
| UML has served as a trigger to introduce the MOF at OMG, in addition to CORBA. Officially, the Unified Modeling Language is a graphical language for visualizing, specifying, constructing and documenting the artifacts of a software-intensive system. For many, UML is much more than that and symbolizes the transition from code-centered to model-centered software production techniques. It is very likely that, in a historical perspective, UML will be given credit for the new perspectives opened as well as for the direct achievements realized as a modeling notation. The mutual relations of UML and the MOF are further discussed in a further section. |
Towards an Abstract Model Architecture |
| As previously described, a framework is being built upon the MOF. This framework is going to have a central place in the forthcoming software development environments. This is why we need to understand clearly the key concepts involved. |
| A meta-modeling architecture is an architecture with the three basic properties: |
| All the practical proposals more or less implement this. At the top-level of such architecture, there is always a meta-object facility kernel (fixed-point definition space). This should contain at least the three following features: |
| It is unfortunate that many of the practical systems use the word "class" instead of "entity" from the start. Much confusion may result as this framework is intended to take into account different class-based meta-models, each one having in turn its own definition of what a class is. |
| The three mentioned concepts are all that we need for a minimal conceptual meta-meta-model kernel. Unfortunately again, the search for minimality has not always been the main criteria for the definition of industrial meta-object facilities. Therefore, concepts that are not always core concepts may be found in basic layers. |
Some Examples of Meta-Object Facility Systems |
| Throughout this paper we mention the MOF, the unique meta-meta-model of OMG. However, in order to be fair and complete, we should also mention that similar meta-model architectures are being used outside OMG. Microsoft is conducting one of the most important efforts, recently sharing them with the Meta-Data Coalition. This section rapidly describes it and shows that the abstract concepts are similar, within a different industrial strategy. The OIM (Open Information Model, [9]) officially aims to support tool interoperability via a shared information model, across technologies. It is designed to encompass all phases of a project's development lifecycle, from analysis through deployment. |
| The Microsoft model architecture is also based on a meta-meta-model. It is called RTIM (for Repository Type Information Model) playing conceptually the same role as the OMG MOF. The RTIM proprietary meta-meta-model is implicitly used in the various OIM meta-models. The OIM entities represent meta-models and the links between them defines dependencies. Each meta-model is composed of interfaces and classes. A dependency link from meta-model A to meta-model B means that interfaces in A may inherit interfaces in B or that classes in B may support interfaces in A. |
| The nature of Microsoft ontologies is very specific: Uml stands for the initial UML version 1.0 defined at OMG. Umx is Microsoft own extension of UML, taking into account, for example, some extensions of UML 1.1 and later. Dtm is a Data Type Model, a set of Uml extensions for common data types. Cde (Component Description Model) describes generic executable components, Gen a set of general-purpose interfaces, Dbn a set of generic database concepts, Ocl a set of Oracle specific extensions to Dbm, Tfm a description of movement operations on data between databases, etc. Recent agreements between Microsoft and the Meta-Data Coalition could bring more meta-models to this architecture, like a business rule meta-model. |
Revisiting UML and MOF Relations |
| On very practical grounds, UML is considered, at level M3, as a drawing tool by MOF practitioners, i.e. by designers of meta-models. More precisely, the MOF is also structurally similar to the kernel of UML, the CORE package. There is no theoretical reason for this. It is just more convenient: no need to define new tools to draw meta-models: the UML tools, mainly intended to support the design of UML models could as well be used in support of MOF meta-models. Note however that the design of meta-models is an activity much less frequent than the design of UML models; furthermore it is an activity performed by a more limited and specialized population. |
| UML is a practical tool now but it has also served as an experimentation platform. As previously mentioned, the self-definition of UML was an interesting exercise and was successful per se. However, it also demonstrated that the applicability of this technique could be made broader than just the handling of software artifacts. Consequently, a new architecture was defined around the MOF. This architecture is complex and still evolving, but it could be compared to CORBA by its central role for defining OMG recommendations. |
| The MOF uses UML in various ways, for example for graphical presentations. However, the main difference is that the MOF and UML are not at the same level in the OMG architecture model. The MOF is a meta-meta-model and is at the level M3 while UML is a meta-model and stands at level M2. The MOF is a language for defining meta-models and UML is just one of these meta-models. Other meta-models that are being defined at the level M2 are for example related to common warehouse, workflow, software process, etc. |
| UML has been instrumental in triggering the development of a new modeling architecture based on the MOF. Many ideas have been successfully tested on UML and then transferred to the MOF because they were found to be of broader applicability. The first one is the OCL (Object Constraint Language [16]). OCL is an expression language that enables one to describe constraints on object-oriented models and other artifacts. The word constraint is used here with the meaning of a precisely identified restriction on one or more values of a model. We see here a pleasant property of the global OMG modeling architecture. Since a meta-meta-model is structurally similar to a meta-model, features applied to one may also be applied to the other one. Therefore, OCL, which could be applied to meta-models to give more precise semantics to models, could also be applied to meta-meta-models to give more precise semantics to meta-models. This is exactly what happens when OCL is applied at the MOF level. |
| Another example is the answer to the SMIF RFP ("Serial Model Interchange Format" Request For Proposal) of the OMG [13]. Initially the purpose of the Stream-based Model Interchange Format was mainly to exchange UML models. As it has finally been issued, answered and approved, the proposal is being known as XMI, a new standard for Meta-data Interchange based on XML and on the MOF. Once again, there is nothing to loose, if by providing a technical solution to a specific UML problem, it is possible to provide a more general solution that could be applied to the UML meta-model, as well as to other meta-models already defined or yet to be proposed. XMI is now a standard way ofexchanging any kind of models and meta-models. |
| Many more examples could be given of this trend. There are for example several demands to provide structured extension mechanisms for UML, going beyond single stereotypes, tagged values and constraints. Requests are being submitted for specialized UML-based meta-models on subjects like real-time or business objects. A possible answer to this would be some notion of profiles. In the case where this improvement is allowed to the UML meta-model, there is no reason that the other MOF-compliant meta-models should not also benefit from the added modular modeling mechanisms. A UML profile may be defined as a subset or a superset of the basic meta-model. There is however no agreement yet on the way this notion of a profile could be defined (restriction profiles, extension profiles, combination of profiles, etc). When a general solution to this problem is found, then we may envision important hierarchies of meta-models, allowing a good compromise between standardization and openness. |
On the Duality of Model Spaces |
| It is interesting to remark that two independent technological evolution movements are now reaching a meeting point. On one side, applied model engineering has much matured in the last ten years. The proposals of the UML and the MOF have been made in a very short period of time and correspond to a strong and urgent demand from the software engineering industrial community. On the other side, the story of HTML, XML and XSL is now well known and these technical solutions have emerged at the same time in different places, for different needs. |
| One important step was made when it was observed that the relation between an XML document and its DTD was somewhat similar to the relation between a model and a meta-model or between a meta-model and a meta-meta-model like the MOF. XMI may be seen as an outcome of this observation. |
| It is common now to think about a model expressed either in a given abstract syntax or in a concrete syntax. A UML graphical model for example may be considered to be expressed in an abstract syntax. The new situation arises from the observation that XML has now become the common denominator for concrete syntax. The consequences of this are tremendous and the synergy between the XML technology and the model engineering technology is likely to increase rapidly. |
| The merging point between these technological families is being concretized by the XMI proposal. However all of the consequences of this merge are not yet completely understood. In some cases we have not yet seen the full impact of the synergy. In other cases we may face some confliction situations when each family has its own vision of a specific aspect and when these visions conflict. We give below a short list of some points that we are presently investigating. |
|
Conclusion |
| The move from procedural technology to object technology may have triggered a more radical change in our way of considering information systems and of conduction software engineering operations. One of the considered evolution path is called model engineering. It consists in giving a first-class status to models similarly to the first class status that was offered to objects at the beginning of the object technology era. |
| The promises for unification and simplicity initially made by object technologists in the late eighties seem to have fallen short. When we consider today the task of building a system from components, it is at least as complex as it was with the previous technology. Taking into account a lot of new software attributes (e.g. QoS attributes) is making this task even more difficult. It is becoming obvious that we need some solution to cope with this rapidly increasing complexity. |
| The recognition of multiple, co-existing meta-models is an important step forward in software engineering and information technology. That means that at some given point in time, an engineer may be dealing with several models (i.e. a Java model and an UML model), all of them defined by a precise meta-model, and all of these meta-models based on the same meta-meta-model. A similar software process meta-model may also describe the action undertaken by this engineer. As a consequence, model engineering may become a transition as important as object technology for the software industry. |
| The transition to model engineering has been rapid in the last period, characterized by the adoption of the UML and the MOF. It has recently been enforced with the help of the XML technology family. Initially targeted to document handling and to Web-support, XML is now giving a high momentum to the whole field of model engineering. Once some problems like modularity will be solved, the application domain of the joint technologies is likely to broaden rapidly. |
References |
|
| Where Does "End-to-end" End? | Table of contents | Indexes | Online Publishing using Topic Maps. The Case of Quid Encyclopedia | |||