University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Semantics Static semantics Dynamic semantics attribute grammars
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Verification of Evolving Software Natasha Sharygina Joint work with Sagar Chaki and Nishant Sinha Carnegie Mellon University.
Budapest University of Technology and EconomicsDagstuhl 2004 Department of Measurement and Information Systems 1 Towards Automated Formal Verification.
Verification of Graph Transformation Systems Arman Sheikholeslami
A Technique for Automatic Validation of Model Transformations Levi Lúcio and Bruno Barroca Universidade Nova de Lisboa.
Higher-Order Transformation Eugene SyrianiandHans Vangheluwe.
AUTOMATIC GENERATION OF CODE OPTIMIZERS FROM FORMAL SPECIFICATIONS Vineeth Kumar Paleri Regional Engineering College, calicut Kerala, India. (Currently,
Semantic Translation of Simulink/Stateflow Models to Hybrid Automata using Graph Transformations A. Agarwal, Gy. Simon, G. Karsai ISIS, Vanderbilt University.
Hüseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
VIDE als voortzetting van Cocktail SET Seminar 11 september 2008 Dr. ir. Michael Franssen.
1 Semantic Description of Programming languages. 2 Static versus Dynamic Semantics n Static Semantics represents legal forms of programs that cannot be.
CS 355 – Programming Languages
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 05.
Automated Soundness Proofs for Dataflow Analyses and Transformations via Local Rules Sorin Lerner* Todd Millstein** Erika Rice* Craig Chambers* * University.
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM’09 Explicit Transformation Modelling Thomas.
PROOF TRANSLATION AND SMT LIB CERTIFICATION Yeting Ge Clark Barrett SMT 2008 July 7 Princeton.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2009 with acknowledgement.
Transaction Ordering Verification using Trace Inclusion Refinement Mike Jones 11 January 2000.
From last time S1: l := new Cons p := l S2: t := new Cons *p := t p := t l p S1 l p tS2 l p S1 t S2 l t S1 p S2 l t S1 p S2 l t S1 p L2 l t S1 p S2 l t.
On the Correctness of Model Transformations Gabor Karsai ISIS/Vanderbilt University.
Describing Syntax and Semantics
Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
A Survey of Software Refactoring Tom Mens, Tom Tourwé
Introduction to ASMs Dumitru Roman Digital Enterprise Research Institute
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
Program Analysis and Verification Spring 2015 Program Analysis and Verification Lecture 2: Operational Semantics I Roman Manevich Ben-Gurion University.
1 Program Correctness CIS 375 Bruce R. Maxim UM-Dearborn.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
1 Inference Rules and Proofs (Z); Program Specification and Verification Inference Rules and Proofs (Z); Program Specification and Verification.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style COMPILER DESIGN Review Joey Paquet,
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano Model Checking UML Specifications of Real Time Software.
B. Fernández, D. Darvas, E. Blanco Formal methods appliedto PLC code verification Automation seminar CERN – IFAC (CEA) 02/06/2014.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CS 363 Comparative Programming Languages Semantics.
Checking Reachability using Matching Logic Grigore Rosu and Andrei Stefanescu University of Illinois, USA.
Advanced Topics in Software Engineering Marjan Sirjani Tehran University Faculty of Engineering ECE Department Tehran,
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Extended Finite-State Machine Induction using SAT-Solver Vladimir Ulyantsev, Fedor Tsarev St. Petersburg National.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
ISBN Chapter 3 Describing Semantics.
Chapter 3 Part II Describing Syntax and Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
COP4020 Programming Languages Introduction to Axiomatic Semantics Prof. Robert van Engelen.
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
Verification & Validation By: Amir Masoud Gharehbaghi
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2010 with acknowledgement.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
Requirements Engineering Methods for Requirements Engineering Lecture-31.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
1 Visual Computing Institute | Prof. Dr. Torsten W. Kuhlen Virtual Reality & Immersive Visualization Till Petersen-Krauß | GUI Testing | GUI.
CIS Automata and Formal Languages – Pei Wang
Program Synthesis is a Game
Formal Methods in Software Engineering 1
Lecture 5 Floyd-Hoare Style Verification
Formal Methods in software development
Department of Computer Science Abdul Wali Khan University Mardan
Translating Linear Temporal Logic into Büchi Automata
Presentation transcript:

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes Leitner 3, Wilhelm Schäfer 1, and Robert Wagner 1 3rd Workshop on Model Design and Validation: Perspectives on Integrating MDA and V&V Genoa, Italy 1 Software Engineering Group University of Paderborn 2 Faculty IV - Electrical Engineering and Computer Science Technical University of Berlin 3 Department for Computer and Information Science University of Konstanz

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 2Towards Verified Model Transformations Motivation  Model-Driven Software Engineering  increases software quality  reduces development costs  Verified model transformations MDE Model Analysis Model Code (Model) Are the transformations correct?

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 3Towards Verified Model Transformations Case Study

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 4Towards Verified Model Transformations Example switch2round=true / interlock:=false straight unlocked switching round round round unlocked switching straight straight round_sensor=true / interlock:=true; round_cylinder:=false / round_cylinder:=true switch2straight=true / interlock:=false; / straight_cylinder:=true straight_sensor=true / interlock:=true; straight_cylinder:=false Automaton Is the transformation correct? VAR state : INT := 1; END_VAR; CASE state OF 1: / * straight */ IF switch2round=true THEN interlock:=false; state:=2; /* straight unlocked */ END_IF; 2: /* straight unlocked */ round_cylinder:=true; state:=3; /* switching round */ … END_CASE PLC-Code Are the models semantically equivalent?

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 5Towards Verified Model Transformations [Karsai et al., “Towards verifying model transformations”, Electronic Notes in Theoretical Computer Science, 2006] Related Work Target Model Source Model Transformation Checker to be verified ok ¬ok Source Model Target Model Transformation Model Checking P ok ¬ok Model Checking P’ ok ¬ok Transformation P’=T(P) [Varró et al., “Automated formal verification of model transformations”, Proceedings of CSDUML Workshop 2003] ≠ Rule Developer User

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 6Towards Verified Model Transformations Model Transformations Specification Verification Execution

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 7Towards Verified Model Transformations Triple Graph Grammars [Sch94] [Sch94] A. Schürr, "Specification of Graph Translators with Triple Graph Grammars", in: G. Tinhofer (ed.), Springer Verlag, 1994; Lecture Notes in Computer Science, Vol. 903, s:Statec:Case :CorrNode ++ b:CaseBlock a:Automaton :CorrNode Triple Graph Grammar Rule l:Label ++ Automata Domain PLC-Code Domain Correspondence Domain LHS RHS ++ value=map(s.name) ++

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 8Towards Verified Model Transformations Rule Execution : State name=„straight“ : State name=“straight unlocked“ : Automaton : CorrNode : CaseBlock : Transition guard=“…” : Case : CorrNode : Label value=“1” : CorrNode : IfBlock : CorrNode : Case : Label value=“2” :Automaton:CaseBlock :CorrNode ++ Rule 1 (Axiom) ++ :State:Case :CorrNode ++ :Label ++ :CaseBlock ++ :Automaton :CorrNode Rule 2 :Transition:IfBlock :CorrNode ++ :Case :State :CorrNode Rule 3 :Case :State :CorrNode

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 9Towards Verified Model Transformations Verification Approach - Overview I/O-Automaton PLC-Code Isabelle/HOL interactive theorem prover for second-order logic

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 10Towards Verified Model Transformations Verification Approach - Overview Formalize metamodels as abstract data types - use records, lists and other primitive data types Formalize metamodels as abstract data types - use records, lists and other primitive data types Formalize metamodels as abstract data types - use records, lists and other primitive data types Formalize metamodels as abstract data types - use records, lists and other primitive data types

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 11Towards Verified Model Transformations Verification Approach - Overview Formalize metamodels as abstract data types - use records, lists and other primitive data types Formalize metamodels as abstract data types - use records, lists and other primitive data types Define the operational semantics as a recursive function over the formalized metamodels (abstract data types)

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 12Towards Verified Model Transformations Verification Approach - Overview Define modifiers analogously to the modifications specified by triple graph grammar rules - adding states, transitions, actions,… - adding case block, if-statements, assignment expressions, … Define modifiers analogously to the modifications specified by triple graph grammar rules - adding states, transitions, actions,… - adding case block, if-statements, assignment expressions, … :State:Case :CorrNode :Label :CaseBlock :Automaton :CorrNode

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 13Towards Verified Model Transformations Verification of Transformation  Axiom: Empty Automaton and empty PLC-Program are equivalent  Induction Step: Simultaneous evolution of the models preserves semantic equivalence  Result: For any model M n and corresponding program code P n = trans(M n ) produced by the triple graph grammar holds M n ≈ P n M‘ M P‘ P ≈ ≈ modifier pairs M0M0 P0P0 ≈ MnMn PnPn ≈ Mn:Mn:

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 14Towards Verified Model Transformations Conclusion & Future Work  Conclusion  first step towards verification of transformations  has been verified in Isabelle/HOL for simple transformations (approx lopc)  verified transformation results in semantically equivalent source and target models for any given source model  Future Work  prove more complex transformations  include automatic checking of correspondence nodes as preconditions  automatic derivation of the formalization for the theorem prover  combine interactive theorem proving with automated verification techniques

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 15Towards Verified Model Transformations Programmable Logic Controller Read Input Statement Write Output Programmable Logic Controller (PLC)

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 16Towards Verified Model Transformations :Automaton:CaseBlock :CorrNode ++ Axiom ++ :State:Case :CorrNode ++ :Label ++ :CaseBlock ++ :Automaton :CorrNode Rule 1

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 17Towards Verified Model Transformations :Transition:IfBlock :CorrNode ++ :Case :State :CorrNode Rule 2 :Case :State :CorrNode

University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Robert Wagner - 18Towards Verified Model Transformations Semantics  Reactive Systems  non-terminating behavior and reaction to stimulus provided by the environment  Here  I/O-Automata  PLC-Program  Operational Semantics for I/O-Automaton and PLC-Program