Huseyin Ergin and Eugene Syriani. PROBLEM Development of model transformation is still an error-prone and hard task. One reason is the lack of a development.

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation.
Eugene Syriani and Huseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Huseyin Ergin Advisor: Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of.
Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe.
Higher-Order Transformation Eugene SyrianiandHans Vangheluwe.
AToMPM Solution for the IMDB Case Study Huseyin Ergin and Eugene Syriani.
Eugene Syriani Jeff Gray University of Alabama Software Engineering Group Department of Computer Science College of Engineering.
Hüseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
This research is supported by NSF CAREER award CCF A Demonstration-based Approach to Support Live Transformations in a Model Editor Yu SunUniversity.
Hüseyin Ergin Dr. Eugene Syriani Dr. Jeff Gray Dr. Nicholas Kraft Dr. Richard Borie Advisor : Committee Members :
Rule Based Operational Semantics Specification in Ptolemy Yanwar Asrigo COMP 763B - Modeling and Simulation Based Design 30 th April 2008.
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM’09 Explicit Transformation Modelling Thomas.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Pieter Van Gorp, Olaf Muliawan, Hans Schippers MoTMoT.sourceforge.net.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Version control for graph-based models Z. Protić M. F. van Amstel M.G.J. van den Brand.
Huseyin Ergin Advisor: Dr. Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Proposal of Huseyin Ergin University of Alabama Department of Computer Science College of Engineering Committee Members :Dr. Eugene Syriani (advisor) Dr.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
Logic Programming Based Model Transformations An overview of related work.
Huseyin Ergin and Eugene Syriani. PROBLEM (DIDN’T CHANGE) Development of model transformation is still an error-prone and hard task. One reason is the.
1 An Analytical Evaluation of BPMN Using a Semiotic Quality Framework Terje Wahl & Guttorm Sindre NTNU, Norway Terje Wahl, 14. June 2005.
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
Yu Sun 1, Zekai Demirezen 1, Marjan Mernik 2, Jeff Gray 1, Barret Bryant 1 1 Department of Computer and Information Sciences, University of Alabama at.
Dražen Brđanin, Slavko Marić Faculty of Electrical Engineering, University of Banja Luka, Bosnia and Herzegovina Automatic generation of initial conceptual.
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 Introduction to Software Engineering Lecture 1.
Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp
Reusable Specification of Non-functional Properties in DSLs Francisco Durán, Steffen Zschaler, and Javier Troya 28 September, 2012.
J.E. Rivera, D. Ruiz-González, F. López-Romero, J. Bautista, and A. Vallecillo MtATL 09 Nantes, July 09.
LanguageLab A Meta-modelling Environment Terje Gjøsæter and Andreas Prinz, University of Agder, Norway SDL Forum 2015, Berlin, Germany.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
October 1st 2015 Alexis Fouché 1, Florian Noyrit 1, Sébastien Gérard 1, Maged Elaasar 2 SYSTEMATIC GENERATION OF STANDARD COMPLIANT TOOL SUPPORT OF DIAGRAMMATIC.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
® IBM Software Group A Metamodeling Approach to Pattern Specification Maged Elaasar 1,2, Dr. Lionel Briand 1, Dr. Yvan Labiche 1 1 Carleton University,
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Transformation By Demonstration Yu Sun, Jules White, Jeff Gray This work funded in part by NSF CAREER award CCF CIS Dept. – University of.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
1 Hybrid Rule Scheduling in Story Driven Modeling a tool-independent approach by Bart Meyers Principal Adviser: prof. dr. Dirk Janssens Principal Co-Adviser:
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Design Pattern-Driven Development of Model Transformations
SysML v2 Formalism: Requirements & Benefits
Model-Driven Analysis Frameworks for Embedded Systems
Informatics 121 Software Design I
CSc4730/6730 Scientific Visualization
Systematic Mapping Study of Model Transformations for Concrete Problems Edouard Batot, Houari Sahraoui, Eugene Syriani, Paul Molins and Wael Sboui Dépt.
Introduction to Pattern Oriented Analysis and Design (POAD)
Towards an Open Meta Modeling Environment
Automated Analysis and Code Generation for Domain-Specific Models
Software Architecture & Design
Presentation transcript:

Huseyin Ergin and Eugene Syriani

PROBLEM Development of model transformation is still an error-prone and hard task. One reason is the lack of a development process. [1] – Design it before implement it. Software developers have been designing using UML. – With help of GoF design patterns. Main goal is: 2 [1] Guerra, E., de Lara, J., Kolovos, D., Paige, R., and dos Santos, O. (2013) Engineering model transformations with transML. Software and Systems Modeling, 12, 555–577.

PROBLEM Solution: 1.Finding the appropriate language to define model transformation design patterns. 2.Validating the language by redefining existing design patterns and implementing them. 3

RELATED WORK Existing model transformation design patterns. – Agrawal et al. [1] : transitive closure, leaf collector, proxy generator in GReAT. – Iacob et al. [2] : mapping, refinement, flattening, duality, node abstraction in QVT-R. – Bezivin et al. [3] : transformation parameters, multiple matching in ATL. – Levendovszky et al. [4] : helper constructs, optimized transitive closure in VMTS. Design patterns vs reusable idioms. Implementation in specific languages 4 [1] Agrawal, A. (2005) Reusable Idioms and Patterns in Graph Transformation Languages. International Workshop on Graph-Based Tools, ENTCS, 127, pp. 181–192. Elsevier. [2] Iacob, M.-E., Steen, M. W. A., and Heerink, L. (2008) Reusable Model Transformation Patterns. EDOC Workshops, September, pp. 1–10. IEEE Computer Society. [3] Bézivin, J., Jouault, F., and Paliès, J. (2005) Towards model transformation design patterns. Proceedings of the First European Workshop on Model Transformations (EWMT 2005). [4] Levendovszky, T., Lengyel, L., andMészáros, T. (2009) Supporting domain-specific model patterns with metamodeling. Software & Systems Modeling, 8, 501–520.

RELATED WORK Language for Model Transformation Design Patterns. – Lano et al. [1] : used UML class diagrams and OCL constraints.  Hinders the understandability of the patterns.  Implementation is hard other than UML-RSDS language. – Guerra et al. [2] : proposed Rule Diagrams.  Aims generating transformations.  Each MTL needs its own Rule Diagram. 5 [1] Kevin Lano and Shekoufeh Kolahdouz Rahimi (2013) Constraint-based specification of model transformations. Journal of Systems and Software, 86, 412–436. [2] Guerra, E., de Lara, J., Kolovos, D., Paige, R., and dos Santos, O. (2013) Engineering model transformations with transML. Software and Systems Modeling, 12, 555–577.

1.Finding the appropriate language to define model transformation design patterns. 6

7

DELTA A language to express model transformation design patterns. Features: – Facilitate, reason, understand, document in a standard way [1] – Independent from existing model transformation languages (MTL). – Play the role of UML for model transformation design patterns. DelTa (Design pattern language for model Transformation) – Offers concepts from existing MTLs. – Abstracts away MTL specific concepts. – Expresses design patterns rather than model transformations. 8 [1] Syriani, E. and Gray, J. (2012) Challenges for Addressing Quality Factors in Model Transformation. Software Testing, Verification and Validation, apr ICST’12, pp. 929–937. IEEE.

DELTA METAMODEL 9

DELTA TEXTUAL SYNTAX A textual development environment for DelTa in Eclipse using Xtext 10

DELTA GRAPHICAL SYNTAX 11

(INFORMAL) SEMANTICS Conceptually – Constraint ^ ~neg1 ^ ~neg2 ^ …  action. Constraint is maximal – Adding more make it find less matches. Action is minimal – Transformation developer is supposed to add more actions. Abstract rules. – The details are left to the developer. 12

2.Identifying design patterns from existing transformation solutions. 13

MT DESIGN PATTERNS Entity Relation Mapping – Motivation: – Motivation: The most commonly used pattern for exogenous transformations and creates corresponding elements of a source language in a target language with traceability links. – Applicability: – Applicability: Usually when a transformation from one metamodel to a different metamodel. – Structure in DelTa: – Example: – Example: Class diagram to relational database diagram. 14

MT DESIGN PATTERNS Entity Relation Mapping – Variations: – Variations: The mapping can be one-to-many, many-to-many or many-to- one. – Implementation:  Henshin [1] 15 [1] Arendt, T., Biermann, E., Jurack, S., Krause, C., and Taentzer, G. (2010) Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations. MODELS 2010, LNCS, 6394, pp. 121–135. Springer.

MT DESIGN PATTERNS Entity Relation Mapping – Implementation:  AGG [1] 16 [1] Taentzer, G. (2004) AGG: A graph transformation environment for modeling and validation of software. AGTIVE, pp. 446–453. Springer.

MT DESIGN PATTERNS Entity Relation Mapping – Implementation:  MoTif 17

MT DESIGN PATTERNS Entity Relation Mapping – Implementation:  GrGen.NET [1] 18 [1] Geiß, R. and Kroll, M. (2008) GrGen. net: A fast, expressive, and general purpose graph rewrite tool. Applications of Graph Transformations with Industrial Relevance, pp. 568–569. Springer.

MT DESIGN PATTERNS Entity Relation Mapping – Implementation:  Viatra2 [1] 19 [1] Varró, D., Balogh, A.: The model transformation language of the VIATRA2 framework. Science of Computer Programming 68(3) (2007) 214–234

MT DESIGN PATTERNS Transitive Closure – Motivation: – Motivation: Analyzing reachability related problems with an inplace transformation. – Applicability: – Applicability: The metamodels in the domain have a structure that can be considered as a directed tree. – Structure in DelTa: – Example: – Example: Helps finding the lowest common ancestor or finding all superclasses of a class in UML class diagram. 20

MT DESIGN PATTERNS Transitive Closure – Implementation:  AGG [1] 21 [1] Taentzer, G. (2004) AGG: A graph transformation environment for modeling and validation of software. AGTIVE, pp. 446–453. Springer.

MT DESIGN PATTERNS Visitor – Motivation: – Motivation: Traversing all the nodes in a graph and processing each entity individually in a breadth-first fashion. – Applicability: – Applicability: Problems that consist of or can be mapped to any kind of graph structure. – Structure in DelTa: – Example: – Example: Computing the depth level of each class in a class diagram hierarchy 22

MT DESIGN PATTERNS Visitor – Implementation:  GrGen.NET – Variations: – Variations: It is possible to change the traversal order. 23

MT DESIGN PATTERNS Fixed Point Iteration – Motivation: – Motivation: Represents a “do-until” loop for model transformations. – Applicability: – Applicability: When the problem can be solved iteratively until a fixed point is reached. – Structure in DelTa: – Examples: – Examples: Finding lowest common ancestor, calculating equivalent resistance in an electrical circuit. 24

MT DESIGN PATTERNS Fixed Point Iteration – Implementation:  MoTif – Variations: – Variations: Initiate rule can be omitted if there is no initialization at the beginning. 25

DISCUSSIONS & FUTURE WORK Each MTL offers some specialized structures – Which sometimes makes it hard to directly implement the design pattern. We try to make the language understandable and easily implementable by transformation developers – Therefore, no complex notations or formal specifications. Future work – Generating and detecting design patterns instances for a specific model transformation language. – Identifying more design patterns – Empirical validation with user studies for usability and understandability of DelTa 26

CONCLUSION Model transformation development is a hard task. – And will be better with help of design patterns. To help model transformation developers in the design phase, I have: – Created DelTa: A language for model transformation design patterns – Populated an initial collection of model transformation design patterns – Been working on how to automatically generate transformation by DelTa specifications. 27

QUESTIONS Thanks for listening… 28

MDE in Action

MDE IN ACTION The problem (from TTC 2014): – Write a transformation that works on IMDb as a model and identify all actor or actress couples which perform together in a set of at least three movies. [1] Step 1: Choose the modeling environment. – Environment: AToMPM [2] – MTL: MoTif [3] Step 2: Design a metamodel. 30 [1] [2] Syriani, E., Vangheluwe, H., Mannadiar, R., Hansen, C., Van Mierlo, S., and Ergin, H. (2013) Atompm: A web-based modeling environment. MODELS’13: Invited Talks, Demos, Posters, and ACM SRC. CEUR-WS.org. [3] Syriani, E. and Vangheluwe, H. “A Modular Timed Model Transformation Language,” Journal on Software and Systems Modeling, vol. 11, pp. 1–28, June 2011.

MDE IN ACTION Step 3: Assign concrete syntax to elements. Step 4: Create models. 31

MDE IN ACTION Step 5: Design rules to solve the problem. Step 6: Design the scheduling of the rules. 32

MDE IN ACTION Step 7: Execute the transformation on the model. 33

MDE IN ACTION Excerpts from solutions in other MTLs. GrGen.NET [1] FunnyQT [2] e-Motions [3] 34 [1] Geiß, R. and Kroll, M. (2008) GrGen. net: A fast, expressive, and general purpose graph rewrite tool. Applications of Graph Transformations with Industrial Relevance, pp. 568–569. Springer. [2] Tassilo Horn. Model querying with funnyqt - (extended abstract). In Keith Duddy and Gerti Kappel, editors, ICMT, volume 7909 of Lecture Notes in Computer Science, pages 56–57. Springer, [3] Rivera, J.E., Dur´an, F., Vallecillo, A.: On the behavioral semantics of real-time domain specific visual languages. In: WRLA. pp. 174–190 (2010)

Future Work: Generating and Detecting

3.Generating and detecting design patterns instances for a specific model transformation language. 36

FUTURE WORK Uses of DelTa – The main question is how to auto-generate transformations using DelTa. – MTLs are really diverse so DelTa is very abstract. – I will try to use Rule Diagrams. 37

FUTURE WORK Detection of DelTa Design Patterns – Automatic detection of DelTa design patterns in existing model transformation solutions. – Inputs: The model transformation and list of DelTa Design Patterns. – Output: List of DelTa Design Patterns found in the input model. – DelTa is a DSL.  Therefore, detection will be a model transformation itself. 38

In Progress: Identification of New Design Patterns

IN PROGRESS Identification of New Design Patterns – Systematic literature review of model transformation intents. – All the papers that have model transformation case studies, examples, demonstrations between – Help me see how problems are solved in different languages and settings. – Identification can be done in two methods:  Solving different problems and coming up with a common solution.  Analyzing existing examples. – With more design patterns, classification is next. 40