Matters of Model Transformation
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
The Model Transformation Language of the VIATRA2 Framework
View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector Science of Computer Programming 68 (2007) 214–234 www.elsevier.com/locate/scico The model transformation language of the VIATRA2 framework Daniel´ Varro´ ∗, Andras´ Balogh Budapest University of Technology and Economics, Department of Measurement and Information Systems, H-1117, Magyar tudosok krt. 2., Budapest, Hungary OptXware Research and Development LLC, Budapest, Hungary Received 15 August 2006; received in revised form 17 April 2007; accepted 14 May 2007 Available online 5 July 2007 Abstract We present the model transformation language of the VIATRA2 framework, which provides a rule- and pattern-based transformation language for manipulating graph models by combining graph transformation and abstract state machines into a single specification paradigm. This language offers advanced constructs for querying (e.g. recursive graph patterns) and manipulating models (e.g. generic transformation and meta-transformation rules) in unidirectional model transformations frequently used in formal model analysis to carry out powerful abstractions. c 2007 Elsevier B.V. All rights reserved. Keywords: Model transformation; Graph transformation; Abstract state machines 1. Introduction The crucial role of model transformation (MT) languages and tools for the overall success of model-driven system development has been revealed in many surveys and papers during the recent years. To provide a standardized support for capturing queries, views and transformations between modeling languages defined by their standard MOF metamodels, the Object Management Group (OMG) has recently issued the QVT standard. QVT provides an intuitive, pattern-based, bidirectional model transformation language, which is especially useful for synchronization kind of transformations between semantically equivalent modeling languages. -
A Rewriting Calculus for Multigraphs with Ports Oana Andrei, Hélène Kirchner
A Rewriting Calculus for Multigraphs with Ports Oana Andrei, Hélène Kirchner To cite this version: Oana Andrei, Hélène Kirchner. A Rewriting Calculus for Multigraphs with Ports. [Technical Report] 2007, pp.18. inria-00139363v1 HAL Id: inria-00139363 https://hal.inria.fr/inria-00139363v1 Submitted on 30 Mar 2007 (v1), last revised 21 May 2007 (v2) HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Towards a Rewriting Calculus for Multigraphs with Ports Oana Andrei1 and H´el`ene Kirchner2 1 INRIA - LORIA 2 CNRS - LORIA Campus scientifique BP 239 F-54506 Vandoeuvre-l`es-Nancy Cedex, France [email protected] Abstract. In this paper, we define labeled multigraphs with ports, a graph model which makes explicit connection resources in each node, allows multiple edges and loops. Dynamic evolution of these structures is expressed with multigraph rewrite rules and a multigraph rewriting relation. Then we encode the multigraphs and multigraph rewriting using algebraic terms and term rewriting to provide a more operational semantics of the multigraph rewriting relation. This term version can be embedded in the rewriting calculus, thus providing for labeled multigraphs transfor- mations a high-level calculus, called ρmg -calculus, with good properties and expressive power. -
Graphical Debugging of QVT Relations Using Transformation Nets
Graphical Debugging of QVT Relations using Transformation Nets DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Wirtschaftsinformatik eingereicht von Patrick Zwickl Matrikelnummer 0525849 an der Fakultat¨ fur¨ Informatik der Technischen Universitat¨ Wien Betreuung: Betreuerin: Univ.-Prof. Mag. DI Dr. Gerti Kappel Mitwirkung: DI(FH) Johannes Schonb¨ ock¨ Wien, 07.12.2009 (Unterschrift Verfasser) (Unterschrift Betreuer) Technische Universitat¨ Wien A-1040 Wien Karlsplatz 13 Tel. +43/(0)1/58801-0 http://www.tuwien.ac.at Erkl¨arung zur Verfassung der Arbeit Patrick Zwickl, Gr¨ohrmuhlgasse¨ 36E, 2700 Wiener Neustadt Hiermit erkl¨are ich, dass ich diese Arbeit selbst¨andig verfasst habe, dass ich die verwendeten Quellen und Hilfsmittel vollst¨andig angegeben habe und dass ich die Stellen der Arbeit einschließlich Tabellen, Karten und Abbildungen, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe. Wien, 7. Dezember 2009 Patrick Zwickl i ii Danksagung Im Zuge meines Studium wurde ich von vielen Menschen, als Kommilitonen, Lehrende, Betreuuer, Freunde, Familie etc., begleitet. Dabei war es mir m¨oglich Unterstutzungen¨ auf verschiedensten Ebenen zu erhalten oder in einer guten Zusammenarbeit respektable Ergebnisse zu erzielen. Aufgrund der gr¨oßeren Zahl an Begleitern, m¨ochte ich mich in der Danksagung im Besonderen auf jene Un- terstutzer¨ beschr¨anken, die in einem uberdurchschnittlichen¨ Zusammenhang mit dieser Diplomarbeit stehen. Ich m¨ochte mich sehr herzlich fur¨ die engagierte Hilfe, Leitung und Supervision bei meinen Betreuuern O.Univ.-Prof. Mag. DI Dr. Gerti Kappel und Univ.- Ass. Mag. Dr. -
Metamodeling and Model Transformations in Modeling and Simulation
Proceedings of the 2011 Winter Simulation Conference S. Jain, R. R. Creasey, J. Himmelspach, K. P. White, and M. Fu, eds. METAMODELING AND MODEL TRANSFORMATIONS IN MODELING AND SIMULATION Deniz Cetinkaya Alexander Verbraeck Systems Engineering Group, Faculty of Technology, Policy and Management Delft University of Technology Jaffalaan 5, 2628BX, Delft, THE NETHERLANDS ABSTRACT Metamodeling and model transformations are the key concepts in Model Driven Development (MDD) approaches as they provide a mechanism for automated development of well structured and maintainable systems. However, neither defining a metamodel nor developing a model transformation is an easy task. In this paper, we provide an overview of metamodeling and model transformations in MDD and discuss about the use of a MDD approach in Modeling and Simulation (M&S). In order to support the development of successful model transformations, we define the criteria for the evaluation of model transformations. 1 INTRODUCTION In Model Driven Development (MDD), models are the primary artifacts of the development process and they represent the system on different levels of abstraction. A model is an abstract representation of a system defined in a modeling language, where a modeling language is a means of expressing systems in a formal and precise way by using diagrams, rules, symbols, signs, letters, numerals, etc.. Metamodeling is widely accepted as a superior way to describe models in MDD context. A metamodel is a definition of a modeling language, which should be defined in a modeling language as well (Sprinkle et al. 2007). A sound metamodel describes models in a well-defined manner. Model transformations are used to create new models based on the existing information throughout the MDD process (Sendall and Kozaczynski 2003). -
A Strategy Language for Graph Rewriting Helene Kirchner, Olivier Namet, Maribel Fernandez
A Strategy Language for Graph Rewriting Helene Kirchner, Olivier Namet, Maribel Fernandez To cite this version: Helene Kirchner, Olivier Namet, Maribel Fernandez. A Strategy Language for Graph Rewriting. LOP- STR 2011 - 21st International Symposium on Logic-Based Program Synthesis and Transformation, Jul 2011, Odense, Denmark. hal-00684244 HAL Id: hal-00684244 https://hal.inria.fr/hal-00684244 Submitted on 31 Mar 2012 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. A Strategy Language for Graph Rewriting Maribel Fernández1, Hélène Kirchner2, and Olivier Namet1 1 King’s College London, Department of Informatics, London WC2R 2LS, UK {maribel.fernandez, olivier.namet}@kcl.ac.uk 2 Inria, Domaine de Voluceau - Rocquencourt B.P. 105 - 78153 Le Chesnay France [email protected] Abstract. We give a formal semantics for a graph-based programming language, where a program consists of a collection of graph rewriting rules, a user-defined strategy to control the application of rules, and an initial graph to be rewritten. The traditional operators found in strategy languages for term rewriting have been adapted to deal with the more general setting of graph rewriting, and some new constructs have been included in the language to deal with graph traversal and management of rewriting positions in the graph. -
Survey of Graph Rewriting Applied to Model Transformations
Survey of Graph Rewriting applied to Model Transformations Francisco de la Parra and Thomas Dean School of Computing, Queen’s University, Kingston, Ontario, Canada Keywords: Graph Grammars, Graph Rewriting, Model Transformations, Domain Analysis, Model-Driven Engineering. Abstract: Model-based software development has become a mainstream approach for efficiently producing designs, test suites and program code. In this context, model-to-model transformations have become first-class entities and their classification, formalization and implementation are the subject of ongoing research. This work surveys the characteristics and properties of graph rewriting systems and their application to formalize and implement transformations of language-based software models. A model’s structure or behaviour can be abstracted into the definition of a given graph type. Its structural and behavioural changes can be represented by rule-based transformation of graphs. 1 INTRODUCTION techniques which could aid MDE researchers in de- vising rule-based model transformations. Model Driven Engineering (MDE) has become a sound and efficient alternative for the design and de- 1.1 Background velopment of complex software of the kind found in industrial and networked applications. Efficient ap- Graph grammars and graph transformations have plication of MDE can produce powerful and reusable been used in software engineering as formalisms for designs, as well as readily verifiable program code representing design and computational aspects of sys- (Neema and Karsai, 2006). tems at a very high level of abstraction. In MDE, model-to-model transformations are first-class entities and their classification, formaliza- Application Domains and Modeling. Application tion and research has focused on: 1) analyzing their domain analysis (Prieto-D´ıaz, 1990) provides precise intrinsic properties; 2) defining formal syntactic and descriptions and formalizations of the objects and ac- semantic aspects of their realization; and 3) devel- tivities in a given structured environment. -
Strategic Port Graph Rewriting: an Interactive Modelling and Analysis Framework Maribel Fernández, Héìène Kirchner, Bruno Pinaud
Strategic Port Graph Rewriting: An Interactive Modelling and Analysis Framework Maribel Fernández, Héìène Kirchner, Bruno Pinaud To cite this version: Maribel Fernández, Héìène Kirchner, Bruno Pinaud. Strategic Port Graph Rewriting: An Interactive Modelling and Analysis Framework. [Research Report] Inria. 2016. hal-01251871v1 HAL Id: hal-01251871 https://hal.inria.fr/hal-01251871v1 Submitted on 6 Jan 2016 (v1), last revised 22 Dec 2017 (v3) HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Strategic Port Graph Rewriting: an Interactive Modelling Framework Maribel Fern´andez1, H´el`eneKirchner2, and Bruno Pinaud3 1King's College London, Department of Informatics, Strand, London WC2R 2LS, UK 2Inria, 200 avenue de la Vieille Tour, 33405 Talence, France 3Universit´ede Bordeaux, LaBRI CNRS UMR5800, 33405 Talence Cedex, France Abstract We present strategic port graph rewriting as a basis for the implementation of visual modelling tools. The goal is to facilitate the specification and programming tasks associated with the modelling of complex systems. A system is represented by an initial graph and a collection of graph rewrite rules, together with a user- defined strategy to control the application of rules. The traditional operators found in strategy languages for term rewriting have been adapted to deal with the more general setting of graph rewriting, and some new constructs have been included in the strategy language to deal with graph traversal and management of rewriting positions in the graph. -
Patch Graph Rewriting (Extended Version) 3 a E a B a E B D B D C C
Patch Graph Rewriting (Extended Version)⋆ Roy Overbeek Q and J¨org Endrullis Vrije Universiteit Amsterdam, Amsterdam, The Netherlands {r.overbeek, j.endrullis}@vu.nl Abstract. The basic principle of graph rewriting is the stepwise replace- ment of subgraphs inside a host graph. A challenge in such replacement steps is the treatment of the patch graph, consisting of those edges of the host graph that touch the subgraph, but are not part of it. We introduce patch graph rewriting, a visual graph rewriting language with precise formal semantics. The language has rich expressive power in two ways. First, rewrite rules can flexibly constrain the permitted shapes of patches touching matching subgraphs. Second, rules can freely transform patches. We highlight the framework’s distinguishing features by comparing it against existing approaches. Keywords: Graph rewriting · Embedding · Visual language 1 Introduction When matching a graph pattern P inside a host graph G, G can be partitioned into (i) a match M, a subgraph of G isomorphic to the pattern P ; (ii) a context C, the largest subgraph of G disjoint from M; and (iii) a patch J, the graph consisting of the edges that are neither in M nor in C. So the patch consists of edges that are either (a) between M and C, in either direction, or (b) between vertices of M not captured by the pattern P . For example, if P and G are respectively a c a a a a and b arXiv:2003.06488v3 [cs.LO] 19 Aug 2020 b b b then the thick green subgraph is the (only) match M of P in G. -
Metamodelling for MDA
Metamodelling for MDA First International Workshop York, UK, November 2003 Proceedings Edited by Andy Evans Paul Sammut James S. Willans Table of Contents Preface ........................................................ 4 Principles Calling a Spade a Spade in the MDA Infrastructure ................... 9 Colin Atkinson and Thomas K¨uhne Do MDA Transformations Preserve Meaning? An investigation into preservingsemantics ........................................... 13 Anneke Kleppe and Jos Warmer MDA components: Challenges and Opportunities ..................... 23 Jean B´ezivin, S´ebastien G´erard, Pierre-Alain Muller and Laurent Rioux SafetyChallengesforModelDrivenDevelopment ..................... 42 N. Audsley, P. M. Conmy, S. K. Crook-Dawkins and R. Hawkins Invited talk: UML2 - a language for MDA (putting the U, M and L intoUML)?................................................... 61 Alan Moore Languages and Applications Using an MDA approach to model traceability within a modelling framework .................................................... 62 John Dalton, Peter W Norman, Steve Whittle, and T Eshan Rajabally Services integration by models annotation and transformation .......... 77 Olivier Nano and Mireille Blay-Fornarino 1 A Metamodel of Prototypical Instances .............................. 93 Andy Evans, Girish Maskeri, Alan Moore Paul Sammut and James S. Willans Metamodelling of Transaction Configurations ......................... 106 StenLoecherandHeinrichHussmann Invitedtalk:MarketingtheMDAToolChain......................... 109 Stephen -
Tutorial Introduction to Graph Transformation: a Software Engineering Perspective
Tutorial Introduction to Graph Transformation: A Software Engineering Perspective Luciano Baresi1 and Reiko Heckel2 1 Politecnico di Milano, Italy, [email protected] 2 University of Paderborn, Germany, [email protected] Abstract. We give an introduction to graph transformation, not only for researchers in software engineering, but based on applications of graph transformation in this domain. In particular, we demonstrate the use of graph transformation to model object- and component-based sys- tems and to specify syntax and semantics of diagram languages. Along the way we introduce the basic concepts, discuss different approaches, and mention relevant theory and tools. 1 Introduction Graphs and diagrams are a very useful means to describe complex structures and systems and to model concepts and ideas in a direct and intuitive way. In particular, they provide a simple and powerful approach to a variety of problems that are typical to software engineering [41]. For example, bubbles and arrows are often the first means to reason on a new project, but also the structure of an object-oriented system or the execution flow of a program can be seen as a graph. The artefacts produced in order to conceptualize a system are called mod- els,anddiagrams are used to visualize their complex structures in a natural and intuitive way. In fact, for almost each activity of the software process, a variety of visual diagram notations has been proposed. We can mention, for example, state diagrams, UML, Structured Analysis, control flow graphs, archi- tectural languages, function block diagrams, and several others. Besides having plenty of general-purpose notations, we should also take into account the many domain-specific customizations that provide both dedicated notation elements and special-purpose interpretations. -
Using Model Driven Engineering to Reliably Automate the Measurement of Object-Oriented Software
Using Model Driven Engineering to Reliably Automate the Measurement of Object-Oriented Software Jacqueline A. McQuillan B.Sc. (Hons) Dissertation submitted in partial fulfillment of the requirements for candidate for the degree of Doctor of Philosophy Department of Computer Science, National University of Ireland, Maynooth, Co. Kildare, Ireland. Supervisor: Dr. James F. Power March, 2011 Contents 1 Introduction 1 1.1 Background . 1 1.2 Motivation . 2 1.3 Goals and Approach . 4 1.4 Thesis Overview . 5 2 Background and Related Work 7 2.1 Software Metrics . 7 2.1.1 Chidamber and Kemerer Metrics . 9 2.1.2 Coupling Metrics . 11 2.1.3 Cohesion Metrics . 13 2.1.4 The Elusive Goal of Precise Metric Definitions . 15 2.2 Model Driven Engineering . 16 2.2.1 Models and Metamodels . 17 2.2.2 Model Transformations . 18 2.2.3 Metamodelling Architectures . 19 2.2.4 Eclipse Modelling Framework . 23 2.3 Metamodelling and Software Metrics . 24 2.4 Software Testing in Model Driven Engineering . 28 2.4.1 Test Case Generation . 29 2.4.2 Test Adequacy Criteria . 30 2.4.3 Test Oracle Construction . 33 2.5 Summary . 33 i Contents 3 Towards an MDE Approach to Software Measurement 35 3.1 Introduction . 35 3.2 Defining Metrics at the Meta-Level . 37 3.3 dMML: Tool Support for Defining Metrics at the Meta-Level . 40 3.3.1 Overview of dMML . 43 3.4 Using the Approach to Define and Calculate Software Metrics . 45 3.4.1 An Illustration using the UML . 46 3.4.2 An Illustration using Java . -
Translating Java Code to Graph Transformation Systems*
Translating Java Code to Graph Transformation Systems? Andrea Corradini1, Fernando Lu¶³s Dotti2, Luciana Foss3, and Leila Ribeiro3 1 Dipartimento di Informatica, Universit`a di Pisa, Pisa, Italy | [email protected] 2 Faculdade de Inform¶atica, Pontif¶³cia Universidade Cat¶olica do Rio Grande do Sul, Porto Alegre, Brazil | [email protected] 3 Instituto de Inform¶atica, Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil | flfoss,[email protected] Abstract. We propose a faithful encoding of Java programs (written in a suitable fragment of the language) to Graph Transformation Systems. Every program is translated to a set of rules including some basic rules, common to all programs and providing the operational semantics of Java (data and control) operators, and the program speci¯c rules, namely one rule for each method or constructor declared in the program. Besides sketching some potential applications of the proposed transla- tion, we discuss some desing choices that ensure its correctness, and we report on how do we intend to extend it in order to handle several other features of the Java language. 1 Introduction Graph Transformation Systems (GTSs) were introduced about four decades ago as a generalization of Chomski Grammars to non-linear structures. Since then, the theory evolved quickly [24], and a growing community has applied GTSs to diverse application ¯elds [7]. Along the years, GTSs have been used to provide an operational semantics to programming languages [22], to systems made of agents (or actors) interacting via message passing [15, 16, 6], to object-oriented speci- ¯cation formalisms [26], to process calculi [10], and to several other languages and formalisms.