On the unification power of models

In November 2000, the OMG made public the MDA™initiative, a particular variant of a new global trend called MDE (Model Driven Engineering). The basic ideas of MDA are germane to many other approaches such as generative programming, domain specific languages, model-integrated computing, generic model management, software factories, etc. MDA may be defined as the realization of MDE principles around a set of OMG standards like MOF, XMI, OCL, UML, CWM, SPEM, etc. MDE is presently making several promises about the potential benefits that could be reaped from a move from code-centric to model-based practices. When we observe these claims, we may wonder when they may be satisfied: on the short, medium or long term or even never perhaps for some of them. This paper tries to propose a vision of the development of MDE based on some lessons learnt in the past 30 years in the development of object technology. The main message is that a basic principle (“Everything is an object”) was most helpful in driving the technology in the direction of simplicity, generality and power of integration. Similarly in MDE, the basic principle that “Everything is a model” has many interesting properties, among others the capacity to generate a realistic research agenda. We postulate here that two core relations (representation and conformance) are associated to this principle, as inheritance and instantiation were associated to the object unification principle in the class-based languages of the 80’s. We suggest that this may be most useful in understanding many questions about MDE in general and the MDA approach in particular. We provide some illustrative examples. The personal position taken in this paper would be useful if it could generate a critical debate on the research directions in MDE.

[1]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.

[2]  Richard Lemesle,et al.  Transformation rules based on meta-modeling , 1998, Proceedings Second International Enterprise Distributed Object Computing (Cat. No.98EX244).

[3]  Alan Borning,et al.  ThingLab: a constraint-oriented simulation laboratory , 1979 .

[4]  Jean Bézivin,et al.  Ontology-Based Layered Semantics for Precise OA&D Modeling , 1997, ECOOP Workshops.

[5]  C. Pollard,et al.  Center for the Study of Language and Information , 2022 .

[6]  Robert W. Floyd,et al.  Assigning meaning to programs , 1967 .

[7]  Ralf Lämmel,et al.  Towards an engineering discipline for GRAMMARWARE Draft as of August 17 , 2003 , 2003 .

[8]  Brian Cantwell Smith,et al.  Limits of Correctness in Computers , 1991, Computerization and Controversy, 2nd Ed..

[9]  Jean Bézivin,et al.  Towards a precise definition of the OMG/MDA framework , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[10]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[11]  Dave A. Thomas,et al.  MDA: revenge of the modelers or UML utopia? , 2004, IEEE Software.

[12]  Jeff Rothenberg,et al.  The nature of modeling , 1989 .

[13]  Jeff Rothenberg,et al.  PROTOTYPING AS MODELING: WHAT IS BEING MODELED? , 1991 .

[14]  Jean Bézivin,et al.  From Object Composition to Model Transformation with the MDA , 2001, TOOLS.

[15]  Michael Jackson,et al.  The World and the Machine , 1995, 1995 17th International Conference on Software Engineering.

[16]  Ed Seidewitz,et al.  What Models Mean , 2003, IEEE Softw..

[17]  Bernhard Ganter,et al.  Conceptual Structures: Logical, Linguistic, and Computational Issues , 2000, Lecture Notes in Computer Science.

[18]  John F. Sowa,et al.  Ontology, Metadata, and Semiotics , 2000, ICCS.

[19]  Robert C. Spicer,et al.  Author's biography , 1993 .