
Metamodeling and development of information systems Metamodelování a vývoj informaèních systémù M. PÍCKA Czech University of Agriculture, Prague, Czech Republic Abstract: Metamodeling is becaming an important part of information systems development. When metamodeling we are working with metamodel which define the syntax and the semantics of models. There are a lot of standards for definition of metamodel e.g. COMMA, GOPRR, MOF. Metamodeling is used for defining and creating of new methodologies, their implementation into CASE and metaCASE tools. Metamodeling is used for manipulation of data and metadata and for optimalization of information’s system design with utilization of generic models. The aims of this article are: to discusse fundamental concepts of metamodeling, demonstrate some theoretically and practically important meta-metamodels and to position metamodeling principles in the development of information systems. Key words: model, metamodel, meta-metamodel, metamodeling, methodology, metaCASE, MOF, COMMA, GOPRR, generic model Abstrakt: Metamodelování se stává dùleitým nástrojem pøi tvorbì informaèních systémù. Pøi metamodelování pracujeme s metamodelem, který zachycuje syntaxi a sémantiku modelu. Pro definici metamodelu existuje mnoho více èi ménì rozíøe- ných standardù, jako napø. COMMA, GOPRR a MOF. Metamodelování se pouívá pøi tvorbì nových metodologií, pøí vytváøení CASE a metaCASE nástrojù, pøi manipulaci s daty a metadaty a pøi optimalizaci návrhu informaèního systému pomocí generického modelu. Cílem tohoto èlánku je ukázat základní koncepty metamodelování, nìkteré teoreticky a prakticky významné meta-metamodely a pouití principù metamodelování pøi tvorbì informaèních systémù. Klíèová slova: model, metamodel, meta-metamodel, metamodelování, metodologie, metaCASE, MOF, COMMA, GOPRR, generický model FOREWORD model and we use them for metamodeling new methodol- ogies. The methodology for designing new method is Today, when modern software programming tools are called metamethod. Programs can be generated from available in the market, it may look, that information sys- metadata. Even we can program (or better metaprogram) tems analysis and development are easier than in the in metaprogramming languages. past. This statement might be true, but only when user To understand the meaning of the word, there are en- requirements are still the same and are well defined. But, cyclopedias and there we see that meta- is a prefix origi- in the area of agricultural information systems, there is a nating from Greek language and it means beyond or after significant demand for software support of new business (spatially). The other meaning of this word (fundamental processes, the need for data structures being very com- for information systems) one level of abstraction high- plex, time dependent etc. This is in contrast with the er- is that metadata is data defining another data, meta- more conventional requirements, as they are usually model is a model describing concepts used in another simpler but typically use more data. This means that the model (the model of models). On the other hand, a meta- most complicated step in any agricultural information system is not the system composed of other systems. system is to perform system analysis, which must be fast This is a typical misinterpretation of the meta concept. and seamless. METAMODEL ARCHITECTURE INTRODUCTION INTO META According to MOF specification, the classical frame- At present, the new modern word (or rather prefix) work for metamodeling is based on an architecture with appears to be meta-. We are providing operations with four metalayers. These layers are conventionally de- metadata. We have a metaCASE tool driven by the meta- scribed as follows: The contibution presented at the international conference Agrarian Perspectives XII (CUA Prague, September 1819, 2003). AGRIC. ECON. – CZECH, 50, 2004 (2): 65–70 65 – The information layer is comprised of the data that we the corresponding model for simple composition between wish to describe. an employee and a car (i.e. instances of Employee and – The model layer is comprised of the metadata that de- Car) along with its metamodel for describing and hard- scribe data in the information layer. Metadata are infor- wired meta-metamodel. The layer of metamodel consists mally aggregated as models. of meta-metadata that describe the nature of Class, Com- – The metamodel layer is comprised of the descriptions position and Attribute and their relationships. The top (i.e., meta-metadata) that define the structure and se- layer consists of the hard-wired meta-metamodel, that mantics of metadata. Meta-metadata is informally ag- defines the metamodeling constructs (e.g., meta-Class- gregated as metamodels. – A metamodel is an “abstract es and meta-Attributes). language” for describing different kinds of data; that is, While the example shows only one model and one a language without a concrete syntax or notation. metamodel, the main aim of having four meta- layers is to – The meta-metamodel layer is comprised of the descrip- support multiple models and metamodels. Just as the tion of the structure and semantics of meta-metadata. class Car describes many Car instances at the informa- In other words, it is the “abstract language” for defin- tion level, the Class metamodel can describe many class- ing different kinds of metadata. es at the model level. Similarly, the meta-metamodel level can describe many other metamodels. These metamod- The classical four layer meta-modeling framework is il- els that represent other kinds of metadata describing oth- lustrated in Figure 1. This example shows metadata and er kinds of information. ete-meta Hardwired meta-matamodel metamodel model layer model Attribute Class whole Composition class Attribute name name name ... ... ... MetaClass (Attribute MetaAttribute(name), String); MetaClass (Class MetaAttribute(name), String); MetaClass (Composition MetaAttribute(name), String); MetaAssociation (AssociationClass MetaAssociationEnd(whole) Car Employee type name assignedCar color suname registration model meta-metadata metamodel meta- ... ... ... Class (Employee Attribute(name), String); Attribute(subname), String); adata Class (Car; ...); Composition (assignedCar, Employee, Car) Jan Novák Octavia, green, AHK 78 05 Josef Horák Fabia, black, 1A1 02542 layer Karel Jonák Favorit, white, AEH 78 05 information met informationlayer model layer metamodel m Figure 1. Four layer metadata architecture 66 AGRIC. ECON. – CZECH, 50, 2004 (2): 65–70 The classical four layer metadata architecture has a modeling framework and then to implement it into a number of advantages over simple modeling approach- CAME (Computer Aided Method Engineering) tool. es. If the framework is designed appropriately: Primary concepts of GOPRR are: – it can support any kind of model and modeling para- – Graph – represents diagram. It contains a number of digm imaginable, other non-properties: object, roles and relationships. – it can allow different kinds of metadata to be related, – Object – represents the entity which has an existence in – it can allow metamodels and new kinds of metadata to its own right. be added incrementally, and – Property – describes graph, object, role or relationship. – it can support the interchange of arbitrary metadata – Relationship – represents connection among two or (models) and meta-metadata (metamodels) between par- more objects. ties that use the same meta-metamodel. – Role – exists between object and relationship. These are to be viewed in an object-oriented fashion: every element has an existence in its own right, indepen- METAMODELING INSTRUMENTS dent of the other element. In addition to these primary concepts, GOPRR also uses some secondary concepts, Metamodeling methods define a framework for meta- many of which are better considered as simple data struc- modeling, which consists of the definition of the meta- tures: sets, collections and bindings. These do not have metamodel and metamodeling language that is used for existence in their own right (i.e. they exist only if contained defining derived metamodels. For the purpose of meta- within the primary element). modeling (and defining metamodels), there were a lot of GOPRR is intended to be easy to use, implemented in approaches defined by information and software engi- and thus supported by a metaCASE environment (e.g. neers COMMA, GOPRR, MOF, OPRR, CoCoA, NIAM, MetaEdit+ see Web of MetaCase company), and to COOM etc. There are three metamodel frameworks char- work the same for both metamodels and models. Two oth- acterized in the following paragraps. ers guidelining ideas of GOPRR have been object-orien- tation and reuse. COMMA OMG standards Project COMMA (Common Object Methodology Metamodel Architecture) tried to find common core of all Standards of OMG (Object Management Group) are object oriented methodologies and then represented the based on four level metadata architecture (see Metamod- concepts of these methodologies in a common meta- el architecture). Meta-metamodel layer is defined by metamodel (see Henderson-Sellers, Bulthuis 1998). On standard MOF (Meta Object Facility see MOF Specifi- the basis of this meta-metamodel, the metamodels of com- cation). OMG defines several metamodel standards all mon object oriented methodologies were built. of them are based on MOF: COMMA usies these basic concepts: – the UML metamodel (Unified Modeling Language) – – Concept – expresses an entity. It has got name and at- standard of object modeling
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-