Semantics Preserving Transformation: An Impossible Dream? Arend Rensink, University of Twente BX Position Statement.

Slides:



Advertisements
Similar presentations
2/11/2014 8:44 AM The CDA Release 3 Specification Stack September 2009 HL7 Services-Aware Enterprise Architecture Framework (SAEAF)
Advertisements

Recipes for State Space Reduction Arend Rensink, University of Twente Dutch Model Checking Day, May 2014.
ARTIST2 - MOTIVES Trento - Italy, February 19-23, 2007 Model Transformation and UML Reiko Heckel University of Leicester, UK Foundations of Model Transformation.
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ.
CS 355 – Programming Languages
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Department of mathematics and computer science 1 of 21 Rob van Glabbeek (Sydney) Marc Voorhoeve (TUE) Liveness, Fairness and Impossible Futures.
Model checking dynamic states in GROOVE Arend Rensink Formal Methods and Tools University of Twente.
30 March 2005, IPA lentedagen, BredaGraph-Based State Spaces1 Graph Transformation for Model Transformation Arend Rensink University of Twente.
Cpeg421-08S/final-review1 Course Review Tom St. John.
White Box Testing and Symbolic Execution Written by Michael Beder.
Principles of Object-Oriented Software Development Behavioral refinement.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Object-Oriented Theories for Model Driven Architecture Tony Clark, King’s College, UK. Andy Evans, University of York, UK. Robert France, Colorado University,
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Describing Syntax and Semantics
An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan.
Complete Axioms for Stateless Connectors joint work with Roberto Bruni and Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
1 Chapter 2 Problem Solving Techniques INTRODUCTION 2.2 PROBLEM SOLVING 2.3 USING COMPUTERS IN PROBLEM SOLVING : THE SOFTWARE DEVELOPMENT METHOD.
Amarnath Gupta Univ. of California San Diego. An Abstract Question There is no concrete answer …but …
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,
1 Introduction to Modeling Languages Striving for Engineering Precision in Information Systems Jim Carpenter Bureau of Labor Statistics, and President,
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
Process Algebra (2IF45) Probabilistic Branching Bisimulation: Exercises Dr. Suzana Andova.
What is “model transformation”? Distinction between source and target Source may be same as target May be multiple sources, or targets Reaching a fixed.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
Reactive systems – general
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes.
Principles of programming languages 5: An operational semantics of a small subset of C Department of Information Science and Engineering Isao Sasano.
1.6 – Solve Linear Inequalities A linear inequality in one variable can be written in one of the following forms, where a and b are real numbers and a.
1 Graph-Based State Spaces Arend Rensink, University of Twente CamPaM 2012 April 2012Graph-Based State Spaces.
Copyright © Curt Hill Languages and Grammars This is not English Class. But there is a resemblance.
Model construction and verification for dynamic programming languages Radu Iosif
Formal Semantics of Programming Languages 虞慧群 Topic 1: Introduction.
11/19/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
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.
Semantics In Text: Chapter 3.
Basic Programming Lingo. A program is also known as a  Sequence of instructions  Application  App  Binary  Executable.
Dr. Muhammed Al-MulhemICS (Denotational Semantics)
Mathematical Preliminaries
What can BX make from Sense? Arend Rensink, University of Twente Banff, December 2013.
Copyright 2001, Matt Dwyer, John Hatcliff, and Radu Iosif. The syllabus and all lectures for this course are copyrighted materials and may not be used.
1 Groove demo (sf.net/projects/groove) Arend Rensink, University of Twente Computer Automated Multi-Paradigm Modelling, April 2012 April 2012Computer Automated.
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Denotational Semantics.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
CMSC 104, L041 Algorithms, Part 1 of 3 Topics Definition of an Algorithm Example: The Euclidean Algorithm Syntax versus Semantics Reading Sections 3.1.
Chapter 3: Modeling Data in the Organization
Graph-Based Operational Semantics
Atomic Structure Jeopardy!
Modeling Mutual Exclusion Algorithms
Logical architecture refinement
Implementing Language Extensions with Model Transformations
Relational Database Design
Copyright © Cengage Learning. All rights reserved.
Introduction to Graph Transformation
Introduction to verification
Implementing Language Extensions with Model Transformations
(Type Answer Here) (Type Answer Here) (Type Answer Here)
Presentation transcript:

Semantics Preserving Transformation: An Impossible Dream? Arend Rensink, University of Twente BX Position Statement

 Definition of language syntax  Definition of model transformation  Definition of language semantics Grammar Modelling Language Graph transformation and modelling 5 Dec 2013Semantics Preserving Model Transformation? 2 Semantic domain Modelling Language Semantics Transfor- mation Modelling Language

Transfor- mation Grammar Semantics Require- ments Design Semantic domain Transfor- mation Program Semantics Grammar Models and software development 5 Dec 2013Semantics Preserving Model Transformation? 3

Structure of this presentation 5 Dec 2013Semantics Preserving Model Transformation? 4  Models in Software Engineering  Syntax, semantics, transformation  Behaviour preservation  Observational equivalence  Example  Graph-based syntax and semantics  Triple graph-based model transformation  Questions

Behaviour preservation 5 Dec 2013Semantics Preserving Model Transformation? 5

Transfor- mation Syntax Semantics Require- ments Design Semantic domain Transfor- mation Program Semantics Syntax Behaviour preservation needs semantics 5 Dec 2013Semantics Preserving Model Transformation? 6

Structure of this presentation 5 Dec 2013Semantics Preserving Model Transformation? 7  Models in Software Engineering  Syntax, semantics, transformation  Behaviour preservation  Observational equivalence  Example  Graph-based syntax and semantics  Triple graph-based model transformation  Questions

Two laughably simple languages: Syntax 5 Dec 2013Semantics Preserving Model Transformation? 8  Language A: Featherweight flow graphs  Statements and next-arrows  Language B: Featherweight activity diagrams  Actions and connectors Type Instance Syntax Modelling Language

Laughably simple language semantics 5 Dec 2013Semantics Preserving Model Transformation? 9  Language A: Thread-based execution  Language B: Token-based execution start next start next-offer next-take Semantic domain Modelling Language Semantics

Behaviour preservation? 5 Dec 2013Semantics Preserving Model Transformation? 10  Initial thought: use rule names as transition labels  Does not work: rule names chosen for understandability  Names for comparable activities may differ between languages  For instance: A’s next does not correspond to B’s next-* actions  Refinement: allow relabelling between semantics  Map actions of one language onto that of the other  In LTS: make (sequences of) transitions unobservable or atomic  In this example: two possibilities  Rename one of B’s next-* to next and make the other invisible  Combine next-offer + next-take into single atomic action

Model transformation 5 Dec 2013Semantics Preserving Model Transformation? 11  In general, transformation occurs between different languages  In-place (endogenous) or side-by-side (exogenous)  For traceability, exogenous is to be preferred  Triple graph: composition of  Model of language A  Model of language B  Glue graph: connects A-elements with B-elements (tracing)  Triple graph grammar: builds A- and B-models + glue simultaneously  Each triple graph can be projected onto source and target graph Transfor- mation Modelling Language A-model B-model Glue graph

Laughably simple triple graph grammar 5 Dec 2013Semantics Preserving Model Transformation? 12 AB-init AB-new-state AB-new-next A-modelGlueB-model

Behaviour preservation! 5 Dec 2013Semantics Preserving Model Transformation? 13  For every combined graph produced by the triple graph grammar … … if we project to the A- and B-models … … and compute the corresponding LTS using the semantic rules … … and apply action relabelling … … then the LTSs are weakly bisimilar (Full Semantics Preservation in Model Transformation – A Comparison of Proof Techniques, IFM 2010) Semantics Semantic domain Semantics A-graph B-graph Glue graph A-graph B-graph

Questions 5 Dec 2013Semantics Preserving Model Transformation? 14  Is semantic preservation an issue?  The topic has hardly been raised here!  If yes: What is your notion of semantics?  Full operational semantics inapplicable? Unachievable?  What are viable proof techniques?  Our Laughably Simple example was hard enough!  Behaviour preservation is a tough proof obligation  Alternative: run-time verification? Yes No Questions (my answers)