Design Patterns for Model Transformations: Current research and future directions

Size: px
Start display at page:

Download "Design Patterns for Model Transformations: Current research and future directions"

Transcription

1 Design Patterns for Model Transformations: Current research and future directions K. Lano 1, S. Yassipour-Tehrani 1 1 Dept of Informatics, King s College London, Strand, London, UK Abstract. There is increasing interest in the use of design patterns for model transformations, and a number of such patterns have been proposed. In this paper we survey previous work on transformation design patterns, discuss one pattern in detail, and identify priorities for future research. 1 Introduction Design patterns have proved to be an effective concept to improve the quality of software systems, with classic patterns such as Iterator, Facade and MVC now part of the standard vocabulary of software developers and provided as essential elements of programming languages and of software development environments. Model transformation (MT) development should also be able to benefit from the standardised solutions and expertise embedded in design patterns: currently such development is often carried out in an ad-hoc manner because of the novel nature of the languages and processing involved. Transformation development requires new or adapted specification and design patterns because of the specialised features of MT programming and languages: Transformations involve complex structured data (models) and navigation through and manipulation of such data. Transformations involve unconventional processing such as graph rewriting and partially-specified execution orders. Hybrid MT languages involve a mix of declarative and imperative language elements. Languages supporting bidirectional transformations (bx) involve complex processing to synchronise or transform models in either source to target or target to source directions. 2 Research into MT design patterns The first works on MT design patterns identified language-specific patterns for the ATL [9] and QVT-R [19] languages:

2 ATL: In [2, 7] ATL-specific patterns were identified: Transformation Parameters; Multiple Matching; Object Indexing; Many-to-one; Many-to-many; Custom Tracing. QVT-R: In [13] QVT-R patterns such as Enable conditions in only one Direction, and Simulation of Key were introduced. In [10] the use of marker relations in a Model Copying pattern for QVT-R was detailed. In some cases, such patterns simply gave techniques for circumventing limitations of the specific MT languages. Subsequently, work was carried out to identify language-independent MT design patterns, based on generalisations of the language-specific patterns or adaptions of classical design patterns for MT: in [1, 5 7, 11, 12, 14, 15, 17] such patterns were described. These included Auxiliary Metamodel, a generalisation of the ATL pattern Transformation Parameters, and Map Objects Before Links, a general strategy for model copying and migration transformations. In [17] the patterns were grouped into five categories: Rule modularisation patterns: Phased Construction; Structure Preservation; Entity Splitting/ Structure Elaboration; Entity Merging/Structure Abstraction; Map Objects Before Links; Parallel Composition/Sequential Composition; Auxiliary Metamodel; Construction and Cleanup; Recursive Descent; Replace Explicit Calls by Implicit Calls; Introduce Rule Inheritance. Optimisation patterns: Unique Instantiation; Object Indexing; Omit Negative Application Conditions; Replace Fixed-point by Bounded Iteration; Decompose Complex Navigations; Restrict Input Ranges; Remove Duplicated Expression Evaluations; Implicit Copy. Model-to-text patterns: Model Visitor; Text Templates; Replace Abstract by Concrete Syntax. Expressiveness patterns: Simulating Multiple Matching; Simulating Universal Quantification; Simulating Explicit Rule Scheduling. Architectural patterns: Phased Model Construction; Target Model Splitting; Model Merging; Auxiliary Models; Filter Before Processing. Patterns for specific categories of transformation have also been identified: Bidirectional transformation (bx) patterns: Auxiliary Correspondence Model; Cleanup before Construct; Unique Instantiation; Phased Construction for bx; Entity Merging/Splitting for bx; Map Objects Before Links for bx [18]. Data migration patterns: Migrate along Domain Partitions; Measure Migration Quality; Data Cleansing [20]. Auxiliary Correspondence Model is an inbuilt and essential language feature of TGG and QVT-R. Unique Instantiation is an inbuilt language feature of QVT-R and UML-RSDS, and Object Indexing and Omit Negative Application Conditions are also inbuilt into UML-RSDS. Figure 1 (based on [17]) shows the generalisation and usage relationships between some of the above patterns.

3 Fig. 1. Relationships between transformation design patterns 3 Pattern example: Cleanup before Construct This pattern has been identified in several bx examples. The pattern defines a two-phase approach in both forward and reverse transformations associated with a bx with relation R: the forward transformation R first removes all elements from the target model n which fail to satisfy R for any element of the source m, and then constructs elements of n to satisfy R with respect to m. The reverse transformation R operates on m in the same manner. Benefits: The pattern is an effective way to ensure the correctness of separatemodels bx: all target elements which invalidate R are removed. Disadvantages: There may be efficiency problems because for each target model element, a search through the source model for possibly corresponding source element(s) may be needed. Elements may be deleted in the Cleanup phase only to be reconstructed in the Construct phase: use of Auxilliary Correspondence Model [18] is an alternative strategy to avoid this problem, by enforcing that feature values should change in response to a feature value change in a corresponding element, rather than deletion and recreation of elements. Related Patterns: This pattern is a variant of the Construction and Cleanup pattern of [17].

4 Examples: An example is the Composers bx [4]. Implicit deletion in QVT operates in a similar manner, but can only modify models (domains) marked as enforced [19]. In UML-RSDS, explicit cleanup rules Cn can be deduced from the construction rules Cn, for mapping transformations [16]. Assume that the transformation rules Cn are of the form: S i forall(s SCond(s) T j exists(t TCond(t) & P i,j (s, t))) for source entity types S i and target entity types T j. Then if identity attributes are used to define the source-target correspondence (so that target model element t : T j corresponds to source model element s : S i when the respective identity attributes are equal: s.sid = t.tid), then Cn can be expressed as the constraints (i): T j forall(t TCond(t) & t.tid S i collect(sid) t isdeleted()) which deletes t if there is no corresponding s with the same identity, and (ii): T j forall(t TCond(t) & t.tid : S i collect(sid) & s = S i [t.tid] & not(scond(s)) t isdeleted()) which deletes t if such an s exists but it is not in the domain of the transformation (relation R). (ii) is omitted if SCond is the true predicate. In the case that TCond(t) and SCond(s) hold for corresponding s, t, but P i,j (s, t) does not hold, t should not be deleted, but P i,j (s, t) should be established by updating t (iii): S i forall(s s.sid : T j collect(tid) & t = T j [sid] & SCond(s) & TCond(t) P i,j (s, t)) For a transformation τ, the cleanup transformation τ has the above Cn constraints (i), (ii), (iii) as its postconditions, in the same order as the Cn occur in the Post of τ. The forward direction τ of the bx is then τ ; τ. A change-propagation version τ of τ can also be defined, to operate on source model increments δm (finite collections of deletion, creation and modification updates). τ is τ ; τ where the rules of τ are only applied for deletion (i) and modification (ii), (iii) updates in δm, and the rules of τ are only applied for modification and creation updates in δm. 4 Future research directions and challenges Because of the novelty of the MT field, there is as yet insufficient evidence for the effectiveness of most of the identified patterns. Work is needed to survey applications of MT patterns in practice and to evaluate their utility. Work is also needed to identify appropriate classifications for MT patterns, to identify connections between patterns, and useful compositions of patterns. Techniques

5 and guidelines for the selection of MT patterns need to be developed and incorporated into MT engineering environments. Patterns for new types of transformation, such as transformations at runtime or streaming transformations, are also needed. Finally, research into transformation anti-patterns and techniques for the identification of bad smells in transformation specifications is needed. References 1. A. Agrawal, A. Vizhanyo, Z. Kalmar, F. Shi, A. Narayanan, G. Karsai, Reusable Idioms and Patterns in Graph Transformation Languages, Electronic notes in Theoretical Computer Science, pp , ATL Design Patterns, Patterns, I. Bayley, H. Zhu, On the composition of design patterns, QSIC 2008, IEEE Computer Society, 2008, pp J. Cheney, J. McKinna, P. Stevens, J. Gibbons, Towards a repository of bx examples, EDBT/ICDT 2014, 2014, pp J. S. Cuadrado, F. Jouault, J. G. Molina, J. Bezivin, Optimization patterns for OCL-based model transformations, MODELS 2008, vol LNCS, Springer- Verlag, pp , K. Duddy, A. Gerber, M. Lawley, K. Raymond, J. Steel, Model transformation: a declarative, reusable pattern approach, 7th International Enterprise Distributed Object Computing Conference (EDOC 03), 2003, pp J. Bezivin, F. Jouault, J. Palies, Towards Model Transformation Design Patterns, 1st European Workshop on Model Transformations, V. Bollati, J. Vara, A. Jimenez, E. Marcos, Applying MDE to the (semi-)automatic development of model transformations, Information and Software Technology, Eclipsepedia, ATL User Guide, User Guide - The ATL Language, T. Goldschmidt, G. Wachsmuth, Refinement transformation support for QVT relational transformations, FZI, Karlsruhe, Germany, M. E. Iacob, M. W. A. Steen, L. Heerink, Reusable model transformation patterns, Enterprise Distributed Object Computing Conference Workshops, 2008, pp. 1 10, doi: /edocw J. Johannes, S. Zschaler, M. Fernandez, A. Castillo, D. Kolovos, R. Paige, Abstracting complex languages through transformation and composition, MODELS 2009, LNCS 5795, pp , J. Kiegeland, H. Eichler, Medini-QVT, K. Lano, S. Kolahdouz-Rahimi, Model transformation design patterns, ICSEA 2011, IARIA, 2011, pp K. Lano, S. Kolahdouz-Rahimi, Optimising Model-transformations using Design Patterns, MODELSWARD K. Lano, The UML-RSDS Manual, K. Lano, S. Kolahdouz-Rahimi, Model Transformation Design Patterns, IEEE Transactions in Software Engineering, K. Lano, S. Kolahdouz-Rahimi, Model transformation design patterns for bidirectionality, FSEN OMG, MOF 2.0 Query/View/Transformation Specification v1.1, M. Wagner, T. Wellhausen, Patterns for data migration projects,

Design Patterns for Model Transformations

Design Patterns for Model Transformations Design Patterns for Model Transformations Kevin Lano Dept. of Informatics King s College London London, UK Email: kevin.lano@kcl.ac.uk Shekoufeh Kolahdouz-Rahimi Dept. of Informatics King s College London

More information

Language-independent model transformation verification.

Language-independent model transformation verification. Language-independent model transformation verification. LANO, Kevin, RAHIMI, Shekoufeh Kolahdouz and CLARK, Tony Available from Sheffield Hallam University Research

More information

Solving the Class Responsibility Assignment Case with UML-RSDS

Solving the Class Responsibility Assignment Case with UML-RSDS Solving the Class Responsibility Assignment Case with UML-RSDS K. Lano, S. Yassipour-Tehrani, S. Kolahdouz-Rahimi Dept. of Informatics, King s College London, Strand, London, UK; Dept. of Software Engineering,

More information

Case study: Class diagram restructuring

Case study: Class diagram restructuring Case study: Class diagram restructuring K. Lano, S. Kolahdouz-Rahimi Dept. of Informatics, King s College London, Strand, London, UK This case study is an update-in-place refactoring transformation on

More information

Solving the TTC 2011 Model Migration Case with UML-RSDS

Solving the TTC 2011 Model Migration Case with UML-RSDS Solving the TTC 2011 Model Migration Case with UML-RSDS K. Lano, S. Kolahdouz-Rahimi Dept. of Informatics, King s College London, Strand, London, UK kevin.lano@kcl.ac.uk In this paper we apply the UML-RSDS

More information

Building Model-Driven Engineering Traceability Classifications

Building Model-Driven Engineering Traceability Classifications Building Model-Driven Engineering Traceability Classifications Richard F. Paige, Gøran K. Olsen, Dimitrios S. Kolovos, Steffen Zschaler and Christopher Power Department of Computer Science, University

More information

A Graphical Specification of Model Composition With Triple Graph Grammars

A Graphical Specification of Model Composition With Triple Graph Grammars A Graphical Specification of Model Composition With Triple Graph Grammars Adil Anwar 1, Amine Benelallam 2, Akram Idani 3, Bernard Coulette 4, and Mahmoud Nassar 2 1 Siweb, Computer Science Department,

More information

Model Migration Case for TTC 2010

Model Migration Case for TTC 2010 Model Migration Case for TTC 2010 Louis M. Rose, Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, UK. [louis,dkolovos,paige,fiona]@cs.york.ac.uk

More information

Concurrent and Distributed Model Transformations based on Linda

Concurrent and Distributed Model Transformations based on Linda Concurrent and Distributed Model Transformations based on Linda Loli Burgueño GISUM/Atenea Research Group, Universidad de Málaga Bulevar Louis Pasteur, 35 (29071), Málaga, Spain loli@lcc.uma.es http://www.lcc.uma.es/~loli

More information

A Taxonomy of Model Transformation

A Taxonomy of Model Transformation Electronic Notes in Theoretical Computer Science 152 (2006) 125 142 www.elsevier.com/locate/entcs A Taxonomy of Model Transformation Tom Mens 1 Software Engineering Lab Université de Mons-Hainaut Mons,

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information

Model Migration Case for TTC 2010

Model Migration Case for TTC 2010 Model Migration Case for TTC 2010 Louis M. Rose, Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, UK. [louis,dkolovos,paige,fiona]@cs.york.ac.uk

More information

Towards Rigorously Faking Bidirectional Model Transformations

Towards Rigorously Faking Bidirectional Model Transformations Towards Rigorously Faking Bidirectional Model Transformations Christopher M. Poskitt 1, Mike Dodds 2, Richard F. Paige 2, and Arend Rensink 3 1 Department of Computer Science, ETH Zürich, Switzerland 2

More information

Introduction to Dependable Systems: Meta-modeling and modeldriven

Introduction to Dependable Systems: Meta-modeling and modeldriven Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software

More information

Process-Integrated Refinement Patterns in UML

Process-Integrated Refinement Patterns in UML Process-Integrated Refinement Patterns in UML Timo Kehrer Dept. of Computer Science and Media Stuttgart Media University (HdM) Nobelstr. 10, D-70569 Stuttgart, Germany Tel: +49 711 8923 2619 Fax: +49 711

More information

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University

More information

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations 1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. schuerr@es.tu-darmstadt.de 20th Feb. 2007, Trento Outline of Presentation 2 Languages

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS

TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS Jean Bézivin, Frédéric Jouault, Jean Paliès ATLAS Group (INRIA & LINA, University of Nantes) {bezivin frederic.jouault jean.palies}@gmail.com Abstract Keywords:

More information

Process DSL Transformation by Mappings Using Virtual Functional Views

Process DSL Transformation by Mappings Using Virtual Functional Views Baltic J. Modern Computing, Vol. 3 (2015), No. 2, 133-147 Process DSL Transformation by Mappings Using Virtual Functional Views Lelde LACE, Audris KALNINS, Agris SOSTAKS Institute of Mathematics and Computer

More information

Pattern composition in graph transformation rules

Pattern composition in graph transformation rules Pattern composition in graph transformation rules András Balogh and Dániel Varró Department of Measurement and Information Systems Budapest University of Technology and Economics H-1117 Magyar tudosok

More information

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript Freiberg University of Mining and Technology The University of Resources. Since 1765. WEB3D 2012-17th International Conference on 3D Web Technology Model-Driven Iterative Development of 3D Web-Applications

More information

Towards Transformation Migration After Metamodel Evolution

Towards Transformation Migration After Metamodel Evolution Towards Transformation Migration After Metamodel Evolution David Méndez 1,2, Anne Etien 2, Alexis Muller 2, and Rubby Casallas 1 TICSw Research Group, Universidad de los Andes, Colombia {df.mendez73,rcasalla}@uniandes.edu.co

More information

Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars

Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars Noname manuscript No. (will be inserted by the editor) Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars Joel Greenyer 1, Ekkart Kindler 2 1 Software Engineering

More information

Model driven Engineering & Model driven Architecture

Model driven Engineering & Model driven Architecture Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software

More information

De-/Re-constructing Model Transformation Languages

De-/Re-constructing Model Transformation Languages De-/Re-constructing Model Transformation Languages Eugene Syriani Ph.D. Candidate in the Modelling, Simulation and Design Lab School of Computer Science McGill University OVERVIEW Context De-Constructing

More information

A Model Transformation Approach for Translating Conceptual Database Schemas into Executable Database Systems

A Model Transformation Approach for Translating Conceptual Database Schemas into Executable Database Systems A Model Transformation Approach for Translating Conceptual Database Schemas into Executable Database Systems Ahmad F Subahi and Anthony J H Simons Department of Computer Science, University of Sheffield,

More information

Abstracting Complex Languages through Transformation and Composition

Abstracting Complex Languages through Transformation and Composition Fakultät Informatik, Institut für Software- und Multimediatechnologie, Lehrstuhl Softwaretechnologie Abstracting Complex Languages through Transformation and Composition Jendrik Johannes, Steffen Zschaler,

More information

Contents Contents 1 Introduction Entity Types... 37

Contents Contents 1 Introduction Entity Types... 37 1 Introduction...1 1.1 Functions of an Information System...1 1.1.1 The Memory Function...3 1.1.2 The Informative Function...4 1.1.3 The Active Function...6 1.1.4 Examples of Information Systems...7 1.2

More information

Eclipse Development Tools for Epsilon

Eclipse Development Tools for Epsilon Eclipse Development Tools for Epsilon Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, Heslington, York, YO10 5DD, UK. {dkolovos,paige,fiona@cs.york.ac.uk

More information

Model Transformation. Suppose I ask you to provide a software that converts any E-R diagram into a UML class diagram, how would you achieve that?

Model Transformation. Suppose I ask you to provide a software that converts any E-R diagram into a UML class diagram, how would you achieve that? Eugene Syriani Suppose I ask you to provide a software that converts any E-R diagram into a UML class diagram, how would you achieve that? 2 Write a program that takes as input a.er file and outputs a.uml

More information

Primitive Operators for the Concurrent Execution of Model Transformations Based on LinTra

Primitive Operators for the Concurrent Execution of Model Transformations Based on LinTra Primitive Operators for the Concurrent Execution of Model Transformations Based on LinTra Loli Burgueño 1, Eugene Syriani 2, Manuel Wimmer 3, Jeff Gray 2, and Antonio Vallecillo 1 1 Universidad de Málaga,

More information

Composition Techniques for Rule-based Model Transformation Languages

Composition Techniques for Rule-based Model Transformation Languages Composition Techniques for Rule-based Model Transformation Languages Dennis Wagelaar Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussels, Belgium dennis.wagelaar@vub.ac.be Abstract. Model transformation

More information

Science of Computer Programming. GREAT: UML transformation tool for porting middleware applications

Science of Computer Programming. GREAT: UML transformation tool for porting middleware applications Science of Computer Programming 73 (2008) 3 12 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico GREAT: UML transformation tool for

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt The Implications of Optimality Results for Incremental Model Synchronization for TGGs Bi-directional transformations (BX) Theory and Applications Across Disciplines (13w5115) December 1-6, 2013 Holger

More information

ATL: Atlas Transformation Language. ATL User Manual

ATL: Atlas Transformation Language. ATL User Manual ATL: Atlas Transformation Language ATL User Manual - version 0.7 - February 2006 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 An Introduction to Model Transformation... 2 2.1 The Model-Driven

More information

University of Alabama

University of Alabama Eugene Syriani Software Engineering Group Department of Computer Science College of Engineering University of Alabama MOTIVATION Suppose I ask you to provide a software that converts any E-R diagram into

More information

QVT: Query, Views, Transformations

QVT: Query, Views, Transformations QVT: Query, Views, Transformations Rubby Casallas Grupo de Construcción de Software Uniandes Basics Transformations are essential for the MDE A model transformation: takes as input a model conforming to

More information

Knowledge Discovery: How to Reverse-Engineer Legacy Systems

Knowledge Discovery: How to Reverse-Engineer Legacy Systems Knowledge Discovery: How to Reverse-Engineer Legacy Systems Hugo Bruneliere, Frédéric Madiot INRIA & MIA-Software 1 Context of this work Knowledge Discovery: How To Reverse-Engineer Legacy Sytems The present

More information

Transformational Design with

Transformational Design with Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität

More information

A UML 2 Profile for Variability Models and their Dependency to Business Processes

A UML 2 Profile for Variability Models and their Dependency to Business Processes A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS Jon Whittle 1, João Araújo 2, Ambrosio Toval 3, and Jose Luis Fernández Alemán 3 1 QSS / NASA Ames Research Center, M/S 269-2, Moffett Field,

More information

Automatically bridging UML profiles to MOF metamodels

Automatically bridging UML profiles to MOF metamodels Automatically bridging UML profiles to MOF metamodels Ivano Malavolta Gran Sasso Science Institute L Aquila (Italy) ivano.malavolta@gssi.infn.it Henry Muccini University of L Aquila Department of Information

More information

ECLIPSE MODELING PROJECT

ECLIPSE MODELING PROJECT ECLIPSE MODELING PROJECT A Domain-Specific Language Toolkit Richard С. Gronback AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Pans Madrid

More information

A Lightweight Language for Software Product Lines Architecture Description

A Lightweight Language for Software Product Lines Architecture Description A Lightweight Language for Software Product Lines Architecture Description Eduardo Silva, Ana Luisa Medeiros, Everton Cavalcante, Thais Batista DIMAp Department of Informatics and Applied Mathematics UFRN

More information

A Traceability-Driven Approach to Model Transformation Testing

A Traceability-Driven Approach to Model Transformation Testing A Traceability-Driven Approach to Transformation Testing Nicholas D. Matragkas, Dimitrios S. Kolovos, Richard F. Paige, and Athanasios Zolotas Department of Computer Science, University of York, Deramore

More information

Rigorous Identification and Encoding of Trace-Links in Model-Driven Engineering

Rigorous Identification and Encoding of Trace-Links in Model-Driven Engineering sosym manuscript No. (will be inserted by the editor) Rigorous Identification and Encoding of Trace-Links in Model-Driven Engineering Richard F. Paige, Nikolaos Drivalos, Dimitrios S. Kolovos, Kiran J.

More information

LinTraP: Primitive Operators for the Execution of Model Transformations with LinTra

LinTraP: Primitive Operators for the Execution of Model Transformations with LinTra LinTraP: Primitive Operators for the Execution of Model Transformations with LinTra Loli Burgueño Universidad de Málaga Malaga, Spain loli@lcc.uma.es Eugene Syriani University of Alabama Tuscaloosa AL,

More information

ADT: Eclipse development tools for ATL

ADT: Eclipse development tools for ATL ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire

More information

SDC Design patterns GoF

SDC Design patterns GoF SDC Design patterns GoF Design Patterns The design pattern concept can be viewed as an abstraction of imitating useful parts of other software products. The design pattern is a description of communicating

More information

Dresden OCL2 in MOFLON

Dresden OCL2 in MOFLON Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology

More information

UML Specification and Correction of Object-Oriented Anti-patterns

UML Specification and Correction of Object-Oriented Anti-patterns UML Specification and Correction of Object-Oriented Anti-patterns Maria Teresa Llano and Rob Pooley School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh, United Kingdom {mtl4,rjpooley}@hwacuk

More information

Managing Model and Meta-Model Components with Export and Import Interfaces

Managing Model and Meta-Model Components with Export and Import Interfaces Managing Model and Meta-Model Components with Export and Import Interfaces Daniel Strüber, Stefan Jurack, Tim Schäfer, Stefan Schulz, Gabriele Taentzer Philipps-Universität Marburg, Germany, {strueber,sjurack,timschaefer,schulzs,taentzer}

More information

C++ (Non for C Programmer) (BT307) 40 Hours

C++ (Non for C Programmer) (BT307) 40 Hours C++ (Non for C Programmer) (BT307) 40 Hours Overview C++ is undoubtedly one of the most widely used programming language for implementing object-oriented systems. The C++ language is based on the popular

More information

Incremental Model Synchronization for Efficient Run-Time Monitoring

Incremental Model Synchronization for Efficient Run-Time Monitoring Incremental Model Synchronization for Efficient Run-Time Monitoring Thomas Vogel, Stefan Neumann, Stephan Hildebrandt, Holger Giese, and Basil Becker Hasso Plattner Institute at the University of Potsdam

More information

A Proposal for Enhancing the UsiXML Transformation Meta-Model

A Proposal for Enhancing the UsiXML Transformation Meta-Model A Proposal for Enhancing the UsiXML Transformation Meta-Model Nathalie Aquino, José Ignacio Panach, Oscar Pastor Centro de Investigación en Métodos de Producción de Software Universidad Politécnica de

More information

Transforming models with ATL

Transforming models with ATL The ATLAS Transformation Language Frédéric Jouault ATLAS group (INRIA & LINA), University of Nantes, France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The present courseware has

More information

Common Pitfalls of Using QVT Relations Graphical Debugging as Remedy

Common Pitfalls of Using QVT Relations Graphical Debugging as Remedy Common Pitfalls of Using QVT Relations Graphical Debugging as Remedy Angelika Kusel, Wieland Schwinger Johannes Kepler University Linz Austria kusel@bioinf.jku.at, wieland@schwinger.at Manuel Wimmer Vienna

More information

A Planning-Based Approach for the Automated Configuration of the Enterprise Service Bus

A Planning-Based Approach for the Automated Configuration of the Enterprise Service Bus A Planning-Based Approach for the Automated Configuration of the Enterprise Service Bus Zhen Liu, Anand Ranganathan, and Anton Riabov IBM T.J. Watson Research Center {zhenl,arangana,riabov}@us.ibm.com

More information

Security for Multithreaded Programs under Cooperative Scheduling

Security for Multithreaded Programs under Cooperative Scheduling Security for Multithreaded Programs under Cooperative Scheduling Alejandro Russo and Andrei Sabelfeld Dept. of Computer Science and Engineering, Chalmers University of Technology 412 96 Göteborg, Sweden,

More information

Do model transformations solve all the problems?

Do model transformations solve all the problems? Do model transformations solve all the problems? Panel@ICFEM'2008 Kitakyuschu City, October, 27 th Jean Bézivin (AtlanMod team, INRIA& EMN) -1- Ten years or Research in Model Transformation: where do we

More information

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent

More information

Agile model-driven engineering of financial applications

Agile model-driven engineering of financial applications Agile model-driven engineering of financial applications Kevin Lano, Howard Haughton, Sobhan Yassipour-Tehrani, Hessa Alfraihi Dept. of Informatics King s College London, London, UK Email: { kevin.lano,

More information

ATL Demystified and an Introduction to the RPG2Petrinet Experiment

ATL Demystified and an Introduction to the RPG2Petrinet Experiment ATL Demystified and an Introduction to the RPG2Petrinet Experiment Daan Janssens daan.janssens@student.uantwerpen.be University of Antwerp Abstract ATL is a fairly well known M2M model transformation language.

More information

Rule Chains Coverage for Testing QVT-Relations Transformations

Rule Chains Coverage for Testing QVT-Relations Transformations Rule Chains Coverage for Testing QVT-Relations Transformations Daniel Calegari and Andrea Delgado Instituto de Computación, Facultad de Ingeniería, Universidad de la República, 11300 Montevideo, Uruguay

More information

Detecting Metamorphic Computer Viruses using Supercompilation

Detecting Metamorphic Computer Viruses using Supercompilation Detecting Metamorphic Computer Viruses using Supercompilation Alexei Lisitsa and Matt Webster In this paper we present a novel approach to detection of metamorphic computer viruses by proving program equivalence

More information

Pattern-Oriented Development with Rational Rose

Pattern-Oriented Development with Rational Rose Pattern-Oriented Development with Rational Rose Professor Peter Forbrig, Department of Computer Science, University of Rostock, Germany; Dr. Ralf Laemmel, Department of Information Management and Software

More information

Experimental transformations between Business Process and SOA models

Experimental transformations between Business Process and SOA models International Journal of Informatics Society, VOL.4, NO.2 (2012) 93-102 93 Experimental transformations between Business Process and SOA models Akira Tanaka, and Osamu Takahashi view5 LLC, Japan School

More information

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture Overview of DSLE Model driven software engineering g in general Grammars, signatures and meta-models DSL Design Code generation Models increase the level of abstraction used for both hardware and software

More information

model-driven development Separation of Concerns in Model-Driven Development

model-driven development Separation of Concerns in Model-Driven Development focus model-driven development Separation of Concerns in Model-Driven Development Vinay Kulkarni and Sreedhar Reddy, Tata Research Development and Design Centre To facilitate traceability, reuse, and evolution,

More information

Direct Semantics of Extended State Machines

Direct Semantics of Extended State Machines Vol. 6, No. 9, 2007 Direct Semantics of Extended State Machines K. Lano, D. Clark In this paper we present semantic profiles for UML 2 state machines, which are based directly upon the structure of a state

More information

Rule Based Bi-Directional Transformation of UML2 Activities into Petri Nets

Rule Based Bi-Directional Transformation of UML2 Activities into Petri Nets Rule Based Bi-Directional Transformation of UML2 Activities into Petri Nets A. Spiteri Staines Abstract Many modern software models and notations are graph based. UML 2 activities are important notations

More information

Model Driven Architecture Action Semantics and Action Languages

Model Driven Architecture Action Semantics and Action Languages Model Driven Architecture Action Semantics and Action Languages Prof. Dr. Peter Thiemann Universität Freiburg 28.06.2006 Action Semantics What is it? OMG sanctioned approach to define the low-level behavior

More information

A Visual Based Framework for the Model Refactoring Techniques

A Visual Based Framework for the Model Refactoring Techniques A Visual Based Framework for the Model Refactoring Techniques M. Štolc *, I. Polášek *(**) * Faculty of Informatics and Information Technologies, STU Bratislava, Slovakia ** Gratex International, a.s.,

More information

Issues in Representing Domain-Specific Concerns in Model-Driven Engineering

Issues in Representing Domain-Specific Concerns in Model-Driven Engineering Issues in Representing Domain-Specific Concerns in Model-Driven Engineering Lionel Montrieux, Yijun Yu, Michel Wermelinger Centre for Research in Computing The Open University Milton Keynes, UK Email:{Lionel.Montrieux,Yijun.Yu,Michel.Wermelinger}@open.ac.uk

More information

An Evaluation of Multi-Level Modeling Frameworks for Extensible Graphical Editing Tools

An Evaluation of Multi-Level Modeling Frameworks for Extensible Graphical Editing Tools An Evaluation of Multi-Level Modeling Frameworks for Extensible Graphical Editing Tools Kosaku Kimura 1 and Kazunori Sakamoto 2 1 Fujitsu Laboratories, Japan 2 National Institute of Informatics, Japan

More information

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Towards Generating Domain-Specific Model Editors with Complex Editing Commands Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling

More information

Recursion and Iteration Support in USE Validator with AnATLyzer

Recursion and Iteration Support in USE Validator with AnATLyzer Recursion and Iteration Support in USE Validator with AnATLyzer Jesús Sánchez Cuadrado Modelling and Software Engineering Research Group (http://www.miso.es) Universidad Autónoma de Madrid (Spain) Abstract.

More information

Static analysis and testing of executable DSL specification

Static analysis and testing of executable DSL specification Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:

More information

A Performance Analysis of Model Transformations and Tools

A Performance Analysis of Model Transformations and Tools MASTER THESIS A Performance Analysis of Model Transformations and Tools Steven Bosems A Performance Analysis of Model Transformations and Tools Steven Bosems A Performance Analysis of Model Transformations

More information

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,

More information

Models in Conflict Towards a Semantically Enhanced Version Control System for Models

Models in Conflict Towards a Semantically Enhanced Version Control System for Models Models in Conflict Towards a Semantically Enhanced ersion Control System for Models Kerstin Altmanninger Department of Telecooperation, Johannes Kepler University Linz, Austria kerstin.altmanninger@jku.at

More information

Agent-Oriented Software Engineering

Agent-Oriented Software Engineering Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented

More information

Computer Science at Kent

Computer Science at Kent Computer Science at Kent YATL: Yet Another Transformation Language - Reference Manual Version 1.0 Octavian Patrascoiu Technical Report No. 2-04 March 2004 Copyright 2004 University of Kent at Canterbury

More information

A UML-based Methodology for Hypermedia Design

A UML-based Methodology for Hypermedia Design A UML-based Methodology for Hypermedia Design Rolf Hennicker, Nora Koch,2 Institute of Computer Science Ludwig-Maximilians University of Munich Oettingenstr. 67, D-80538 München, Germany {hennicke,kochn}@informatik.uni-muenchen.de

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 8 OO modeling Design Patterns Introduction Creational Patterns Software

More information

JTL: a bidirectional and change propagating transformation language

JTL: a bidirectional and change propagating transformation language JTL: a bidirectional and change propagating transformation language Antonio Cicchetti 1, Davide Di Ruscio 2, Romina Eramo 2, and Alfonso Pierantonio 2 1 School of Innovation, Design and Engineering Mälardalen

More information

Measuring ATL Transformations

Measuring ATL Transformations Measuring ATL Transformations Andrés Vignaga MaTE, Department of Computer Science, Universidad de Chile avignaga@dcc.uchile.cl Abstract Model transformations are a key element in Model Driven Engineering

More information

A UML-based Process Meta-Model Integrating a Rigorous Process Patterns Definition

A UML-based Process Meta-Model Integrating a Rigorous Process Patterns Definition A UML-based Process Meta-Model Integrating a Rigorous Process Patterns Definition Hanh Nhi Tran, Bernard Coulette, Bich Thuy Dong 2 University of Toulouse 2 -GRIMM 5 allées A. Machado F-3058 Toulouse,

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

Requirements Modelling and Software Systems Implementation Using Formal Languages

Requirements Modelling and Software Systems Implementation Using Formal Languages Requirements Modelling and Software Systems Implementation Using Formal Languages Radek Kočí Brno University of Technology, Faculty of Information Technology Czech Republic koci@fit.vutbr.cz ICSEA 2018,

More information

Introduction To Model-to-Model Transformation

Introduction To Model-to-Model Transformation - 1 - Context of this work The present courseware has been elaborated in the context of the MODELPLEX European IST FP6 project ( http://www.modelplex.org/). Co-funded by the European Commission, the MODELPLEX

More information

The Write Once, Deploy N MDA Case Study

The Write Once, Deploy N MDA Case Study Pieter Van Gorp, The Write Once, Deploy N MDA Case Study Belgisch-Nederlandse Evolution Workshop July 8-9, 2004 @ University of Antwerp The Write Once, Deploy N MDA Case Study Pieter Van Gorp, Dirk Janssens

More information

Towards the Automatic Resolution of Architectural Variability in Software Product Line Architectures through Model Transformations

Towards the Automatic Resolution of Architectural Variability in Software Product Line Architectures through Model Transformations Towards the Automatic Resolution of Architectural Variability in Software Product Line Architectures through Model Transformations Jesús Benedé ISSI Research Group, Universitat Politècnica de València

More information

Creational. Structural

Creational. Structural Fitness for Future of Design Patterns & Architectural Styles Design patterns are difficult to teach, so we conducted a class collaboration where we all researched and reported on a variety of design patterns

More information

A Formal Definition of Model Composition Traceability

A Formal Definition of Model Composition Traceability A Formal Definition of Model Composition Traceability Youness Laghouaouta 1, Adil Anwar 2 and Mahmoud Nassar 1 1 IMS-SIME, ENSIAS, Mohammed V University of Rabat Rabat, Morocco 2 Siweb, EMI, Mohammed V

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

ACTA UNIVERSITATIS APULENSIS No 18/2009

ACTA UNIVERSITATIS APULENSIS No 18/2009 OPTIMIZING NON-FUNCTIONAL PROPERTIES OF A SERVICE COMPOSITION USING A DECLARATIVE MODEL-TO-MODEL TRANSFORMATION Andreas Petter, Stephan Borgert, Erwin Aitenbichler, Alexander Behring and Max Mühlhäuser

More information