1 Graph-Based State Spaces Arend Rensink, University of Twente CamPaM 2012 April 2012Graph-Based State Spaces.

Slides:



Advertisements
Similar presentations
© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn 2.5 Graph Grammars.
Advertisements

A Model-based Development approach for Model Transformations Shekoufeh Kolahdouz Rahimi, Kevin Lano
Recipes for State Space Reduction Arend Rensink, University of Twente Dutch Model Checking Day, May 2014.
Pointer Analysis – Part I Mayur Naik Intel Research, Berkeley CS294 Lecture March 17, 2009.
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
ARTIST2 - MOTIVES Trento - Italy, February 19-23, 2007 Model Transformation and UML Reiko Heckel University of Leicester, UK Foundations of Model Transformation.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
Hüseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
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.
Unified Modeling Language
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
Xyleme A Dynamic Warehouse for XML Data of the Web.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Model checking dynamic states in GROOVE Arend Rensink Formal Methods and Tools University of Twente.
SE561 Math Foundations Week 11 Graphs I
30 March 2005, IPA lentedagen, BredaGraph-Based State Spaces1 Graph Transformation for Model Transformation Arend Rensink University of Twente.
Firewall Policy Queries Author: Alex X. Liu, Mohamed G. Gouda Publisher: IEEE Transaction on Parallel and Distributed Systems 2009 Presenter: Chen-Yu Chang.
Slide 1 Chapter 2-b Syntax, Semantics. Slide 2 Syntax, Semantics - Definition The syntax of a programming language is the form of its expressions, statements.
Object-Oriented Theories for Model Driven Architecture Tony Clark, King’s College, UK. Andy Evans, University of York, UK. Robert France, Colorado University,
Graphs.
Version control for graph-based models Z. Protić M. F. van Amstel M.G.J. van den Brand.
Model Checking LTL over (discrete time) Controllable Linear System is Decidable P. Tabuada and G. J. Pappas Michael, Roozbeh Ph.D. Course November 2005.
Zinovy Diskin and Juergen Dingel Queen’s University Kingston, Ontario, Canada Mappings, maps and tables: Towards formal semantics for associations in UML.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
1 Introduction to Modeling Languages Striving for Engineering Precision in Information Systems Jim Carpenter Bureau of Labor Statistics, and President,
程建群 博士(Dr. Jason Cheng) 年03月
APPLICATIONS OF CONTEXT FREE GRAMMARS BY, BRAMARA MANJEERA THOGARCHETI.
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
Needs to be described: Objects – Have multiple states – Consist of other objects, that may have multiple states – May be connected with each other via.
Winter 2007SEG2101 Chapter 71 Chapter 7 Introduction to Languages and Compiler.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Uml is made similar by the presence of four common mechanisms that apply consistently throughout the language. After constructing or developing the architecture.
Introduction to Graph Grammars Fulvio D’Antonio LEKS, IASI-CNR Rome,
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UsiXML July, 2004 (Hamburg, Germany) 1 USIXML: a Language Supporting Multi-Path Development of User Interfaces Quentin Limbourg 1, Jean Vanderdonckt 1,
An Introduction to Graph Rewriting Thomas Huining Feng CHESS, UC Berkeley May.
4 March 2005, NVTI day, UtrechtGraph-Based State Spaces1 Arend Rensink University of Twente.
I-Neighbourhood Abstraction in Graph Transformation Arend Rensink University of Twente Based on work with: Jörg Bauer, Iovka Boneva, Dino Distefano, Marcus.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
ELIMINATING LEFT RECURSIVENESS. Abbreviation. “cfg” stands for “context free grammar” Definition. A cfg is left recursive if it contains a production.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Semantics Preserving Transformation: An Impossible Dream? Arend Rensink, University of Twente BX Position Statement.
Hexahexaflexagon Automata Paul Curzon Queen Mary University of London With support from Google,
Visual Specification of a DSL Processor Debugger Tamás Mészáros and Tihamér Levendovszky Budapest University of Technology and Economics.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
ESDI Workshop on Conceptual Schema Languages and Tools
What can BX make from Sense? Arend Rensink, University of Twente Banff, December 2013.
1 Typing in Information Systems Nick Rossiter, Michael Heather Computer Science and Digital Technologies Northumbria University, Newcastle NE1 8ST, UK.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
C H A P T E R T W O Linking Syntax And Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
1 Groove demo (sf.net/projects/groove) Arend Rensink, University of Twente Computer Automated Multi-Paradigm Modelling, April 2012 April 2012Computer Automated.
GRAMMARS & PARSING. Parser Construction Most of the work involved in constructing a parser is carried out automatically by a program, referred to as a.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Chapter 3 – Describing Syntax CSCE 343. Syntax vs. Semantics Syntax: The form or structure of the expressions, statements, and program units. Semantics:
Talk Outline Motivation and Background. Policy Contexts.
COMPONENT & DEPLOYMENT DIAGRAMS
Data Structure Interview Question and Answers
State Digrams in UML: A Formal Senmatics using Graph Transformations
Graph-Based Operational Semantics
Chapter 9 TURING MACHINES.
Object Oriented Analysis and Design
Graph transformation in a Nutshell
Formal Methods in software development
Petri Net :Abstract formal model of information flow Major use:
Introduction to Graph Transformation
Process in the World as a Transaction
Presentation transcript:

1 Graph-Based State Spaces Arend Rensink, University of Twente CamPaM 2012 April 2012Graph-Based State Spaces

April 2012Graph-Based State Spaces 2 Graph Transformation  Formal language to capture dynamic system behaviour  Graphs will capture state snapshots  Transformation rules will capture program statements  Aim: Software model checking  Behavioural model captured by graph production system  Requirements captured by temporal properties  Why graph transformation?  Very powerful, widely applicable paradigm  Graphs are natural for the software domain  In particular for object-oriented programs

April 2012Graph-Based State Spaces 3 Graphs as Models  Example state graph  Nodes represents objects  Edges represent fields or relations between objects  Here: Circular buffer  Objects inserted at the tail (last element)  Objects removed from the head (first element)

April 2012Graph-Based State Spaces 4 Type graphs as Metamodels  Compare with (UML) class diagrams  Nodes stand for object types  Also supported: Node inheritance  Edges stand for field/relation types  Not supported (in our approach): Multiplicities

April 2012Graph-Based State Spaces 5 Graph formalism  Graphs in this presentation (simple graphs):  Flat (i.e., not hierarchical)  Directed, edge-labelled, no parallel edges  Self-edges depicted as node labels  Formally: G = (V,E) with  Global set L of labels  Fixed subsets of type labels and flags (= nodel labels)  V finite set of nodes  E  V  L  V finite set of labelled edges  Partial morphisms  Structure-preserving node mappings  Isomorphism: bijective (total) morphism  Used to abstract from node identities

April 2012Graph-Based State Spaces 6 Example morphism  Typing is a (weak) structuring mechanism  Limits node and edge labels and their interconnection  Does not enforce presence or absence of edges State graphType graph

April 2012Graph-Based State Spaces 7 Graph Rewrite Rules  A rule embodies a particular change to a graph  Left Hand Side (LHS): should be matched in the host (source) graph  Difference of Right Hand Side (RHS) and LHS defines change  Negative Application Condition (NAC): should not occur in host graph  Compare to string rewriting  Graph rewrite rules are context sensitive  Graph Production System: Set of rewrite rules LHS RHS NAC Putting an element into a circular buffer:

April 2012Graph-Based State Spaces 8 Single-graph representation blue = eraser: LHS, not RHS to be matched and deleted green = creator: RHS, not LHS to be added black = reader: LHS and RHS to be matched and preserved red = embargo: NAC, not LHS forbidden

April 2012Graph-Based State Spaces 9 forbidden Graph Productions Rewrite rule source graph matching Graph transition (labelled by rule and underlying morphism graph morphism target graph pushout NAC NACs LHSRHS rule morphism

April 2012Graph-Based State Spaces 10 Example production LHS RHS NAC

April 2012Graph-Based State Spaces 11 Graph Transition Systems put get Isomorphic state graphs are collapsed together

April 2012Graph-Based State Spaces 12 Aim: software model checking  Construct graph production system from  UML diagrams / other specifications  Programs to be checked  Generate state space  States = graphs  Transitions = transformations  Formulate properties  invariants/reachability (safety)  liveness  full temporal logic  Check properties on the model

Personal CaMPaM preview Questions I am asking myself  Is semantic preservation achievable?  How well does graph-based model checking fit into model transformation? When will I be happy?  Get answers for the above questions  Find nails for the GROOVE hammer  Meet new people, write papers April 2012Graph-Based State Spaces 13