Dbm (discuter | contributions) m |
Dbm (discuter | contributions) m |
||
Ligne 4 : | Ligne 4 : | ||
: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-data 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. | :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-data 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 . . . itself! | + | :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 . . . itself! Unless you want to introduce the concept of metametaschema! Not a bad idea but you should stop at some times: the sooner the best! |
:We describe in the following four contributions to the theme of meta-modeling. | :We describe in the following four contributions to the theme of meta-modeling. | ||
− | :*The GER model [P89-01] [P06-10] | + | :*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. |
− | :*DB-MAIN [P99-03] [P99-06] [DB-MAIN] | + | :*The DB-MAIN CASE tool includes a repository (metabase) in which project, data schemas, processing schemas and methods are stored. 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] |