Modeling and Metamodeling
Metamodeling
<Back to Themes & Resources page>
- Meta-something is something about something (replace something by any name pertaining to philosophy, mathematics or computer science). For instance, a meta-language is a language that allows us to define languages (their syntax and sometimes their semantics). Metadata are data that describe the structure and other properties of data (generally user data). An interesting aspect of meta-something is that it should describe itself: since meta-something describes any kind of something, and meta-something being something, we should be able to use meta-something to describe meta-something. It seems to be pure brain teasing but this observation has practical consequences. For instance, the table of tables (generically named SYS_TABLE) in the catalog of any relational database is a metatable that contains metadata. It includes a row that describes this table itself.
- The domain of database engineering makes intensive use of meta-level concepts. For instance any CASE tool includes some sort of database in which it stores its data. This database contains descriptions of schemas, among others. These descriptions are metadata. This database bears several names according to the community that uses it, namely metadatabase, metabase, (metadata) repository, model base or encyclopedia (this one a bit outdated).
- The term meta-model designates a model that is used to describe other models. Since the database community prefers the term schema instead of model (the latter having another interpretation, as in relational model), this proposition translate as follows: the term meta-schema designates a schema that is used to describe other schemas. If all this seems a bit complicated, just remember that, considering a definite database with schema S and contents (the data) D: D is an instance of S, S is an instance of MS and MS is an instance of . . . MS itself. Unless you want to introduce the concept of metametaschema! Not a bad idea but you should stop at some times: the sooner the better.
- In fact, defining a model as an instance of a metamodel is not the only way to describe a model. Another technique consists in using a generic model G that encompasses all the concepts and structures of a family of more specific models. Each specific model M is then defined as a specialization of G. The specialization process consists in selecting in G the objects pertinent for M, then stating the assembly constraints that defines valid schemas in M (this process is described, a.o., in [P05-08] and [P05-11]).
- We describe in the following four contributions to the theme of metamodeling.
- The Generic Entity-relationship (GER) model. The GER model is a wide spectrum model that encompasses several levels of abstraction (e.g., conceptual, logical, physical) and, at each level, several paradigms (e.g., ER, UML, SQL2, SQL3, XML, standard files, CODASYL, IMS, etc.) It is described in references [P89-01] and [P06-10]. Defining specific models from the GER is done through specialization.
- The DB-MAIN CASE tool. DB-MAIN includes a repository (or metabase, or referential) inspired by the GER model. It stores projects, data schemas, processing schemas and methods. Working on the repository, notably through the Voyager 2 or Java languages, makes it possible to add new object types to the DB-MAIN metaschema and to develop new functions. Some aspects of the repository and its extensibility are described in references [P99-03] and [P99-06]. The documentation of DB-MAIN includes a programming manual for Voyager 2 and Java, as well as the specification of the repository schema [DB-MAIN].
- The METADONE metaCASE tool. Current research of VEN [P99-03], [P99-06], [PHD00], [P02-04], [07-06].
- The GISELE referential. The goal of the Gisele project (see [Research projects]) is the development of a software environment for the design, checking, validation and control of complex and critical medical care workflows involving many agents and processes. The mission of the LIBD is, among others, to design and develop the model base storing descriptions of workflow models, workflow cases, information, resources, organization entities, access control, evolution, goals and validation. The conceptual schema of the model base is described in [TR10-02] while its implementation is detailed in [P10-05].
- metamodel, metaCASE, metadata, model base, repository, catalog tables, DB-MAIN, Voyager 2, workflow modeling, clinical pathway modeling
- [P10-05] Anthony Cleve, Anne-France Brogneaux, Jean-Luc Hainaut. A Conceptual Approach to Database Applications Evolution, in Proceedings of the 29th International Conference on Conceptual Modeling (ER'2010), Lecture Notes in Computer Science No 6412, pages 132 - 145, Springer-Verlag, 2010. [description]
- [TR10-02] Jean-Luc Hainaut, Anne-France Brogneaux, Anthony Cleve, Base de modèles pour les itinéraires de soins, draft technical report, GISELE project, February 2009 [Description]
- [DB-MAIN] DB-MAIN CASE tool [DB-MAIN]
- [P07-06] Vincent ENGLEBERT, Patrick HEYMANS. Towards More Extensible MetaCASE Tools, in Lecture Notes in Computer Science, International Conference on Advanced Information Systems Engineering (CAiSE'07), volume 4495, pp. 454-468, 2007
- [P06-10] Jean-Luc Hainaut. The Transformational Approach to Database Engineering, in Generative and Transformational Techniques in Software Engineering, Lecture Notes in Computer Science, Volume 4143, pages 95-143, Springer, 2006. [description]
- [P05-11] Jean-Luc Hainaut. Transformation-based Database Engineering, in Transformation of Knowledge, Information and Data: Theory and Applications, pages 1-26, IDEA Group, 2005. [description] [full text]
- [P05-08] Jean-Luc Hainaut. Transformation-based Database Engineering, in Encyclopedia of Database Technologies and Applications, pages 707-713, IDEA Group, 2005. [description] [full text]
- [P02-04] Vincent ENGLEBERT. An OO interpretation of graphs as meta-CASE's Meta-meta-model, in Proceedings of the First International Conference on Graph Transformation, collection Electronic Notes in Theoretical Computer Science, 72(2), 2002.
- [PHD00] Vincent Englebert. A smart meta-CASE: towards an integrated solution, PhD Thesis, University of Namur, 2000 [Description and full text]
- [P99-06] Vincent Englebert and Jean-Luc Hainaut. DB-MAIN: A Next Generation Meta-CASE, Information Systems Journal, Special issue on meta-modelling and methodology engineering, 24(2): Pergamon, 1999. [description] [full text]
- [P99-03] Vincent Englebert and Jean-Luc Hainaut. GRASYLA: Modelling CASE tool GUIs in Meta-CASEs, in Proceedings of the 3rd International Conference on Computer-Aided Design of User Interface (CADUI’99), pages 217-230, Kluwer, 1999. [description] [full text]
- [P89-01] Jean-Luc Hainaut. A Generic Entity-Relationship Model, in Proceedings of the IFIP WG 8.1 Conference on Information System Concepts: an in-depth analysis, pages 109-138, North-Holland, 1989. [description] [full text]
<Back to Themes & Resources page>