Dbm (discuter | contributions) m |
Dbm (discuter | contributions) m |
||
Ligne 2 : | Ligne 2 : | ||
===<big>Metamodeling</big>=== | ===<big>Metamodeling</big>=== | ||
*'''Description''' | *'''Description''' | ||
− | :Meta-''something'' is ''something'' about ''somethink''. For instance, a meta-language is a language that allows us to define languages (their syntax and sometimes their semantics). | + | :Meta-''something'' is ''something'' about ''somethink'' (replace ''somethink'' by any name pertaining to philosophy 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 much 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 domain of database engineering makes much 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 schema. If all this seems a bit complicated, just remember that, considering a definite database with schema '''S''' and contents (the ''data'') '''D''': (1) '''D''' is an instance of '''S''', (2) '''S''' is an instance of '''MS''', and (3) '''MS''' is an instance of . . . | + | :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 schema. If all this seems a bit complicated, just remember that, considering a definite database with schema '''S''' and contents (the ''data'') '''D''': (1) '''D''' is an instance of '''S''', (2) '''S''' is an instance of '''MS''', and (3) '''MS''' is an instance of . . . '''MS'''! Unless you want to introduce the concept of metametaschema! Not a bad idea but you should stop at some times: the sooner the better! |
− | :We describe in the following four contributions to the theme of | + | :We describe in the following four contributions to the theme of metamodeling. |
:*The Generic Entity-relationship (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]. The GER model is not exactly a metamodel, since all the data models mentioned above are not instances of the GER but rather specializations. | :*The Generic Entity-relationship (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]. The GER model is not exactly a metamodel, since all the data models mentioned above are not instances of the GER but rather specializations. | ||
− | :*The DB-MAIN CASE tool includes a repository (metabase) | + | :*The DB-MAIN CASE tool includes a repository (metabase) 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]. |
:*travaux actuels de VEN [PHD00] | :*travaux actuels de VEN [PHD00] | ||
:*Gisele [TR10-02] [P10-05] | :*Gisele [TR10-02] [P10-05] |