Using Models of Partial Knowledge to Test Model Transformations

Size: px
Start display at page:

Download "Using Models of Partial Knowledge to Test Model Transformations"

Transcription

1 Using Models of Partial Knowledge to Test Model Transformations Sagar Sen 1, Jean-Marie Mottu 2, Massimo Tisi 1, Jordi Cabot 1 1 ATLANMOD, Ecole des Mines, Nantes 2 AeLoS, Universite de Nantes, France 1

2 Outline Introduction: Model Transformation Testing Case Study: Class2RDBMS Problem: Tediousness of Creating Test Models Approach: Creating Partial Models and Automatically Completing them. Effective? Experiments based on Mutation Analysis Conclusion 2

3 Introduction Invariants Effective test models! Model Transformation Testing 3

4 Outline Introduction: Model Transformation Testing Case Study: Class2RDBMS Problem: Tediousness of Creating Test Models Approach: Creating Partial Models and Automatically Completing them. Effective? Experiments based on Mutation Analysis Conclusion 4

5 Case study: class2rdbms simple UML Class Diagrams class2rdbms RDBMS Models 1. Object persistence benchmark proposed in the MTIP workshop, MoDELS Input domain spec. covers all major metamodelling concepts such as inheritance, composition, finite and infinite multiplicities. 3. Invariants are both first-order and high-order, contains also transitive closure invariants 4. Transformation exercises most major model transformation operators such as navigation, creation, and filtering 5. Available in many transformation languages Kermeta, ATL, VIATRA, QVT 5

6 Input MM + Invariants is_primary: Boolean name: String 0..1 Attribute 1..* attrs Ecore Meta-model Class Association name: String type is_persistent: Boolean 1 dest 1 src 1 * Classifier name: String PrimitiveDataType association (a) classifier * ClassModel context Class OCL Invariants inv nocyclicinheritance: not self.allparents()->includes(self) inv uniqueattributesname: self.attrs->forall(att1, att2 att1.name=att2.name implies att1=att2) context ClassModel inv uniqueclassifiernames: self.classifier->forall(c1, c2 c1.name=c2.name implies c1=c2) inv uniqueclassassociationsourcename : self.association->forall(ass1, ass2 ass1.name=ass2.name implies (ass1=ass2 or ass1.src!= ass2.src)) (b) (a) Input metamodel MMi : Simplified UML CD (b) A subset of all invariants on MMi 6

7 Outline Introduction: Model Transformation Testing Case Study: Class2RDBMS Problem: Tediousness of Creating Test Models Approach: Creating Partial Models and Automatically Completing them. Effective? Experiments based on Mutation Analysis Conclusion 7

8 Tediousness of Creating Test Models 8

9 Tediousness of Creating Test Models : ClassModel classifier :Class classifier : Class :Class classifier : Attribute = A is_persistent = false name = B is_persistent = true name = D is_persistent = true is_primary = false name = attd attrs attrs src : Association : Attribute is_primary = true name = atta : Attribute is_primary = false name = attb dest : Class name = assodc classifier association classifier type type : PrimitiveDataType name = String type type name = C is_persistent = false attrs : Attribute is_primary = false name =attc A Human-made Test Model Problems 1. Must conform to metamodel MMi 2. Must satisfy MMi invariants 3. Must satisfy pre-conditions pre(mt) on model transformation (class2rdbms in our case) 4. Must contain (partial) knowledge to find bugs 9

10 Outline Introduction: Model Transformation Testing Case Study: Class2RDBMS Problem: Tediousness of Creating Test Models Approach: Creating Partial Models and Automatically Completing them. Effective? Experiments based on Mutation Analysis Conclusion 10

11 Partial Models to Capture Testing Intention :Class is_persistent=true :Class :Class src :Association dest (a) Expressing pure testing ideas! Hit Enter to Generate Complete Test Model? 11

12 Complete Test Model! ClassModel type type 5:PrimitiveDataType type 7:Class attrs -3:Attribute is_persistent=true is_primary=true 6:Class is_persistent=true -8:Class is_persistent=true attrs 5:Attribute is_primary=true 6:Attribute is_primary=true attrs src 4:Association dest 12

13 Question 1: Where to find partial knowledge for testing? 13

14 Where to find partial models of testing knowledge? Humans specify partial testing knowledge as model fragments Humans specify partial testing knowledge as constraints Static analysis of (faulty regions) a model transformation Analyzing (manually/automatically) existing large (human-made) test models 14

15 Question 2: How to express partial knowledge about testing? 15

16 Relaxing the Input Domain (Ramos et. al. Models, 2007) Metamodel MM Metamodel Relaxation Metamodel MM_r conforms To Partial Model m_p (a) (b) (a)relaxation of MMi to specify partial models (b) Relaxed MMi Some Properties of Relaxed MM (a) Class can have 0..* attrs instead of 1..* (b) dest 0..1 and src 0..1 instead of 1 (c) type 0..1 instead of 1 Partial Models are Graphs of Typed Objects that need not to conform to MMi 16

17 Relaxed Input MM Partial Test Model :Class is_persistent=true :Class :Class conforms to src :Association dest (a) Classes have no name or attribute (wouldn t be valid in the real input domain) 17

18 Question 3: How to complete partial models of testing knowledge? 18

19 Approach : Partial Model Completion Invariants /pre-conditions rewritten to Alloy facts Meta model MM Pramana Transformation to Alloy Executable Alloy Model A f Alloy Analyzer Partial Model m_p rewritten to an Alloy predicate Scoping Strategy No Solved? Yes Complete Model(s) m_c Operation MM to Alloy Invariant/Pre-condition to Alloy Partial Model to Alloy Completion of Alloy Model A_f Scoping Strategy Degree of Automation Automatic Manual Manual/Automatic Now Automatic Default Minimal/Manually Tunable 19

20 Metamodel + Inv. to Alloy Source Element Classes to Alloy Signatures Implicit constraints to Alloy Facts Invariants/pre-conditions to Alloy Facts Target Alloy Construct sig Class extends Classifier { is_persistent: one Bool, : lone Class, attrs : some Attribute } fact associationcontainment { all a:association a in ClassModel.association } fact nocyclicinheritance { no c: Class c in c.^ } More information: Sen S., Ph.D. Thesis: Automatic Effective Model Discovery, 2010 Sen S., Baudry B., Mottu Jean-Marie. On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing. ICST'08 20

21 Approach : Partial Model Completion Invariants /pre-conditions rewritten to Alloy facts Meta model MM Pramana Transformation to Alloy Executable Alloy Model A f Alloy Analyzer Partial Model m_p rewritten to an Alloy predicate Scoping Strategy No Solved? Yes Complete Model(s) m_c 21

22 Partial Model to Alloy Partial Model Rewritten Alloy Model :Class src :Class is_persistent=true :Association dest :Class pred PartialModel { some c1 : Class, c2: Class, c3:class c1!=c2 and c2!=c3 and c1.is_persistent=true and c2. = c1 and c3.=c1 and c2!=c3 and c2!=c1 and some a1: Association a1.src =c2 and a1.dest=c3 } Manually Specified Scoping Strategy: run partialmodel for exactly 1 ClassModel, 4 int, 3 Class, 3 Attribute, 1 PrimitiveDataType, 1 Association 22

23 Approach : Partial Model Completion Invariants /pre-conditions rewritten to Alloy facts Meta model MM Pramana Transformation to Alloy Executable Alloy Model A f Alloy Analyzer Partial Model m_p rewritten to an Alloy predicate Scoping Strategy No Solved? Yes Complete Model(s) m_c 23

24 Automatically Completed Partial Model ClassModel type :Class is_persistent=true type 5:PrimitiveDataType type 7:Class attrs -3:Attribute is_persistent=true is_primary=true :Class src :Association dest :Class 6:Class is_persistent=true -8:Class is_persistent=true attrs 5:Attribute is_primary=true 6:Attribute is_primary=true attrs src 4:Association dest Satisfying MM+invariants+pre-conditions at least one primary Attribute in a Class.. Classes inheriting from persistent are also persistent.. Classes and Associations are contained in ClassModel 24

25 Outline Introduction: Model Transformation Testing Case Study: Class2RDBMS Problem: Tediousness of Creating Test Models Approach: Creating Partial Models and Automatically Completing them. Effective? Experiments based on Mutation Analysis Conclusion 25

26 Experimental Setup 1. Mutation operators applied to class2rdbms create 200 mutants (6 equivalent mutants) 2. Mutant operators on filtering, navigation, and creation operations (Mottu et. al. ECMDA 06) 3. 8 human-made models were available from Mottu 06 to kill 100% mutants concise partial models were manually deduced from these 8 human-made models. (To be sure that they have the same testing knowledge and are comparable) non-isomorphic test models were generated for each partial model using Alloy symmetry breaking scheme. Total = 10 x 14 = 140 test models 26

27 Size of Partial Models partial model P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 from reference model M1 M1 M1 M3 M5 M6 M3 M4 M7 M3 M4 M2 M1 M8 M1 M2 M3 M4 M5 M6 M7 M8 #ClassModel #Class #name attr #is_persistent attr # relation #Association #name attr #src relation #dest relation #Attribute #is_primary attr #name attr #type relation #PrimitiveDataType #name attr Total #concept Total #concept per set of partial models: 109 of models: 231 Partial models are compressed versions of existing human-made test models! 27

28 Mutation Analysis: Detecting injected bugs Human made model Mutation Score of the model in transformations Partial models matching the human made model Mutation Score of the completed partial models Mutant killed by model also killed by completed partial models M1 57.2% P2, P3, P % 100% M2 57.2% P1, P % 50.5% M3 49% P1, P4, P7, P10, P % 89.3% M4 57.2% P1, P8, P11, P % 98.2% M5 35.6% P1, P5, P % 100% M6 61.3% P1, P2, P4, P6, P8, P12, P13, P14 83% 100% M7 47.4% P1, P9, P % 100% M8 58.2% P1, P12, P % 100% 8 models 100% 14 partial models 100% 100% Smaller partial models when completed detect 100% of the bugs detected by large meticulously designed test models. 28

29 Outline Introduction: Model Transformation Testing Case Study: Class2RDBMS Problem: Tediousness of Creating Test Models Approach: Creating Partial Models and Automatically Completing them. Effective? Experiments based on Mutation Analysis Conclusion 29

30 Conclusion We present a scientific experiment to demonstrate that partial models are sufficient and effective to specify test intentions Partial models are compact, clearly capture testing intentions, and easy to read and understand Completion of partial model is automatic. Transformation to Alloy is currently semi-automatic. Partial models when completed give 100% mutation score w.r.t. humanmade models with the same knowledge. We would like to automate transformation of a certain class of partial models to Alloy. Promote specification of partial testing knowledge that can be automatically completed. 30

31 Thank you. Pleased to Address Your Questions. 31

Automatic Model Generation Strategies for Model Transformation Testing

Automatic Model Generation Strategies for Model Transformation Testing Automatic Model Generation Strategies for Model Transformation Testing Sagar Sen 1, Benoit Baudry 1, and Jean-Marie Mottu 1 INRIA, Centre Rennes - Bretagne Atlantique, Campus universitaire de beaulieu,

More information

On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing

On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing Sagar Sen, Benoit Baudry, Jean-Marie Mottu To cite this version: Sagar Sen, Benoit Baudry, Jean-Marie Mottu. On

More information

Two Basic Correctness Properties for ATL Transformations: Executability and Coverage

Two Basic Correctness Properties for ATL Transformations: Executability and Coverage Two Basic Correctness Properties for ATL Transformations: Executability and Coverage Elena Planas 1, Jordi Cabot 2, and Cristina Gómez 3 1 Universitat Oberta de Catalunya (Spain), eplanash@uoc.edu 2 École

More information

SIMULATION : TRANSACTIONS OF THE MODELING AND SIMULATION SOCIETY, VOL. XX, NO. Y, MONTH

SIMULATION : TRANSACTIONS OF THE MODELING AND SIMULATION SOCIETY, VOL. XX, NO. Y, MONTH SIMULATION : TRANSACTIONS OF THE MODELING AND SIMULATION SOCIETY, VOL. XX, NO. Y, MONTH 2009 1 1 SIMULATION : TRANSACTIONS OF THE MODELING AND SIMULATION SOCIETY, VOL. XX, NO. Y, MONTH 2009 2 Towards Domain-specific

More information

Model Transformation Testing: The State of the Art

Model Transformation Testing: The State of the Art Model Transformation Testing: The State of the Art Gehan M. K. Selim School of Computing, Queen s University Kingston, ON, Canada gehan@cs.queensu.ca James R. Cordy School of Computing, Queen s University

More information

Instance generation from meta-models (for model transformation testing)

Instance generation from meta-models (for model transformation testing) Instance generation from meta-models (for model transformation testing) Robbe De Jongh University of Antwerp Abstract Testing model transformations is a tedious job. One needs to make a representative

More information

Coverage Criteria for Model-Based Testing using Property Patterns

Coverage Criteria for Model-Based Testing using Property Patterns Coverage Criteria for Model-Based Testing using Property Patterns Kalou Cabrera Castillos 1, Frédéric Dadeau 2, Jacques Julliand 2 1 LAAS Toulouse, France 2 FEMTO-ST Besançon, France MBT workshop April

More information

Formal Support for QVT-Relations with Coloured Petri Nets

Formal Support for QVT-Relations with Coloured Petri Nets Formal Support for QVT-Relations with Coloured Petri Nets Juan de Lara Univ. Autónoma de Madrid (Spain) MODELS 2009 Denver, Colorado, USA Esther Guerra 1 Univ. Carlos III de Madrid (Spain) Motivation Model-to-Model

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

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

Model Transformation Testing Challenges

Model Transformation Testing Challenges Model Transformation Testing Challenges Benoit Baudry 1, Trung Dinh-Trong 2, Jean-Marie Mottu 1, Devon Simmonds 2, Robert France 2, Sudipto Ghosh 2, Franck Fleurey 1, Yves Le Traon 3 1 IRISA, Campus Beaulieu,

More information

Model Transformations in Practice Workshop

Model Transformations in Practice Workshop Model Transformations in Practice Workshop Jean Bézivin, Bernhard Rumpe, Andy Schürr, Laurence Tratt University of Nantes, TU Darmstadt, TU Braunschweig, King s College London http://sosym.dcs.kcl.ac.uk/events/mtip/

More information

Formal Modeling and Analysis of a Flash File System in Alloy

Formal Modeling and Analysis of a Flash File System in Alloy Formal Modeling and Analysis of a Flash File System in Alloy Eunsuk Kang & Daniel Jackson MIT ABZ 2008 September 17, London, UK Flash memory Increasingly popular as storage device Benefits: High durability,

More information

Test Data Generation for Model Transformations Combining Partition and Constraint Analysis

Test Data Generation for Model Transformations Combining Partition and Constraint Analysis Test Data Generation for Model Transformations Combining Partition and Constraint Analysis Carlos A. González and Jordi Cabot AtlanMod, École des Mines de Nantes - INRIA, LINA, Nantes, France {carlos.gonzalez,jordi.cabot}@mines-nantes.fr

More information

Model Transformation by Graph Transformation: A Comparative Study

Model Transformation by Graph Transformation: A Comparative Study Model Transformation by Graph Transformation: A Comparative Study Karsten Ehrig 1, Esther Guerra 2, Juan de Lara 3, Laszlo Lengyel 4, Tihamer Levendovszky 4, Ulrike Prange 1, Gabriele Taentzer 1, Daniel

More information

Reading part: Design-Space Exploration with Alloy

Reading part: Design-Space Exploration with Alloy Reading part: Design-Space Exploration with Alloy Ing. Ken Vanherpen Abstract In the growing world of MDE many tools are offered to describe a (part of a) system, constrain it, and check some properties

More information

Model Transformation Techniques

Model Transformation Techniques Transformation Techniques (or: Why I'd like write programs that write programs rather than write programs) Prof. Jean-Marc Jézéquel (Univ. Rennes 1 & INRIA) Triskell Team @ IRISA Campus de Beaulieu F-35042

More information

Model Finder. Lawrence Chung 1

Model Finder. Lawrence Chung 1 Model Finder Lawrence Chung 1 Comparison with Model Checking Model Checking Model (System Requirements) STM Specification (System Property) Temporal Logic Model Checker M φ Model Finder (http://alloy.mit.edu/tutorial3/alloy-tutorial.html)

More information

Least-change Bidirectional Model Transformation with QVT-R and ATL

Least-change Bidirectional Model Transformation with QVT-R and ATL Noname manuscript No. (will be inserted by the editor) Least-change Bidirectional Model Transformation with QVT-R and ATL Nuno Macedo Alcino Cunha Received: date / Accepted: date Abstract QVT Relations

More information

MOLA Language: Methodology Sketch

MOLA Language: Methodology Sketch MOLA Language: Methodology Sketch Audris Kalnins, Janis Barzdins, Edgars Celms University of Latvia, IMCS, 29 Raina boulevard, Riga, Latvia {Audris.Kalnins, Janis.Barzdins, Edgars.Celms}@mii.lu.lv Abstract.

More information

What is Mutation Testing? Mutation Testing. Test Case Adequacy. Mutation Testing. Mutant Programs. Example Mutation

What is Mutation Testing? Mutation Testing. Test Case Adequacy. Mutation Testing. Mutant Programs. Example Mutation What is Mutation Testing? Mutation Testing Breaking the application to test it n Mutation Testing is a testing technique that focuses on measuring the adequacy of test cases n Mutation Testing is NOT a

More information

Towards Analysing Non-Determinism in Bidirectional Transformations

Towards Analysing Non-Determinism in Bidirectional Transformations Towards Analysing Non-Determinism in Bidirectional Transformations Romina Eramo, Romeo Marinelli, Alfonso Pierantonio, and Gianni Rosa Dipartimento di Ingegneria e Scienze dell Informazione e Matematica

More information

Alloy: A Lightweight Object Modelling Notation

Alloy: A Lightweight Object Modelling Notation Alloy: A Lightweight Object Modelling Notation Daniel Jackson, ACM Transactions on Software Engineering, 2002 Presented By: Steven Stewart, 2012-January-23 1 Alloy: 2002 to present Software is built on

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

A Generic Metamodel For Security Policies Mutation

A Generic Metamodel For Security Policies Mutation A Generic Metamodel For Security Policies Mutation Tejeddine Mouelhi IT-Telecom Bretagne 35576 Cesson Sévigné Cedex, France tejeddine.mouelhi@telecom-bretagne.eu Franck Fleurey, Benoit Baudry IRISA- 35042

More information

Offline Model-based Testing and Runtime Monitoring

Offline Model-based Testing and Runtime Monitoring Offline Model-based Testing and Runtime Monitoring of the Sensor Voting Module Paolo Arcaini Angelo Gargantini Elvinia Riccobene Università of Bergamo- Italy Università di Milano - Italy Tolouse, ABZ 2014

More information

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract Kermeta tutorial How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette Abstract This tutorial show how to create an EMF model for the FSM example. Published Build

More information

Pooya Saadatpanah, Michalis Famelis, Jan Gorzny, Nathan Robinson, Marsha Chechik, Rick Salay. September 30th, University of Toronto.

Pooya Saadatpanah, Michalis Famelis, Jan Gorzny, Nathan Robinson, Marsha Chechik, Rick Salay. September 30th, University of Toronto. Comparing the Pooya Michalis Jan Nathan Marsha Chechik, Rick Salay University of Toronto September 30th, 2012 MoDeVVa 12 1 / 32 in software modeling : pervasive in MDE Models with uncertainty: Represent

More information

Directives for Composing Aspect-Oriented Design Class Models

Directives for Composing Aspect-Oriented Design Class Models Directives for Composing Aspect-Oriented Design Class Models Y. R. Reddy, S. Ghosh, R. B. France, G. Straw, J. M. Bieman, N. McEachen, E. Song, G. Georg Contact Email: ghosh@cs.colostate.edu Computer Science

More information

A Directive-Based Transformation Approach for UML Class Diagrams

A Directive-Based Transformation Approach for UML Class Diagrams Int'l Conf. Software Eng. Research and Practice SERP'15 203 A Directive-Based Transformation Approach for UML Class Diagrams Devon M. Simmonds Department of Computer Science University of North Carolina,

More information

Tarski: A Platform for Automated Analysis of Dynamically Configurable Traceability Semantics

Tarski: A Platform for Automated Analysis of Dynamically Configurable Traceability Semantics Tarski: A Platform for Automated Analysis of Dynamically Configurable Traceability Semantics Ferhat Erata 1,2 Moharram Challenger 1,4 Bedir Tekinerdogan 1 Anne Monceaux 3 Eray Tuzun 5 Geylani Kardas 4

More information

CD2Alloy: Class Diagrams Analysis Using Alloy Revisited

CD2Alloy: Class Diagrams Analysis Using Alloy Revisited CD2Alloy: Class Diagrams Analysis Using Alloy Revisited Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/ Abstract. We present

More information

Comparison of the Modeling Languages Alloy and UML

Comparison of the Modeling Languages Alloy and UML Comparison of the Modeling Languages Alloy and UML Yujing He Department of Computer Science Portland State University Portland, Oregon, USA Abstract - Alloy is a new modeling language for software design,

More information

An Overview of the Alloy Language & Analyzer. What is Alloy?

An Overview of the Alloy Language & Analyzer. What is Alloy? An Overview of the Alloy Language & Analyzer Slides contain some modified content from the Alloy Tutorial by G. Dennis & R. Seater (see alloy.mit.edu) Alloy Lecture 1 1 What is Alloy? A formal language

More information

Kermeta. in compiled mode

Kermeta. in compiled mode Kermeta in compiled mode Cyril Faucher IRISA Lab / INRIA Rennes, France Triskell Group Kermeta Day - April 2nd, 2009 1 Outline Motivation Compilation process: Kmt to Java/EMF plugin Need of a model to

More information

Verification and Validation of Meta-Model Based Transformation from SysML to VHDL-AMS

Verification and Validation of Meta-Model Based Transformation from SysML to VHDL-AMS Verification and Validation of Meta-Model Based Transformation from SysML VHDL-AMS Jean-Marie Gauthier, Fabrice Bouquet, Ahmed Hammad and Fabien Peureux FEMTO-ST Institute / DISC department - UMR CNRS

More information

Validation of UML Design Model

Validation of UML Design Model Validation of UML Design Model Ashish Kumar Mishra, Dharmendra K. Yadav* The Department of Computer Science and Engineering, MNNIT Allahabad, Allahabad. * Corresponding author. Tel.: 08004486303; email:

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

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

TRACEABILITY MECHANISM FOR ERROR LOCALIZATION IN MODEL TRANSFORMATION

TRACEABILITY MECHANISM FOR ERROR LOCALIZATION IN MODEL TRANSFORMATION TRACEABILITY MECHANISM FOR ERROR LOCALIZATION IN MODEL TRANSFORMATION Vincent Aranega, Jean-Marie Mottu, Anne Etien, Jean-Luc Dekeyser LIFL, University of Lille 1, France INRIA Lille - Nord Europe, France

More information

EXAMINATIONS 2009 MID-TERM TEST. COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal Foundations of Software Engineering WITH ANSWERS

EXAMINATIONS 2009 MID-TERM TEST. COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal Foundations of Software Engineering WITH ANSWERS T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW V I C T O R I A UNIVERSITY OF WELLINGTON Time Allowed: 90 minutes EXAMINATIONS 2009 MID-TERM TEST COMP 202 / SWEN 202 Formal Methods

More information

Part I: Preliminaries 24

Part I: Preliminaries 24 Contents Preface......................................... 15 Acknowledgements................................... 22 Part I: Preliminaries 24 1. Basics of Software Testing 25 1.1. Humans, errors, and testing.............................

More information

course: Database Systems (NDBI025) SS2017/18

course: Database Systems (NDBI025) SS2017/18 course: Database Systems (NDBI025) SS2017/18 doc. RNDr. Tomáš Skopal, Ph.D. Mgr. Martin Nečaský, Ph.D. RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics,

More information

( ) Software Abstractions. With Alloy Analyzer

( ) Software Abstractions. With Alloy Analyzer Software Abstractions With Alloy Analyzer Formal methods In software engineering,formal methods are a particular kind of mathematically-based techniques for the specification,development and verification

More information

Functional Alloy Modules

Functional Alloy Modules Functional Alloy Modules Loïc Gammaitoni and Pierre Kelsen Laboratory for Advanced Software Systems University of Luxembourg 6, rue R. Coudenhove-Kalergi L-1359 Luxembourg TR-LASSY-14-02 Abstract. The

More information

CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: Models in Software Development: Methods, Techniques and Tools CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF

More information

Advanced Traceability for ATL

Advanced Traceability for ATL Advanced Traceability for ATL Andrés Yie 1,2, Dennis Wagelaar 2 1 Grupo de Construcción de Software, Universidad de los Andes, Colombia 2 System and Software Engineering Lab (SSEL), Vrije Universiteit

More information

ATL Transformation Example

ATL Transformation Example 1. ATL Transformation Example: UML2 to Measure The UML2 to Measure example describes measurement on UML2 models, using metrics defined as ATL libraries. 1.1. Transformation Overview The aim of this transformation

More information

Metamodeling with Metamodels. Using. UML/MOF including OCL

Metamodeling with Metamodels. Using. UML/MOF including OCL Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of

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

Reactive Model Transformation with ATL

Reactive Model Transformation with ATL Reactive Model Transformation with ATL Salvador Martinez, Massimo Tisi, Rémi Douence To cite this version: Salvador Martinez, Massimo Tisi, Rémi Douence. Reactive Model Transformation with ATL. Science

More information

Lazy Execution of Model-to-Model Transformations

Lazy Execution of Model-to-Model Transformations Lazy Execution of Model-to-Model Transformations Massimo Tisi, Salvador Martínez, Frédéric Jouault, and Jordi Cabot AtlanMod, INRIA & École des Mines de Nantes, France {massimo.tisi, salvador.martinez

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 07: A Type System for Visibility 2013-11-18 07 2013-11-18 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES Wolfgang Friess AUDI AG wolfgang.friess@audi.de Julio Sincero University Erlangen-Nuernberg sincero@informatik.uni-erlangen.de Wolfgang

More information

Implementing QVT-R Bidirectional Model Transformations using Alloy

Implementing QVT-R Bidirectional Model Transformations using Alloy Implementing QVT-R Bidirectional Model Transformations using Alloy Nuno Macedo and Alcino Cunha HASLAB High Assurance Software Laboratory INESC TEC & Universidade do Minho, Braga, Portugal {nfmmacedo,alcino}@di.uminho.pt

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

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

Towards xmof: Executable DSMLs based on fuml www.modelexecution.org Tanja Mayerhofer, Philip Langer, Manuel Wimmer Business Informatics Group Institute of Software Technology and Interactive Systems Vienna

More information

A Framework for Testing Model Composition Engines

A Framework for Testing Model Composition Engines A Framework for Testing Model Composition Engines Freddy Munoz, Benoit Baudry To cite this version: Freddy Munoz, Benoit Baudry. A Framework for Testing Model Composition Engines. SC 09: Proceedings of

More information

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008 SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 4: Mutations, OCL etc. Course Outline L1:

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

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

MDE 2.0 Pragmatic formal model verification

MDE 2.0 Pragmatic formal model verification MDE 2.0 Pragmatic formal model verification and other stories Jordi Cabot HdR 1 Index Introducing MDE Research in MDE A Research Agenda for MDE 2.0 Models & Quality Legacy systems Social aspects Very Large

More information

Dominique Blouin Etienne Borde

Dominique Blouin Etienne Borde Dominique Blouin Etienne Borde dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Domain specific Languages in a Nutshell Overview of Eclipse Modeling

More information

Transformation of the system sequence diagram to an interface navigation diagram

Transformation of the system sequence diagram to an interface navigation diagram Transformation of the system sequence diagram to an interface navigation diagram William Germain DIMBISOA PhD Student Laboratory of Computer Science and Mathematics Applied to Development (LIMAD), University

More information

SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language]

SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language] Lecture day 2016-04-07 SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language] - System design in an object-oriented way employing USE

More information

Specification with OCL

Specification with OCL Specification with OCL Jurriaan Hage Slides adapted from Birgit Demuth, TU Dresden e-mail: jur@cs.uu.nl homepage: http://www.cs.uu.nl/people/jur/ Department of Information and Computing Sciences, Universiteit

More information

ATL Transformation Examples. The KM3 to Metric ATL transformation

ATL Transformation Examples. The KM3 to Metric ATL transformation s The KM3 to Metric ATL transformation - version 0.1 - September 2005 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 The KM3 to Metrics ATL transformation... 1 2.1 Transformation overview...

More information

Building Attribute and Value Crosswalks in Esri Data Interoperability Extension the Scalable/Dynamic Way

Building Attribute and Value Crosswalks in Esri Data Interoperability Extension the Scalable/Dynamic Way Building Attribute and Value Crosswalks in Esri Data Interoperability Extension the Scalable/Dynamic Way Introduction: In my experience with migrating data between two different standards, the worst part

More information

Motivation State Machines

Motivation State Machines Motivation State Machines Generating test cases for complex behaviour Textbook Reading: Chapter 7 We are interested in testing the behaviour of object-oriented software systems Behaviour: Interactions

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

On Executable Meta-Languages applied to Model Transformations

On Executable Meta-Languages applied to Model Transformations On Executable Meta-Languages applied to Model Transformations Pierre-Alain Muller 1, Franck Fleurey 1, Zoé Drey 1, Damien Pollet 1, Frédéric Fondement 2, Philippe Studer 3 1 IRISA/INRIA, France pierre-alain.muller,

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

No model may be available. Software Abstractions. Recap on Model Checking. Model Checking for SW Verif. More on the big picture. Abst -> MC -> Refine

No model may be available. Software Abstractions. Recap on Model Checking. Model Checking for SW Verif. More on the big picture. Abst -> MC -> Refine No model may be available Programmer Software Abstractions Tests Coverage Code Abhik Roychoudhury CS 5219 National University of Singapore Testing Debug Today s lecture Abstract model (Boolean pgm.) Desirable

More information

A Visual Specification Language for Model-to-Model Transformations

A Visual Specification Language for Model-to-Model Transformations A Visual Specification Language for Model-to-Model Transformations Esther Guerra Computer Science Department Universidad Carlos III de Madrid Madrid, Spain eguerra@inf.uc3m.es Juan de Lara School of Computer

More information

Automated Test Generation and Mutation Testing for Alloy

Automated Test Generation and Mutation Testing for Alloy 10th IEEE International Conference on Software Testing, Verification and Validation Automated Test Generation and Mutation Testing for Alloy Allison Sullivan, Kaiyuan Wang, Razieh Nokhbeh Zaeem, and Sarfraz

More information

Draft version. Model Integration with Model Weaving: a Case Study in System Architecture

Draft version. Model Integration with Model Weaving: a Case Study in System Architecture Model Integration with Model Weaving: a Case Study in System Architecture Albin Jossic Marcos Didonet Del Fabro 2 Jean-Philippe Lerat Jean Bézivin 2 Frédéric Jouault 2 Sodius SAS 6, rue de Cornouaille,

More information

Experimenting with Multi-Level Models in a Two-Level Modeling Tool

Experimenting with Multi-Level Models in a Two-Level Modeling Tool Experimenting with Multi-Level Models in a Two-Level Modeling Tool Martin Gogolla Database Systems Group, University of Bremen, Germany gogolla@informatik.uni-bremen.de Abstract. This paper discusses two

More information

Blazo Nastov. Journée des doctorant, Nîmes, France 19 June 2014

Blazo Nastov. Journée des doctorant, Nîmes, France 19 June 2014 Apport de l Ingénierie des Langages de Modélisation à l Ingénierie Système Basée sur les Modèles : conception d une méthode outillée pour la génération de Langages Métier interopérables, analysables et

More information

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008 SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 5: OCL, ParTeG Course Outline L1: Introduction

More information

CS:5810 Formal Methods in Software Engineering

CS:5810 Formal Methods in Software Engineering CS:5810 Formal Methods in Software Engineering Introduction to Alloy Part 1 Copyright 2001-17, Matt Dwyer, John Hatcliff, Rod Howell, Laurence Pilard, and Cesare Tinelli. Created by Cesare Tinelli and

More information

Testing Methods: White Box Testing II

Testing Methods: White Box Testing II Testing Methods: White Box Testing II Outline Today we continue our look at white box testing with more code coverage methods, and a data coverage method We ll look at : - code coverage testing - decision

More information

EXAMINATIONS 2009 END-OF-YEAR. COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal Foundations of Software Engineering

EXAMINATIONS 2009 END-OF-YEAR. COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal Foundations of Software Engineering T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW V I C T O R I A UNIVERSITY OF WELLINGTON EXAMINATIONS 2009 END-OF-YEAR COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal

More information

Verification and Validation of Declarative Model-to-Model Transformations Through Invariants

Verification and Validation of Declarative Model-to-Model Transformations Through Invariants Verification and Validation of Declarative Model-to-Model Transformations Through Invariants Jordi Cabot,a, Robert Clarisó a, Esther Guerra b, Juan de Lara c a Estudis d Informàtica, Multimèdia i Telecomunicació,

More information

OCL for the Specification of Model Transformation Contracts

OCL for the Specification of Model Transformation Contracts OCL for the Specification of Model Transformation Contracts Eric Cariou, Raphaël Marvie, Lionel Seinturier, and Laurence Duchien LIFL - Université des Sciences et Technologies de Lille UMR CNRS 8022 -

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Automated Documentation Inference to Explain Failed Tests

Automated Documentation Inference to Explain Failed Tests Automated Documentation Inference to Explain Failed Tests Sai Zhang University of Washington Joint work with: Cheng Zhang, Michael D. Ernst A failed test reveals a potential bug Before bug-fixing, programmers

More information

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Profiles 166 Usage scenarios Metamodel customization for adapting terminology to a specific platform or domain adding (visual) notation adding and specializing semantics adding

More information

COS 320. Compiling Techniques

COS 320. Compiling Techniques Topic 5: Types COS 320 Compiling Techniques Princeton University Spring 2016 Lennart Beringer 1 Types: potential benefits (I) 2 For programmers: help to eliminate common programming mistakes, particularly

More information

Formal Support for QVT-Relations with Coloured Petri Nets

Formal Support for QVT-Relations with Coloured Petri Nets Formal Support for QVT-Relations with Coloured Petri Nets Juan de Lara 1 and Esther Guerra 2 1 Universidad Autónoma de Madrid (Spain), jdelara@uam.es 2 Universidad Carlos III de Madrid (Spain), eguerra@inf.uc3m.es

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

An example of a hierarchical system model using SEAM and its formalization in Alloy

An example of a hierarchical system model using SEAM and its formalization in Alloy University of Wollongong Research Online Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences 2007 An example of a hierarchical system model using SEAM and its formalization

More information

March 2, Homepage:

March 2, Homepage: Action Semantics for an Executable UML Thomas Feng March 2, 2003 Email: thomas@email.com.cn Homepage: http://moncs.cs.mcgill.ca/people/tfeng/ Why are we interested in semantics? Other than syntax, the

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

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

CIS 771: Software Specifications. Lecture 14: Advanced OCL Expressions

CIS 771: Software Specifications. Lecture 14: Advanced OCL Expressions CIS 771: Software Specifications Lecture 14: Advanced OCL Expressions Copyright 2001-2002, Matt Dwyer, John Hatcliff, and Rod Howell. The syllabus and all lectures for this course are copyrighted materials

More information

REFACTORING is the process of changing a program

REFACTORING is the process of changing a program 1 Automated Behavioral Testing of Refactoring Engines Gustavo Soares, Member, IEEE, Rohit Gheyi and Tiago Massoni Abstract Refactoring is a transformation that preserves the external behavior of a program

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 03: White-Box Testing (Textbook Ch. 5) Spring 2013 Dietmar Pfahl email: dietmar.pfahl@ut.ee Lecture Chapter 5 White-box testing techniques (Lab 3) Structure of Lecture

More information

TETRA Box A Generic White-Box Testing Framework for Model Transformations

TETRA Box A Generic White-Box Testing Framework for Model Transformations TETRA Box A Generic White-Box ing Framework for Model s J. Schönböck Upper Austrian University of Applied Sciences, Hagenberg, Austria Email:johannes.schoenboeck@fh-hagenberg.at G. Kappel, and M. Wimmer

More information

Models versus Ontologies - What's the Difference and where does it Matter?

Models versus Ontologies - What's the Difference and where does it Matter? Models versus Ontologies - What's the Difference and where does it Matter? Colin Atkinson University of Mannheim Presentation for University of Birmingham April 19th 2007 1 Brief History Ontologies originated

More information