On the Correctness of Model Transformations. Matthew Nizol CSE 814, Fall 2014 Thursday, December 11, 2014

Size: px
Start display at page:

Download "On the Correctness of Model Transformations. Matthew Nizol CSE 814, Fall 2014 Thursday, December 11, 2014"

Transcription

1 On the Correctness of Model Transformations Matthew Nizol CSE 814, Fall 2014 Thursday, December 11, 2014

2 Agenda Context: Model-driven development Background on verification techniques Presentation of each technique Comparison of techniques

3 Context: What do we mean by Model? An abstraction of a software system Many types of models in software development: Dimension Formal vs. informal Static vs. dynamic High- vs. low-level Visual vs. textual Examples Alloy spec vs. whiteboard sketch Class diagram vs. state chart Ontology vs. XML schema UML vs. program code

4 Context: Model-driven Development Problem: Complex software hard to develop Related artifacts hard to keep synchronized Solution: Models increase the abstraction level of development Transformations formalize relationships between models

5 Model Transformations Convert source model to target model Composed of transformation rules Rules may be imperative or declarative Example applications: Exogenous Code generation Reverse engineering Language migration Endogenous Refactoring Optimization Refinement

6 Transformation Properties Category Syntax Semantics Execution of the transformation Examples Type correctness Well-formedness Correspondence Preservation Confluence Termination

7 Verification Approaches Informal: Testing Inspection Formal: Model Checking Theorem Proving Graph-theoretic

8 Verification Approaches Informal: Testing Inspection Formal: Model Checking Theorem Proving Graph-theoretic Source Model Transformation Target Direct Indirect

9 Approach 1: Indirect, Model Checking Figure adapted from Varro et al.

10 Example: Source Model

11 Example: Target Model (Petri Net) Tool: pneditor.org

12 Example: Target Model (Petri Net) Tool: pneditor.org

13 Example: Target Model (Petri Net) Tool: pneditor.org

14 Example: Target Model (Petri Net) Tool: pneditor.org

15 Example: Target Model (Petri Net) Tool: pneditor.org

16 Example: Target Model (Petri Net) Tool: pneditor.org

17 Example: Source to NuSMV (Partial) MODULE sensor(resumemsg) VAR state : {imagecapture, processimage, computedist, waiting}; transition : {captured, clear, obstacle, closeobs, resume}; ASSIGN init(state) := imagecapture; next(state) := case state = imagecapture & transition = captured : processimage; state = waiting & transition = resume : imagecapture; TRUE : state; esac; next(transition) := case state = imagecapture : captured; state = processimage : {clear, obstacle}; state = computedist : {clear, closeobs}; state = waiting & resumemsg : resume; TRUE : transition; esac;

18 Example: Source to NuSMV (Partial) MODULE sensor(resumemsg) VAR state : {imagecapture, processimage, computedist, waiting}; transition : {captured, clear, obstacle, closeobs, resume}; ASSIGN init(state) := imagecapture; next(state) := case Define states and transitions state = imagecapture & transition = captured : processimage; state = waiting & transition = resume : imagecapture; TRUE : state; esac; next(transition) := case state = imagecapture : captured; state = processimage : {clear, obstacle}; state = computedist : {clear, closeobs}; state = waiting & resumemsg : resume; TRUE : transition; esac;

19 Example: Source to NuSMV (Partial) MODULE sensor(resumemsg) VAR state : {imagecapture, processimage, computedist, waiting}; transition : {captured, clear, obstacle, closeobs, resume}; ASSIGN init(state) := imagecapture; next(state) := case Define initial state state = imagecapture & transition = captured : processimage; state = waiting & transition = resume : imagecapture; TRUE : state; esac; next(transition) := case state = imagecapture : captured; state = processimage : {clear, obstacle}; state = computedist : {clear, closeobs}; state = waiting & resumemsg : resume; TRUE : transition; esac;

20 Example: Source to NuSMV (Partial) MODULE sensor(resumemsg) VAR state : {imagecapture, processimage, computedist, waiting}; transition : {captured, clear, obstacle, closeobs, resume}; ASSIGN init(state) := imagecapture; next(state) := case state = imagecapture & transition = captured : processimage; state = waiting & transition = resume : imagecapture; TRUE : state; esac; next(transition) := Define next state given a case state = imagecapture : transition captured; state = processimage : {clear, obstacle}; state = computedist : {clear, closeobs}; state = waiting & resumemsg : resume; TRUE : transition; esac;

21 Example: Source to NuSMV (Partial) MODULE sensor(resumemsg) VAR state : {imagecapture, processimage, computedist, waiting}; transition : {captured, clear, obstacle, closeobs, resume}; ASSIGN init(state) := imagecapture; next(state) := case state = imagecapture & transition = captured : processimage; state = waiting & transition = resume : imagecapture; TRUE : state; esac; next(transition) := Define legal transitions from a state case state = imagecapture : captured; state = processimage : {clear, obstacle}; state = computedist : {clear, closeobs}; state = waiting & resumemsg : resume; TRUE : transition; esac;

22 Example: Some properties we can prove UML G (s.state = closeobs -> Petri Net G (closeobs -> F turning) F a.state = turning) G (a.state = turning -> G (turning -> waiting) s.state = waiting) G ((s.state = imagecapture s.state = processimage) -> a.state = moving) G ((imgcap procimg) -> moving)

23 Approach 2: Direct, Deductive Reasoning A model transformation can be represented as a series of rules in a control graph Rule 1 Rule 2 Rule 4 Rule 3 ADL (Assertion Description Language) permits reasoning on such transformations

24 Assertion Description Language (ADL) An ADL sentence is of the form: <location> : <assertion> A location is relative to a node in the control graph, e.g. before(rule 1) or after(rule 1) An assertion has the form: <operator> <pattern>

25 ADL Operators Operator None P Exists P Any P1 P2 ForOne P1 P2 ForEach P1 P2 Terminates Semantics Pattern P is not in the model Pattern P is in the model If Pattern P1 is present, so is P2 P2 replaces one instance of P1 P2 replaces every instance of P1 The rule terminates

26 Example: Flattening a model Example adapted from Asztalos et al.

27 Example: Transformation rules Rule 1 Rule 2 Rule 3

28 Example: Property and Precondition If a path exists before deleting the composite node, the path exists afterwards: Before(rule 3): None P1 Before(rule 3): None P2 Preconditions: Before(rule 1): Any P1 LHS1 Before(rule 1): Any P2 LHS1

29 Example: Proof Deduction Before(r1): Any P2 LHS1 After(r1): None LHS1 After(r1): None P2 After(r2): Exists P2 Before(r2): Exists P2 Before(r2): None P2 After(r2): None P2 After(r2): None P2 Justification Precondition Application of rule 1 (1), (2) + P2 is a subgraph of LHS1 Rule 2 only removes composite edges Contrapositive of (4) Modus Ponens with (3), (5) Note: Control graph is linear so Before(n) is equivalent to After(n)

30 Discussion Verification coverage Transformation considered Generality Indirect, Model Chk Single source model Transient process Everything a black box Direct, Deductive All source models Persistent artifact Requires use of ADL, graph transformations

31 Discussion Expressivity Effort Scalability Indirect, Model Chk Language of chosen tool Transformation to tool formalism and of properties State explosion. Can be alleviated during translation to tool. Direct, Deductive Pattern-based properties Manual proof required. Unclear how theoretical deduction rules can be efficiently decided.

32 References [1] L. Ab. Rahim and J. Whittle. A survey of approaches for verifying model transformations. Software & Systems Modeling, pages 1-26, [2] K. Anastasakis, B. Bordbar, and J. M. Kuster. Analysis of model transformations via Alloy. In Proceedings of the 4th MoDeVVa workshop, Model-Driven Engineering, Verification and Validation, pages 47-56, [3] M. Asztalos, L. Lengyel, and T. Levendovszky. Towards automated, formal verification of model transformations. In Software Testing, Verification and Validation (ICST), 2010 Third International Conference on, pages 15-24, April [4] E. M. Clarke, O. Grumberg, and D. A. Peled. Model Checking. The MIT Press, [5] H. Ehrig. Fundamentals of algebraic graph transformation, chapter General Introduction, pages Springer Verlag, 2006.

33 References [6] B. Hailpern and P. Tarr. Model-driven development: The good, the bad, and the ugly. IBM Syst. J., 45(3): , July [7] R. Heckel. Graph transformation in a nutshell. Electronic Notes in Theoretical Computer Science, 148(1): , Proceedings of the School of SegraVis Research Training Network on Foundations of Visual Modelling Techniques (FoVMT 2004). [8] T. Mens and P. V. Gorp. A taxonomy of model transformation. Electronic Notes in Theoretical Computer Science, 152(0): , Proceedings of the International Workshop on Graph and Model Transformation (GraMoT 2005). [9] T. Murata. Petri nets: Properties, analysis and applications. Proceedings of the IEEE, 77(4): , Apr [10] D. C. Schmidt. Guest editor's introduction: Model-driven engineering. Computer, 39(2):25-31, [11] D. Varro and A. Pataricza. Automated formal verification of model transformations. In CSDUML 2003: Critical Systems Development in UML; Proceedings of the UML'03 Workshop, pages 63-78, September 2003.

A Formalism for Automated Verification of Model Transformations

A Formalism for Automated Verification of Model Transformations Magyar Kutatók 10. Nemzetközi Szimpóziuma 10 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics A Formalism for Automated Verification of Model Transformations

More information

Termination Analysis of the Transformation UML to CSP

Termination Analysis of the Transformation UML to CSP Magyar Kutatók 8. Nemzetközi Szimpóziuma 8 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics Termination Analysis of the Transformation UML to CSP Márk Asztalos,

More information

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Somayeh Azizi 1, Vahid Panahi 2 Computer science department, Sama Technical and vocational, Training

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

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

Applying a Model Transformation Taxonomy to Graph Transformation Technology

Applying a Model Transformation Taxonomy to Graph Transformation Technology Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Applying a Model Transformation Taxonomy to Graph Transformation

More information

Towards a UML Profile for Service-Oriented Architectures 1

Towards a UML Profile for Service-Oriented Architectures 1 Towards a UML Profile for Service-Oriented Architectures 1 Reiko Heckel, Marc Lohmann, and Sebastian Thöne Faculty of Computer Science, Electrical Engineering and Mathematics University of Paderborn, Germany

More information

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications Hartmut Ehrig 1, Claudia Ermel 1 and Gabriele Taentzer 2 1 Technische Universität Berlin, Germany

More information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

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

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis SETra 2004 Preliminary Version Detecting Structural Refactoring Conflicts Using Critical Pair Analysis Tom Mens 1 Software Engineering Lab Université de Mons-Hainaut B-7000 Mons, Belgium Gabriele Taentzer

More information

Motivation: Model-driven. driven Engineering. Semantics of Model Transformation. Reiko Heckel University of Leicester, UK

Motivation: Model-driven. driven Engineering. Semantics of Model Transformation. Reiko Heckel University of Leicester, UK Semantics of Model Transformation Reiko Heckel University of Leicester, UK, University of Birmingham, 1 March 2007 Motivation: Model-driven driven Engineering Focus and primary artifacts are models instead

More information

Practical Formal Verification of Domain-Specific Language Applications

Practical Formal Verification of Domain-Specific Language Applications Practical Formal Verification of Domain-Specific Language Applications Greg Eakman 1, Howard Reubenstein 1, Tom Hawkins 1, Mitesh Jain 2, and Panagiotis Manolios 2 1 BAE Systems, Burlington MA 01803, USA

More information

2nd Belgian-Dutch workshop on Software Evolution

2nd Belgian-Dutch workshop on Software Evolution 2nd Belgian-Dutch workshop on Software Evolution BENEVOL 2004 8-9 July 2004 University of Antwerp Belgium Problem statement More and better tool support needed for software evolution traceability management

More information

Formal Foundations of Software Engineering

Formal Foundations of Software Engineering Formal Foundations of Software Engineering http://d3s.mff.cuni.cz Martin Nečaský Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Goals of the course Show methods and tools

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

Integrating SysML and OWL

Integrating SysML and OWL Integrating SysML and OWL Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. To use OWL2 for modeling a system design one must be able to construct

More information

Overview of Formal Concepts for Model Transformations Based on Typed Attributed Graph Transformation

Overview of Formal Concepts for Model Transformations Based on Typed Attributed Graph Transformation Electronic Notes in Theoretical Computer Science 152 (2006) 3 22 www.elsevier.com/locate/entcs Overview of Formal Concepts for Model Transformations Based on Typed Attributed Graph Transformation Hartmut

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

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

Experiences with OWL-S, Directions for Service Composition:

Experiences with OWL-S, Directions for Service Composition: Experiences with OWL-S, Directions for Service Composition: The Cashew Position Barry Norton 1 Knowledge Media Institute, Open University, Milton Keynes, UK b.j.norton@open.ac.uk Abstract. Having used

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

Part II. Hoare Logic and Program Verification. Why specify programs? Specification and Verification. Code Verification. Why verify programs?

Part II. Hoare Logic and Program Verification. Why specify programs? Specification and Verification. Code Verification. Why verify programs? Part II. Hoare Logic and Program Verification Part II. Hoare Logic and Program Verification Dilian Gurov Props: Models: Specs: Method: Tool: safety of data manipulation source code logic assertions Hoare

More information

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system. Introduction to Formal Methods 1 Introduction to Formal Methods 2 Formal Specification Requirements specification R notational statement of system services Software specification R formal abstract depiction

More information

EMF Model Refactoring based on Graph Transformation Concepts

EMF Model Refactoring based on Graph Transformation Concepts Page 29 EMF Model Refactoring based on Graph Transformation Concepts Enrico Biermann *, Karsten Ehrig **, Christian Köhler *, Günter Kuhns *, Gabriele Taentzer *, Eduard Weiss * *Department of Computer

More information

A SMIL Editor and Rendering Tool for Multimedia Synchronization and Integration

A SMIL Editor and Rendering Tool for Multimedia Synchronization and Integration A SMIL Editor and Rendering Tool for Multimedia Synchronization and Integration Stephen J.H. Yang 1, Norman W.Y. Shao 2, Kevin C.Y. Kuo 3 National Central University 1 National Kaohsiung First University

More information

Model Checking Object-Z Specification Using SPIN

Model Checking Object-Z Specification Using SPIN Sensors & Transducers 2013 by IFSA http://www.sensorsportal.com Model Checking Object-Z Specification Using SPIN 1 Lei Xiao, 2 Gongzheng Lu, 1 Shunzhi Zhu 1 School of Computer and Information Engineering

More information

A Component-based Approach to Verified Software: What, Why, How and What Next?

A Component-based Approach to Verified Software: What, Why, How and What Next? A Component-based Approach to Verified Software: What, Why, How and What Next? Kung-Kiu Lau, Zheng Wang, Anduo Wang and Ming Gu School of Computer Science, The University of Manchester Manchester M13 9PL,

More information

Certification of Model Transformations

Certification of Model Transformations Certification of Transformations Dániel Varró 1st Workshop on the Analysis of Transformations (AMT 2012) Sharing some challenges of the CERTIMOT project Budapest University of Technology and Economics

More information

Formal Modeling of BPEL Workflows Including Fault and Compensation Handling

Formal Modeling of BPEL Workflows Including Fault and Compensation Handling Formal Modeling of BPEL Workflows Including Fault and Compensation Handling Máté Kovács, Dániel Varró, László Gönczy kovmate@mit.bme.hu Budapest University of Technology and Economics Dept. of Measurement

More information

AGG: A Graph Transformation Environment for Modeling and Validation of Software

AGG: A Graph Transformation Environment for Modeling and Validation of Software AGG: A Graph Transformation Environment for Modeling and Validation of Software Gabriele Taentzer Technische Universität Berlin, Germany gabi@cs.tu-berlin.de Abstract. AGG is a general development environment

More information

Christian Doppler Laboratory

Christian Doppler Laboratory Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software

More information

Pet: An Interactive Software Testing Tool

Pet: An Interactive Software Testing Tool Pet: An Interactive Software Testing Tool Elsa Gunter, Robert Kurshan, and Doron Peled Bell Laboratories 600 Mountain Ave. Murray Hill, NJ 07974 Abstract. We describe here the Pet (standing for path exploration

More information

Key Features. Defect Rates. Traditional Unit testing: 25 faults / KLOC System testing: 25 / KLOC Inspections: / KLOC

Key Features. Defect Rates. Traditional Unit testing: 25 faults / KLOC System testing: 25 / KLOC Inspections: / KLOC Cleanroom attempt to mathematically-based, scientific engineering process of software development Cleanroom software engineering yields software that is correct by mathematically sound design, and software

More information

Analysing Graph Transformation Rules Through OCL

Analysing Graph Transformation Rules Through OCL Analysing Graph Transformation Rules Through OCL Jordi Cabot 1, Robert Clarisó 1, Esther Guerra 2, and Juan de Lara 3 1 Universitat Oberta de Catalunya (Spain), {jcabot,rclariso}@uoc.edu 2 Universidad

More information

Dependability Analysis of Web Service-based Business Processes by Model Transformations

Dependability Analysis of Web Service-based Business Processes by Model Transformations Dependability Analysis of Web Service-based Business Processes by Model Transformations László Gönczy 1 1 DMIS, Budapest University of Technology and Economics Magyar Tudósok krt. 2. H-1117, Budapest,

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

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

Towards Formal Verification of UML Diagrams Based on Graph Transformation

Towards Formal Verification of UML Diagrams Based on Graph Transformation Towards Formal Verification of UML Diagrams Based on Graph Transformation Yu Zhao *, Yushun Fan, Xinxin Bai, Yuan Wang, Hong Cai, Wei Ding CIM Research Center, Department of Automation, Tsinghua 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

Self-Controlling Architecture Structured Agents

Self-Controlling Architecture Structured Agents Self-Controlling Architecture Structured Agents Mieczyslaw M. Kokar (contact author) Department of Electrical and Computer Engineering 360 Huntington Avenue, Boston, MA 02115 ph: (617) 373-4849, fax: (617)

More information

Formal Semantics of Web Services Composition based on Colored Petri Nets and Graph Grammars

Formal Semantics of Web Services Composition based on Colored Petri Nets and Graph Grammars The 13th International Arab Conference on Information Technology ACIT'2012 Dec.10-13 ISSN : 1812-0857 Formal Semantics of Web Services Composition based on Colored Petri Nets and Graph Grammars SofianeChemaa,

More information

A Partial Correctness Proof for Programs with Decided Specifications

A Partial Correctness Proof for Programs with Decided Specifications Applied Mathematics & Information Sciences 1(2)(2007), 195-202 An International Journal c 2007 Dixie W Publishing Corporation, U. S. A. A Partial Correctness Proof for Programs with Decided Specifications

More information

PROPER TECHNIQUE OF SOFTWARE INSPECTION USING GUARDED COMMAND LANGUAGE

PROPER TECHNIQUE OF SOFTWARE INSPECTION USING GUARDED COMMAND LANGUAGE International Journal of Computer Science and Communication Vol. 2, No. 1, January-June 2011, pp. 153-157 PROPER TECHNIQUE OF SOFTWARE INSPECTION USING GUARDED COMMAND LANGUAGE Neeraj Kumar Singhania University,

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

Overview of the KeY System

Overview of the KeY System 22c181: Formal Methods in Software Engineering The University of Iowa Spring 2008 Overview of the KeY System Copyright 2007-8 Reiner Hähnle and Cesare Tinelli. Notes originally developed by Reiner Hähnle

More information

From UML Sequence Diagrams to ECATNets: a Graph Transformation based Approach for modelling and analysis

From UML Sequence Diagrams to ECATNets: a Graph Transformation based Approach for modelling and analysis From UML Sequence Diagrams to ECATNets: a Graph Transformation based Approach for modelling and analysis Allaoua Chaoui Department of Computer Science, University Mentouri Constantine, Algeria a_chaoui2001@yahoo.com

More information

A Novel Approach for Software Property Validation

A Novel Approach for Software Property Validation A Novel Approach for Software Property Validation Salamah Salamah Department of Computer and Software Engineering, Embry-Riddle Aeronautical University, salamahs@erau.edu. Irbis Gallegos, Omar Ochoa Computer

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

Visual Specification of a DSL Processor Debugger

Visual Specification of a DSL Processor Debugger Visual Specification of a DSL Processor Debugger Tamás Mészáros Budapest University of Technology and Economics Department of Automation and Applied Informatics mesztam@aut.bme.hu Tihamér Levendovszky

More information

Chapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring

Chapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring Chapter 7 Modular Refactoring I n this chapter, the role of Unified Modeling Language (UML) diagrams and Object Constraint Language (OCL) expressions in modular refactoring have been explained. It has

More information

Integration of UML Profiles into the SiDiff and SiLift Tools

Integration of UML Profiles into the SiDiff and SiLift Tools of into the SiDiff and SiLift Based on a SysML case study Master s Thesis (24.09.2013) Agenda 1 2 3 4 of 5 6 7 8 2 / 56 Master s Thesis (24.09.2013) Motivation (1) of UML There are two important steps

More information

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics

More information

AADL Requirements Annex Review

AADL Requirements Annex Review Dominique Blouin Lab-STICC Université de Bretagne-Occidentale Université de Bretagne-Sud Bretagne, France 1 AADL Standards Meeting, April 23 th, 2013 Agenda Comments from Annex Document Review Motivations

More information

Definition of Visual Language Editors Using Declarative Languages

Definition of Visual Language Editors Using Declarative Languages Definition of Visual Language Editors Using Declarative Languages Torbjörn Lundkvist TUCS Turku Centre for Computer Science SoSE Graduate School on Software Systems and Engineering Department of Information

More information

Representing Product Designs Using a Description Graph Extension to OWL 2

Representing Product Designs Using a Description Graph Extension to OWL 2 Representing Product Designs Using a Description Graph Extension to OWL 2 Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. Product development requires

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

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach Science of Computer Programming 75 (2010) 689 725 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Aspect-oriented model-driven

More information

Challenges for advanced domain-specific modeling. István Ráth. Budapest University of Technology and Economics

Challenges for advanced domain-specific modeling. István Ráth. Budapest University of Technology and Economics Challenges for advanced domain-specific modeling frameworks István Ráth Dániel Varró Department of Measurement and Information Systems Department of Measurement and Information Systems Budapest University

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.sc(CST) Semester / Year : VI(EVEN)/III Subject

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

Rule Formats for Nominal Modal Transition Systems

Rule Formats for Nominal Modal Transition Systems Rule Formats for Nominal Modal Transition Systems Anke Stüber Universitet Uppsala, Uppsala, Sweden anke.stuber@it.uu.se Abstract. Modal transition systems are specification languages that allow the expression

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 3: Expressing Software Models Expressing SW models: Overview 1. Examples of software modeling languages 1. UML (for modeling

More information

Challenges in testing Model Transformations. Amr Al-Mallah

Challenges in testing Model Transformations. Amr Al-Mallah Challenges in testing Model Transformations Amr Al-Mallah 1 Outline Overview/Motivation Systematic Software Testing Systematic Software Testing of Model Transformations. Focus : Model differencing 2 Overview

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

Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification

Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification Proceedings of the 2009 IEEE International Conference on Systems, Man, and Cybernetics San Antonio, TX, USA - October 2009 Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification

More information

A Simple Tutorial on NuSMV

A Simple Tutorial on NuSMV NuSMV-tutorial 1 A Simple Tutorial on NuSMV Chenyi Zhang March 28, 2007 For a comprehensive tutorial, please visit the site http://nusmv.irst.itc.it/ NuSMV-tutorial 2 Introduction History SMV is the first

More information

Recent Advances in Multi-paradigm Modeling (MPM 2011)

Recent Advances in Multi-paradigm Modeling (MPM 2011) Electronic Communications of the EASST Volume 50 (2011) Recent Advances in Multi-paradigm Modeling (MPM 2011) Verifying Access Control in Statecharts Levi Lúcio, Qin Zhang, Vasco Sousa and Yves Le Traon

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

A Matching Algorithm and AGG Overview

A Matching Algorithm and AGG Overview A Matching Algorithm and AGG Overview Marc Provost McGill University marc.provost@mail.mcgill.ca March 29, 2004 Abstract This presentation go over the basic features of agg for graph rewriting. Typeset

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

A Verification Method for Software Safety Requirement by Combining Model Checking and FTA Congcong Chen1,a, Fuping Zeng1,b, Minyan Lu1,c

A Verification Method for Software Safety Requirement by Combining Model Checking and FTA Congcong Chen1,a, Fuping Zeng1,b, Minyan Lu1,c International Industrial Informatics and Computer Engineering Conference (IIICEC 2015) A Verification Method for Software Safety Requirement by Combining Model Checking and FTA Congcong Chen1,a, Fuping

More information

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES Semantics of RDF(S) Sebastian Rudolph Dresden, 25 April 2014 Content Overview & XML Introduction into RDF RDFS Syntax & Intuition Tutorial 1 RDFS Semantics RDFS

More information

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 Introduction SDN research directions as outlined in IRTF RG outlines i) need for more flexibility and programmability

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Forschungsberichte der Fakultät IV Elektrotechnik und Informatik

Forschungsberichte der Fakultät IV Elektrotechnik und Informatik Forschungsberichte der Fakultät IV Elektrotechnik und Informatik A Formal Resolution Strategy for Operation-Based Conicts in Model Versioning Using Graph Modications Hartmut Ehrig 1 Claudia Ermel 1 Gabriele

More information

Reasoning about modules: data refinement and simulation

Reasoning about modules: data refinement and simulation Reasoning about modules: data refinement and simulation David Naumann naumann@cs.stevens-tech.edu Stevens Institute of Technology Naumann - POPL 02 Java Verification Workshop p.1/17 Objectives of talk

More information

Topic Formal Methods. ICS 121 Lecture Notes. What are Formal Methods? What are Formal Methods? Formal Specification in Software Development

Topic Formal Methods. ICS 121 Lecture Notes. What are Formal Methods? What are Formal Methods? Formal Specification in Software Development Lecture Notes What are? 1 Formal Method (FM) = specification language + formal reasoning Body of techniques supported by precise mathematics powerful analysis tools Rigorous effective mechanisms for system

More information

What is the study of logic?

What is the study of logic? Chapter 2: The Representation of Knowledge Expert Systems: Principles and Programming, Fourth Edition What is the study of logic? Logic is the study of making inferences given a set of facts, we attempt

More information

The rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13

The rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13 The rcos Modeler ICTAC Summer School 2013 ECNU, Shanghai, China Volker Stolz, Zhiming Liu Benefits of Modeling Given the right models, we get for free: executable program user interfaces test cases (model-based

More information

Tutorial on Model Checking Modelling and Verification in Computer Science

Tutorial on Model Checking Modelling and Verification in Computer Science Tutorial on Model Checking Modelling and Verification in Computer Science Armin Biere Institute for Formal Models and Verification Johannes Kepler University, Linz, Austria Abstract. This paper serves

More information

2.4 The Z Notation. [Reference: M. Spivey: The Z Notation, Prentice Hall] Modellbasierte Softwareentwicklung

2.4 The Z Notation. [Reference: M. Spivey: The Z Notation, Prentice Hall] Modellbasierte Softwareentwicklung Modellbasierte Softwareentwicklung 2.4 The Z Notation [Reference: M. Spivey: The Z Notation, Prentice Hall] Properties of Z Is a very expressive formal language (well-defined syntax and semantics). Based

More information

Verification Framework for Detecting Safety Violations in UML State chart Models of Reactive Systems C.M. Prashanth

Verification Framework for Detecting Safety Violations in UML State chart Models of Reactive Systems C.M. Prashanth Verification Framework for Detecting Safety Violations in UML State chart Models of Reactive Systems C.M. Prashanth Dept. of Computer Engineering N.I.T.K, Surathkal INDIA-575 025 +91 9448185670 prashanth_bcs@yahoo.co.in

More information

Envisioning Semantic Web Technology Solutions for the Arts

Envisioning Semantic Web Technology Solutions for the Arts Information Integration Intelligence Solutions Envisioning Semantic Web Technology Solutions for the Arts Semantic Web and CIDOC CRM Workshop Ralph Hodgson, CTO, TopQuadrant National Museum of the American

More information

The Fox Project: Advanced Development of Systems Software

The Fox Project: Advanced Development of Systems Software The Fox Project: Advanced Development of Systems Software R&D Status Report July 1 to September 30, 1999 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 19991222 022 This research

More information

A Formal Model for Web-Service Composition

A Formal Model for Web-Service Composition Simon Foster Department of Computer Science University of Sheffield http://www.dcs.shef.ac.uk/~simonf BCTCS 2006 Outline 1 Composing Web-Services Current Technologies 2 3 4 Outline

More information

Presented by: David Martin (SRI)

Presented by: David Martin (SRI) OWL-S Issues DAML Web Services Coalition Presented by: David Martin (SRI) http://www.daml.org/services/ Top-level Outline Language status (25 min.) OWL-S Status & Evolution (David Martin) New features

More information

STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH

STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH Slide 3.1 3 STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH 3.0 Introduction 3.1 Graph Theory 3.2 Strategies for State Space Search 3.3 Using the State Space to Represent Reasoning with the Predicate

More information

Sciduction: Combining Induction, Deduction and Structure for Verification and Synthesis

Sciduction: Combining Induction, Deduction and Structure for Verification and Synthesis Sciduction: Combining Induction, Deduction and Structure for Verification and Synthesis (abridged version of DAC slides) Sanjit A. Seshia Associate Professor EECS Department UC Berkeley Design Automation

More information

Foundation of Contract for Things

Foundation of Contract for Things Foundation of Contract for Things C.Sofronis, O.Ferrante, A.Ferrari, L.Mangeruca ALES S.r.l. Rome The Internet of System Engineering INCOSE-IL Seminar, Herzliya, Israel 15 September, 2011 Software Platform

More information

An Approach to Formalize UML Sequence Diagrams in CSP

An Approach to Formalize UML Sequence Diagrams in CSP 2010 3rd International Conference on Computer and Electrical Engineering (ICCEE 2010) IPCSIT vol. 53 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V53.No.2.17 An Approach to Formalize

More information

Composability Test of BOM based models using Petri Nets

Composability Test of BOM based models using Petri Nets I. Mahmood, R. Ayani, V. Vlassov and F. Moradi 7 Composability Test of BOM based models using Petri Nets Imran Mahmood 1, Rassul Ayani 1, Vladimir Vlassov 1, and Farshad Moradi 2 1 Royal Institute of Technology

More information

Model Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI).

Model Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI). Sérgio Campos scampos@dcc.ufmg.br Why? Imagine the implementation of a complex hardware or software system: A 100K gate ASIC perhaps 100 concurrent modules; A flight control system dozens of concurrent

More information

Introduction to NuSMV

Introduction to NuSMV Introduction to NuSMV p. 1/26 Introduction to NuSMV Hao Zheng zheng@cse.usf.edu Computer Science and Engineering University of South Florida Introduction to NuSMV p. 2/26 NuSMV NuSMV is a symbolic model

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

Axiomatic Specification. Al-Said, Apcar, Jerejian

Axiomatic Specification. Al-Said, Apcar, Jerejian Axiomatic Specification Al-Said, Apcar, Jerejian 1 Axioms: Wffs that can be written down without any reference to any other Wffs. Wffs that are stipulated as unproved premises for the proof of other wffs

More information

MONIKA HEINER.

MONIKA HEINER. LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25

More information

Starting Ontology Development by Visually Modeling an Example Situation - a User Study

Starting Ontology Development by Visually Modeling an Example Situation - a User Study Starting Ontology Development by Visually Modeling an Example Situation - a User Marek Dudáš 1, Vojtěch Svátek 1, Miroslav Vacura 1,2, and Ondřej Zamazal 1 1 Department of Information and Knowledge Engineering,

More information

SHARE Repository Framework: Component Specification and Ontology. Jean Johnson and Curtis Blais Naval Postgraduate School

SHARE Repository Framework: Component Specification and Ontology. Jean Johnson and Curtis Blais Naval Postgraduate School SHARE Repository Framework: Component Specification and Ontology Jean Johnson and Curtis Blais Naval Postgraduate School 1 Challenge Improve Repository Capabilities Software, Hardware Asset Reuse Enterprise

More information