Visual Models Transformation in Metalanguage System Alexander O
Total Page:16
File Type:pdf, Size:1020Kb
Advances in Information Science and Applications - Volume II Visual Models Transformation in MetaLanguage System Alexander O. Sukhov, Lyudmila N. Lyadova (DSMLs, DSLs), intended to solve a particular class of Abstract — At the process of creation and maintenance of problems in the specific domain. Unlike general purpose information systems the model-based approach to the software modeling languages, DSMLs are more expressive, simple in development is increasingly used. This approach allows to move the applying and easy to understand for different categories of focus from writing of the program code with using general purpose users as they operate with domain terms. To support the language to the models development with automatic generation of data structures and source code of applications. However at usage of process of development and maintenance of DSMLs the this approach it is necessary to transform models constructed by special type of software – language workbench (DSM- various categories of users at different stages of system creation with platform) – is used. usage of various modeling languages. An approach to models The various categories of specialists (programmers, system transformation in DSM platform MetaLanguage is considered. This analysts, database designers, domain experts, business approach allows fulfilling vertical and horizontal transformations of analysts, etc.) are involved in the process of information the designed models. The Metalanguage system support “model-text” and “model-model” types of transformations. The component of systems creation and maintenance. Often they need transformations is based on graph grammars described by production modification of modeling language description to customize rules. Transformations of model in Entity-Relationship notation are and adapt DSML to new conditions, requests of business and presented as example. possibilities of users. The transformations of models constructed by various users at different stages of information Keywords — Domain-specific languages, visual language, DSM system creation with usage of various DSMLs are necessary platform, language workbench, model-based approach, model for the models adjustment and integration [2]. transformation, vertical transformation, horizontal transformation. For implementation of these possibilities it is necessary, that I. INTRODUCTION the language workbench allowed to build the whole hierarchy of models: model, metamodel, meta-metamodel, etc., where Development of information systems with usage of the model is an abstract description on some formal language of modern tools is based on the design of the various models system characteristics that are important from the point of view describing the domain of the information system, defining data of the modeling purpose, a metamodel is a model of the structures and algorithms of system functioning. The main idea language, which is used for models development, and a meta- of such model-driven approach is the systematic usage of metamodel (metalanguage) is a language for the metamodels models at various stages of software development that allows description. Furthermore, the language workbench should to shift the focus from writing code in general purpose contains the tools allowing to fulfill conversion of models programming language to building models and automatic between various levels of hierarchy (vertical transformations) generation of the source code and other necessary artifacts. At and in one hierarchy level (horizontal transformations). modeling developer abstracts from concrete technologies of The MetaLanguage system is a language workbench for implementations. It facilitates the creation, understanding and creating of visual dynamic adaptable domain-specific maintenance of models. This approach is intended to increase modeling languages. This system allows to fulfill multilevel productivity and to reduce development time. and multi-language modeling of domain [3]. The basic There are implementations of model-driven approach which elements of the metalanguage are entity, relationship and use general purpose modeling languages for describing of constraint. information systems. So, the modeling language UML with the Usage of domain-specific languages and tools for the system standard MOF (Meta-Object Facility) forms a basis of the development also affects a transformation problem as there is a concept MDA (Model-Driven Architecture) [1]. Other need of export of the models created with DSML to external implementations of the model-driven approach are based on systems which, as a rule, use one of the standard modeling use of the visual domain-specific modeling languages languages that is different from used DSL. That is why one of the main components of the MetaLanguage system is the This work was supported by Russian Foundation for Basic Research (grant transformer. This component uses graph grammars for models 14-07-31330). transformations description. Implementation of graph A. O. Sukhov is with the National Research University Higher School of Economics, Perm, Russia (phone: (+7) 912-589-0986; e-mail: grammars in the MetaLanguage system is defined by [email protected]). appointment of this language workbench. L. N. Lyadova is with the National Research University Higher School of Economics, Perm, Russia (e-mail: [email protected]). ISBN: 978-1-61804-237-8 460 Advances in Information Science and Applications - Volume II II. BASIC CONCEPTS why the graph grammar can be used for generation syntactic The basic concept of transformation definition is a correct models and for refactoring of existing models, code production rule which looks like pL: → R, where p is a rule generation and model transformation from one modeling language to another [8]. name, L is a left-hand side of the rule, also called the pattern, Considering singularities and designation of MetaLanguage and R is a right-hand side of the rule, which is called the system, it is necessary to make the following requirements to replacement graph. Rules are applied to the starting graph its transformation component: named the host-graph. • To be obvious and easy to use for providing the Let’s suppose that four labeled graphs G, H, L, R are given, opportunity of involving to transformation description not and graph L is a subgraph of graph G. Applying of the rule only programmers, but also experts, specialists in pL: → R to the starting graph G is called the replacement in domains. It can be achieved through the usage of visual graph G of subgraph L on graph R, which is a subgraph of notation of transformations description language. graph H. The graph H is the result of this replacement [4]. • To allow using the created transformations directly in the Graph grammar is a pair GG = (P, G0 ), where P is a set of system, i.e. to produce the models transformations in the production rules, G0 is a starting graph of grammar. same user interface, in which they were designed. Graph transformation is a sequenced applying to the starting • To perform both horizontal and vertical transformations, labeled graph G of finite set of rules P= () pp, p : and possibility to fulfill the horizontal transformations 0 12 n ppp from one notation to another, including a “model-text” 12n type. GG01→ →→ Gn . • To allow specifying the transformations of entities and Transformations can be classified as horizontal and vertical relationships attributes and constraints imposed on according to direction. The horizontal transformation is the metamodel elements. conversion, in which the source and target models belong to one hierarchy level. An example of a horizontal transformation III. RELATED WORKS is a conversion of model description from one notation to There are various approaches to model transformations. another (see Fig. 1). The vertical transformation converts the Some of them have the formal basis, so the systems AGG, models which belong to various hierarchy levels, for example, GReAT, VIATRA use graph rewriting rules to perform at mapping of the metamodel objects to domain model objects. transformations, and others apply technologies from other Entity- Horizontal UML Class areas of software engineering, for example the technique of Relationship transformation Diagram Diagram programming by example. Various modifications of the algebraic approach [9] are implemented in systems AGG, GReAT, VIATRA. In AGG Meta-metamodel (Attributed Graph Grammar) [10], [11] the left- and right-hand sides of the production rule are the typed attribute graphs, both Metamodel Vertical sides of a rule should be described in one notation, i.e. this transformation system allows to fulfill only endogenous transformations that Model does impossible its usage in MetaLanguage system. Besides, Data this tool does not allow to make transformation of a “model- text” type. However the usage as the formal basis of the Fig. 1. Horizontal and vertical model transformations algebraic approach to graph transformations allows to produce graph parsing, to verify graph models, and the extension of The models are described with some modeling languages. graphs of Java possibilities makes transformations more Depending on the language on which source and target models powerful. are described, horizontal transformations can be divided into The GReAT (Graph REwriting And Transformation) system two types: endogenous and exogenous. An endogenous [12], [13] is based on the algebraic approach with double- transformation is the transformation of the models, which