Studying Model Transformation Chains for Model Driven Engineering Levi Lúcio, McGill University.

Slides:



Advertisements
Similar presentations
Eugene Syriani and Huseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Advertisements

Model Transformation Verification: some theory and some practice Levi Lúcio MSDL Lab / NECSIS project McGill University.
Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient High-integrity Multi-core Systems Artemis-AAL day 7 May, Budapest 1BME and.
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Budapest University of Technology and EconomicsDagstuhl 2004 Department of Measurement and Information Systems 1 Towards Automated Formal Verification.
A Technique for Automatic Validation of Model Transformations Levi Lúcio and Bruno Barroca Universidade Nova de Lisboa.
Eugene Syriani * † Hans Vangheluwe * ‡ Amr Al Mallah * † * ‡ Tuscaloosa, AL Montreal, Canada Antwerp, Belgium.
Higher-Order Transformation Eugene SyrianiandHans Vangheluwe.
Professor John Hosking, Dean of Engineering and Computer Science Models, Modelling, MBSE.
Hydra (A General Framework for Formalizing UML with Formal Languages for Embedded Systems*) *from the Ph.D. thesis of William E. McUmber Software Engineering.
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.
Hüseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Introduction Complex Engineered Systems
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Hüseyin Ergin Dr. Eugene Syriani Dr. Jeff Gray Dr. Nicholas Kraft Dr. Richard Borie Advisor : Committee Members :
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM’09 Explicit Transformation Modelling Thomas.
Object-Oriented Analysis and Design
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp Hans Schippers Dirk.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Presenter: PCLee Design Automation Conference, ASP-DAC '07. Asia and South Pacific.
Describing Syntax and Semantics
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
A Survey of Software Refactoring Tom Mens, Tom Tourwé
1 Yolanda Gil Information Sciences InstituteJanuary 10, 2010 Requirements for caBIG Infrastructure to Support Semantic Workflows Yolanda.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Verification of Translation Model Transformations Levi Lúcio †, Bentley James Oakes, and Hans Vangheluwe †,‡ † School of Computer Science, McGill University,
Verification of Model Transformations for Real Verifying Model Transformations for Real Levi Lúcio work done jointly with: Bentley James Oakes, McGill.
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,
Introduction to MDA (Model Driven Architecture) CYT.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
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
Levi Lúcio School of Computer Science McGill University Canada (with Joachim Denil, Sadaf Mustafiz, Hans Vangheluwe, Bart Meyers, Maris Jukss and Raphael.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
1 Introduction to Software Engineering Lecture 1.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Formal Methods.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
2000 Research Overview Dr. Kim Mens Programming Technology Lab Vrije Universiteit Brussel.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Mechanisms for Requirements Driven Component Selection and Design Automation 최경석.
DSM-TP 2016 Verification of Model Transformations and DSLs in Industry Levi Lúcio Joint work with: Bentley James Oakes, Cláudio Gomes, Salman Rahman and.
Dynamic structure modelling for Causal Block Diagrams
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Introduction to Unified Modeling Language (UML)
Software Design Methodology
Model-Driven Analysis Frameworks for Embedded Systems
Analysis models and design models
Department of Computer Science Abdul Wali Khan University Mardan
Dept. of Computation, UMIST
UNIT-II CHAPTER-4 SOFTWARE REQUIREMENT DEFINITION
Presentation transcript:

Studying Model Transformation Chains for Model Driven Engineering Levi Lúcio, McGill University

The NECSIS Project “NECSIS is focused on the advancement of a software methodology, called Model-Driven Engineering (MDE), that can yield dramatic improvements in software-developer productivity and product quality. “ Collaboration between: McMaster University, University of Waterloo, University of British Columbia, CRIM (Centre de recherche informatique de Montréal), McGill University, Queen’s University, University of Toronto, University of Victoria and General Motors of Canada, IBM Canada and Malina Software.

Presentation Structure The Power Window case study – Work done with: Joachim Denil (Antwerp), Sadaf Mustafiz (McGill), Hans Vangheluwe (McGill / Antwep), Bart Meyers (Antwerp), Maris Jukss (McGill) and Raphael Mannadiar (McGill) Intents of model transformations – Work done with: Moussa Amrani (Luxembourg), Jürgen Dingel (Queens), Leen Lambers (Potsdam / Hasso Plattner), Rick Salay (Toronto), Gehan Selim (Queens), Eugene Syriani (Alabama) and Manuel Wimmer (Malaga)

Presentation Structure The Power Window case study – Work done with: Joachim Denil (Antwerp), Sadaf Mustafiz (McGill), Hans Vangheluwe (McGill / Antwep), Bart Meyers (Antwerp), Maris Jukss (McGill) and Raphael Mannadiar (McGill) Intents of model transformations – Work done with: Moussa Amrani (Luxembourg), Jürgen Dingel (Queens), Leen Lambers (Potsdam / Hasso Plattner), Rick Salay (Toronto), Gehan Selim (Queens), Eugene Syriani (Alabama) and Manuel Wimmer (Malaga)

Case Study: MDE based development of control software for Automobiles’ Power Windows L. Lúcio, J. Denil, and H. Vangheluwe, “An Overview of Model Transformations for a Simple Automotive Power Window,” McGill University, Tech. Rep. SOCS-TR , 2012.

Transformation Chains 28 formalisms 50 transformations

Transformation Chains FTG (Formalism Transformation Graph)+PM (Process Model), UML 2.0 Activity Diagrams

Transformation Chains Formalism (Metamodel) Model

Transformation Chains Plant DSL Formalism Plant DSL Model

Transformation Chains Transformation Definition Transformation Execution

Transformation Chains Transformation Definition (1 rule) Transformation Execution

Transformation Chains

We have formalised the FTG+PM language… Levi Lúcio, Joachim Denil, Sadaf Mustafiz and Hans Vangheluwe, "The Formalism Transformation Graph as a Guide to Model Driven Engineering", School of Computer Science, McGill University, March 2012, SOCS-TR

… and implemented it in AToMPM ?AToMPM ! Sadaf Mustafiz, Joachim Denil, Levi Lúcio, Hans Vangheluwe, “The FTG+PM Framework for Multi-Paradigm Modelling: An Automotive Case Study” Accepted at

Advantages of having an explicit representation of the MDE process Repository of formalisms Repository of transformations Automation Reuse Mining of higher order transformation chain data becomes possible… … among which properties of model transformations and their chains.

Presentation Structure The Power Window case study – Work done with: Joachim Denil (Antwerp), Sadaf Mustafiz (McGill), Hans Vangheluwe (McGill / Antwep), Bart Meyers (Antwerp), Maris Jukss (McGill) and Raphael Mannadiar (McGill) Intents of model transformations – Work done with: Moussa Amrani (Luxembourg), Jürgen Dingel (Queens), Leen Lambers (Potsdam / Hasso Plattner), Rick Salay (Toronto), Gehan Selim (Queens), Eugene Syriani (Alabama) and Manuel Wimmer (Malaga)

Property (kind) Transformation Formal Verification (Fv) Technique Verification of Model Transformations Language How to express a transformation? Definition What is a transformation? Classification How to categorise transformations? Transformation – Related Property Language – Related Property Type I: Transformation Independent / Input Independent Type II: Transformation Dependent / Input Independent Type II: Transformation Dependent / Input Dependent

Property (kind) Transformation Formal Verification (Fv) Technique Impact of the transformation’s intention on the properties of interest Impact of the transformation’s paradigm and form on the F V technique used M. Amrani, L. Lúcio, G. Selim, B. Combemale, J. Dingel, H. Vangheluwe, Y. Le Traon, and J. R. Cordy, “A Tridimensional Approach for Studying the Formal Verification of Model Transformations,” in Verification of Model Transformations

Intents of Model Transformations “A model transformation is an automated manipulation of models according to a specific intent.“ E. Syriani, “A Multi-Paradigm Foundation for Model Transformation Language Engineering,” Ph.D. Thesis, McGill University, 2011 Working Definition: A model transformation intent is a description of the goal behind the model transformation and the reason for using it. Moussa Amrani, Jürgen Dingel, Leen Lambers, Levi Lúcio, Rick Salay, Gehan Selim, Eugene Syriani and Manuel Wimmer, “A Tridimensional Approach for Studying the Formal Verification of Model Transformations,” in

Intent Catalog IntentDescription Refinement Refinement produces a lower level specification (e.g., a platform-specific model) from a higher level specification (e.g., a platform-independent model). A model m1 refines another model m2 if m1 can answer all questions that m2 can answer. For example, a non-deterministic finite state automaton (NFA) can be refined into a deterministic finite state automaton (DFA). Abstraction Abstraction is the inverse of refinement: if m1 refines m2 then m2 is an abstraction of m1. For example, an NFA is an abstraction of a DFA. Synthesis A model is synthesized into a well-defined language format that can be stored, such as in serialization. Model-to-code generation is the case where the target language is source code in a programming language. E.g., Java code can be synthesized from a UML class diagram model. Translational Semantics The semantics of a language can be defined in terms of another formalism. In this case, the semantic mapping function of the original language is defined by a model transformation that translates any of its instances to a valid instance of the reference formalism with well-defined semantics. For example, the meaning of a Causal Block Diagram is given by mapping it onto an Ordinary Differential Equation. Analysis A model transformation can be used to map a modeling language to a formalism that can be analysed more appropriately than the original language. The target language is typically a formal language with known analysis techniques. For example, a Petri net model is transformed into a reachability graph on which liveness properties can be evaluated.

Intent Catalog Simulation A simulation is a model transformation that updates the state of the system modeled. A simulation defines the operational semantics of the modeling language. For example, a model transformation can simulate a Petri net model and produces a trace of the transition firing. Refactoring Model refactoring is a restructuring that changes the internal structure of the model to improve certain quality characteristics without changing its observable behavior. Composition Model composition integrates models that have been produced in isolation into a compound model. Typically, each isolated model represents a concern which may overlap. On the one hand, model merging creates a new model such that every element from each model is present exactly once in the merged model. On the other hand, model weaving creates correspondence links between overlapping entities. … … T. Mens, K. Czarnecki, and P. Van Gorp, “A Taxonomy Of Model Transformation,” ENTCS, vol. 152, pp. 125–142, K. Czarnecki and S. Helsen, “Feature-Based Survey of Model Transformation Approaches,” IBM Systems J., vol. 45(3), pp. 621–645, 2006 M. Tisi, F. Jouault, P. Fraternali, S. Ceri, and J. Bézivin, “On the Use of Higher-Order Model Transformations,” in ECMDA-FA, 2009, pp. 18–33

Formalising Intent The name used to identify the intent An informal description of the underlying goal of the intent A description of when to use a transformation with this intent i.e., what problems can it be used to solve? Examples of transformations that have this intent True iff it is possible for an exogeneous transformation to have this intent True iff it is possible for an endogenous transformation to have this intent The conditions that must hold before this intent applies A property that a transformation must have in order to have this intent A transformation property that is relevant for this intent. Another intent that is often associated with this intent

The Analysis intent T. Kühne, G. Mezei, E. Syriani, H. Vangheluwe, and M. Wimmer, “Systematic Transformation Development,” ECEASST, vol. 21, 2009 J. de Lara and G. Taentzer, “Automated Model Transformation and its Validation Using AToM3 and AGG,” in Diagrams, 2004, pp. 182–198 B. König and V. Kozioura, “Augur 2–A New Version of a Tool for the Analysis of Graph Transformation Systems,” Electronic Notes in Theoretical Computer Science (ENTCS), vol. 211, pp. 201–210, 2008 D. Varro, S. Varro-Gyapay, H. Ehrig, U. Prange, and G. Taentzer, “Termination Analysis of Model Transformations by Petri Nets,” Int. Conference on Graph Transformations, pp. 260–274, 2006 A. Narayanan and G. Karsai, “Verifying Model Transformations by Structural Correspondence,” ECEASST, vol. 10, 2008 A. Narayanan and G. Karsai, “Towards Verifying Model Transformations,” ENTCS, vol. 211, pp. 191– 200, 2008 J. Rivera, E. Guerra, J. de Lara, and A. Vallecillo, “Analyzing Rule- Based Behavioral Semantics of Visual Modeling Languages with Maude,” Software Language Engineering, pp. 54–73, 2009 B. Schätz, F. Hölzl, and T. Lundkvist, “Design-Space Exploration Through Constraint-Based Model- Transformation,” in Engineering of Computer Based Systems Workshop (ECBS), 2010, pp. 173–182

The Analysis intent: attributes NameAnalysis

The Analysis intent: attributes NameAnalysis DescriptionTo indirectly analyse a property of the input model by running the analysis algorithm on the transformation’s output model

The Analysis intent: attributes NameAnalysis DescriptionTo indirectly analyse a property of the input model by running the analysis algorithm on the transformation’s output model UseContextNeed to analyse models that are not analysable in the transformation’s input language, or are more efficiently analysable in the transformation’s output language

The Analysis intent: attributes NameAnalysis DescriptionTo indirectly analyse a property of the input model by running the analysis algorithm on the transformation’s output model UseContextNeed to analyse models that are not analysable in the transformation’s input language, or are more efficiently analysable in the transformation’s output language ExampleTransforming graph rewriting systems into Petri Nets to analyse them for termination (e.g. Varró et al, ICGT 2006)

The Analysis intent: attributes NameAnalysis DescriptionTo indirectly analyse a property of the input model by running the analysis algorithm on the transformation’s output model UseContextNeed to analyse models that are not analysable in the transformation’s input language, or are more efficiently analysable in the transformation’s output language ExampleTransforming graph rewriting systems into Petri Nets to analyse them for termination (e.g. Varró et al, ICGT 2006) canBeExogenousTrue

The Analysis intent: attributes NameAnalysis DescriptionTo indirectly analyse a property of the input model by running the analysis algorithm on the transformation’s output model UseContextNeed to analyse models that are not analysable in the transformation’s input language, or are more efficiently analysable in the transformation’s output language ExampleTransforming graph rewriting systems into Petri Nets to analyse them for termination (e.g. Varró et al, ICGT 2006) canBeExogenousTrue canBeEndogenousTrue (if transforming to a profile of the original language)

The Analysis intent: attributes NameAnalysis DescriptionTo indirectly analyse a property of the input model by running the analysis algorithm on the transformation’s output model UseContextNeed to analyse models that are not analysable in the transformation’s input language, or are more efficiently analysable in the transformation’s output language ExampleTransforming graph rewriting systems into Petri Nets to analyse them for termination (e.g. Varró et al, ICGT 2006) canBeExogenousTrue canBeEndogenousTrue (if transforming to a profile of the original language) Preconditions1.Access to intended semantics, 2.The property of interest (that should be analysed) is defined 3.A verification method exists for analyzing the property of interest on the target language 4.There exists a method to translate the property of interest onto the transformation’s output language (if the transformation is exogenous)

The Analysis intent: associations mandatoryProperty1.Termination 2.Type correctness 3.Preservation of the property of interest (specialises Property preservation) 4.Analysis result can be mapped back onto the input model (specialises Traceability)

The Analysis intent: associations mandatoryProperty1.Termination 2.Type correctness 3.Preservation of the property of interest (specialises Property preservation) 4.Analysis result can be mapped back onto the input model (specialises Traceability) optionalProperty1.Readability of the transformation’s output for debugging purposes 2.Semantics of the input language is formally defined (specialises Mathematical underpinning)

The Analysis intent: associations mandatoryProperty1.Termination 2.Type correctness 3.Preservation of the property of interest (specialises Property preservation) 4.Analysis result can be mapped back onto the input model (specialises Traceability) optionalProperty1.Readability of the transformation’s output for debugging purposes 2.Semantics of the input language is formally defined (specialises Mathematical underpinning) relatedIntentTranslational Semantics, Simulation

The Analysis Intent in the Power Window transformation chain

Satisfies preconditions 1,2,3, missing 4 “There exists a method to translate the property of Interest onto the transformation’s output language” Satisfies properties 1,2,3, missing 4 “Analysis result can be mapped back onto the input model” Satisfies no optional properties Build a Petri net representation of a specialised model of the passenger’s interactions with the power window. Allows checking power window security requirements. The intent is analysis!

The Analysis Intent in the Power Window transformation chain Build a Petri net representation of a specialised model of the power window physical configuration. Allows checking power window security requirements. Satisfies preconditions 1,2,3, missing 4 “There exists a method to translate the property of Interest onto the transformation’s output language” Satisfies properties 1,2,3, missing 4 “Analysis result can be mapped back onto the input model” Satisfies no optional properties The intent is analysis!

The Analysis Intent in the Power Window transformation chain Build a Petri net representation of a specialised model of the power window control software. Allows checking power window security requirements. Satisfies preconditions 1,2,3, missing 4 “There exists a method to translate the property of Interest onto the transformation’s output language” Satisfies properties 1,2,3, missing 4 “Analysis result can be mapped back onto the input model” Satisfies no optional properties The intent is analysis!

The Analysis Intent in the Power Window transformation chain

Build an equational algebraic representation of the dynamic behavior of the involved hardware components from an AUTOSAR specification. Allows checking processor load distribution. Satisfies preconditions 1,2,3,4 Satisfies properties 1,2,3,4 Satisfies optional properties 1 The intent is analysis!

The Analysis Intent in the Power Window transformation chain

Build an equational algebraic representation of the dynamic behavior of the involved hardware and software components from an AUTOSAR specification. Allows checking software response times. Satisfies preconditions 1,2,3,4 Satisfies properties 1,2,3,4 Satisfies optional properties 1 The intent is analysis!

The Analysis Intent in the Power Window transformation chain

Build a DEVS representation of the deployment solution to check for latency times, deadlocks and lost messages. Satisfies preconditions 1,2,4 (missing 3) “A verification method exists for analyzing the property of interest on the target language” Satisfies properties 1,2,3,4 Satisfies optional properties 1 The intent is NOT analysis!

Other intentions: Query

Other intentions: Synthesis

Other intentions: Refinement

Other intentions: Abstraction

Other intentions: Translational Semantics

Other intentions: Simulation

Other intentions: Composition

Future Work Describe other intents according to our metamodel Complete the power window case study with transformation intention information Understand the usefulness of our catalog: – Are intents “requirement patterns” for transformations? – Can we go one step further and mathematically formalise intents? Reasoning over transformation chains

Property (kind) Transformation Formal Verification (Fv) Technique Impact of the transformation’s intention on the properties of interest Impact of the transformation’s paradigm and form on the F V technique used Future Work ?