A logic for true concurrency Paolo Baldan and Silvia Crafa Universita’ di Padova.

Slides:



Advertisements
Similar presentations
The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
Advertisements

Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
Process Algebra Book: Chapter 8. The Main Issue Q: When are two models equivalent? A: When they satisfy different properties. Q: Does this mean that the.
Substitution & Evaluation Order cos 441 David Walker.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
CS6133 Software Specification and Verification
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
1 Partial Order Reduction. 2 Basic idea P1P1 P2P2 P3P3 a1a1 a2a2 a3a3 a1a1 a1a1 a2a2 a2a2 a2a2 a2a2 a3a3 a3a3 a3a3 a3a3 a1a1 a1a1 3 independent processes.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Abel Armas-Cervantes Paolo Baldan Marlon Dumas Luciano García-Bañuelos.
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.
1 Conditional XPath, the first order complete XPath dialect Maarten Marx Presented by: Einav Bar-Ner.
A Semantic Characterization of Unbounded-Nondeterministic Abstract State Machines Andreas Glausch and Wolfgang Reisig 1.
1 Model Checking, Abstraction- Refinement, and Their Implementation Based on slides by: Orna Grumberg Presented by: Yael Meller June 2008.
Modeling Software Systems Lecture 2 Book: Chapter 4.
Review of Matrix Algebra
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
History-Dependent Petri Nets Kees van Hee, Alexander Serebrenik, Natalia Sidorova, Wil van der Aalst ?
Abstract Verification is traditionally done by determining the truth of a temporal formula (the specification) with respect to a timed transition system.
Model Checking LTL over (discrete time) Controllable Linear System is Decidable P. Tabuada and G. J. Pappas Michael, Roozbeh Ph.D. Course November 2005.
Propositional Calculus Math Foundations of Computer Science.
Boolean Algebra Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.
Languages of nested trees Swarat Chaudhuri University of Pennsylvania (with Rajeev Alur and P. Madhusudan)
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
Computer Organization 1 Logic Gates and Adders. Propositions –Venn Diagrams.
CS6133 Software Specification and Verification
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
1 Bisimulations as a Technique for State Space Reductions.
Phrase-structure grammar A phrase-structure grammar is a quadruple G = (V, T, P, S) where V is a finite set of symbols called nonterminals, T is a set.
Properties and Mental Computation p. 80. Math talk What are some math properties that we use? Why do you think we have them? Do you ever use them?
1 Finite Model Theory Lecture 3 Ehrenfeucht-Fraisse Games.
MPRI 3 Dec 2007Catuscia Palamidessi 1 Why Probability and Nondeterminism? Concurrency Theory Nondeterminism –Scheduling within parallel composition –Unknown.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Paolo Baldan Marlon Dumas Luciano García Abel Armas.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.5.
Supercompilation and Normalisation by Evaluation Gavin Mendel-Gleason & Geoff Hamilton Dublin City University.
UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine1 CSE 503 – Software Engineering Lecture 3: An introduction to Alloy Rob DeLine 5 Apr 2004.
Model Checking Lecture 1. Model checking, narrowly interpreted: Decision procedures for checking if a given Kripke structure is a model for a given formula.
Albert Gatt LIN3021 Formal Semantics Lecture 3. Aims This lecture is divided into two parts: 1. We make our first attempts at formalising the notion of.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
1 A framework for eager encoding Daniel Kroening ETH, Switzerland Ofer Strichman Technion, Israel (Executive summary) (submitted to: Formal Aspects of.
Model Checking Lecture 1: Specification Tom Henzinger.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Abel Armas-Cervantes Paolo Baldan Marlon Dumas Luciano García-Bañuelos.
Model Checking Lecture 2 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Boolean Algebra.
Chapter 6: Real-Time Logic
Prof. Dr. Holger Schlingloff 1,2 Dr. Esteban Pavese 1
Modeling Mutual Exclusion Algorithms
SS 2018 Software Verification ML, state machines
CSCI1600: Embedded and Real Time Software
Event-Based Architecture Definition Language
MA/CSSE 474 More Math Review Theory of Computation
CSCI1600: Embedded and Real Time Software
Producing short counterexamples using “crucial events”
Formal Methods in software development
Introduction to verification
Presentation transcript:

A logic for true concurrency Paolo Baldan and Silvia Crafa Universita’ di Padova

Models of Concurrency a | b = a.b + b.a a a b b Different causal properties Different distribution properties ?

The Interleaving world a | b ~ a.b+b.a Bisimulation equivalence 2-nested simulation ready simulation ready trace equiv. simulation equiv. completed trace eq. Trace equivalence

Pomset bisimulationweak hp bisim The True-Concurrent world a | b ≠ a.b+b.a Hereditary history-preserving bisim History-preserving bisim Step bisimulation ( Bisimulation equivalence )

Interleaving world: Logical characterization Hennessy-Milner Logic Bisimulation equiv. simulation equiv. HML without negation HML Trace equiv. HML without negation and conjunction

True-concurrent world vs Logic ? ?? Hereditary hp- bisim Bisimulation equiv. Hennessy-Milner Logic

Logics for true-concurrency [DeNicola-Ferrari 90] Unique framework for several temporal and modal logics. Captures pomset bisim and weak hp-bisim. [Hennessy-Stirling 85, Nielsen-Clausen 95] Charaterise hhp-bis with past-tense/back step modalities In absence of autoconcurrency [Bradfield-Froschle 02, Gutierrez 09] Modal logics expressing action independence/causality Only hp-bisimulation is captured Different logics for different equivalences!!

A single logic for true-concurrency L Hereditary hp- bisim Bisimulation equiv.Hennessy-Milner Logic hp bisim L hp Pomset bisim L pL p Step bisim L sL s

True Concurrent Model: Event Structures Computation in terms of events = action occurrence A notion of causal dependence between events A notion of incompatibility between events A labeling to record the action corresponding to the event E = ( E, ≤, #, λ ) ≤ is a partial order and is finite # is irreflexive, symmetric and hereditary: if e # e’ ≤ e’’ then e#e’’

True Concurrent Model: Event Structures e 4 is caused by {e 1, e 2, e 3 } (e 1, e 2 ) and (e 1, e 6 ) are concurrent (e 3, e 6 ) and (e 5, e 6 ) are in conflict (e 2, e 4 ) and (e 1, e 6 ) are consistent e1e1 e2e2 e3e3 e4e4 e5e5 e6e6 ab cc de a autoconcurrency

True Concurrent Model: Event Structures e1e1 e2e2 e3e3 e4e4 e5e5 e6e6 Computation in terms of Configurations causally-closed set of consistent events step pomset a run

The True Concurrent Spectrum Pomset bisimulation weak hp bisim Hereditary history-preserving bisim History-preserving bisimulation Step bisimulation ( Bisimulation equivalence ) Coherent hhp-bisim

Bisimulation Equivalence

It captures the branching of a system but it cannot observe the concurrency of a system aa bc a.b +a.c a bc a.(b+c) ≠ ab ab ba a.b +b.a a | b =

Bisimulation Equivalence it cannot observe the concurrency of a system ab ab ba a.b +b.a a | b =

Step Bisimulation

ab ab ba a.b +b.a a | b ≠ s ab a a b b ab b = sor There is an occurrence of b causally dependent from a It captures the concurrency of a system but it cannot observe the concurrency / causality mix:

Step Bisimulation ab ab b = s There is an occurrence of b causally dependent from a It captures the concurrency of a system but it cannot observe the concurrency / causality mix:

Pomset Bisimulation

ab ≠ ab b p a a b b = p ab b The same pomsets but only in the lhs “after a we can choose between a dependent and an independent b” It captures the causality of a system but it cannot observe the causality / branching mix:

Pomset Bisimulation like bisimulation: it is an interleaving of pomsets (rather than actions) it doesn’t observe the causal relations between a pomset and the next one keep the history of already matched transitions Let the two matching runs (entire history of moves) in the game to be pomset-isomorphic let the history grow pomset-isomorphically

History-preserving Bisimulation

“causal equivalence” a a b b hp ab b ≠ ? ?  It does not capture the interplay between causality – concurrency - branching It captures the causality / branching interplay p =

History-preserving Bisimulation a b cd ab ab cd ab # # = hp  c and d depend on conflicting vs. concurrent a and b !! And similarly the other way round  Hp-bisim hides such a difference:  the execution of an event rules out any conflicting event  there is the same causality

History-preserving Bisimulation a2’a2’b2’b2’ cd a1’a1’b1’b1’ a2a2 b2b2 cd a1a1 b1b1 # # = hp a 1, b 1 can be matched in principle either by a 1 ’, b 1 ’ or a 2 ’, b 2 ’  the choice depends on the order in which they are linearized (a 1, b 1 are concurrent)  a 1, b 1 are independent, but the execution of one affects the “behavioral environment”/ the future of the other How can we formalize this difference?

Backward moves!! a2’a2’b2’b2’ cd a1’a1’b1’b1’ a2a2 b2b2 cd a1a1 b1b1 # # hhp ≠ ? a1 → b1 → a1 ← a2’ → b2’ → d → a2’ ← d → Hereditary History-preserving Bisimulation

a|(b+c) + a|b + b|(a+c) a|(b+c) + b|(a+c) no causality In lhs only: a couple of independent (a,b) so that none can appear in parallel with c Hp-bisim hides such a difference a and b are independent but their linearization affects the behavioral environment The backtracking distinguishes them abcab a cb ## abc a cb #

Hereditary History-preserving Bisimulation The backtracking can distinguish them a → b → a ← a2 → b2 → c → a2 ← c → a|(b+c) + a|b + b|(a+c) a|(b+c) + b|(a+c) abcab a cb ## a1a1 b1b1 c1c1 c2c2 b2b2 # ? a2a2

Hereditary History-preserving Bisimulation What kind of forward observation does backtracking correspond to? alternative, possibly conflicting futures

A logic for true concurrency Var : denumerable set of variables ranged over by x, y, z, … Interpreted over event structures: a formula is evaluated in a configuration C, with an environment η : Var → E the current state of the computation describes a set of possible futures for C records the events bound to variables

A logic for true concurrency declares the existence of an event e in the future of C s.t. the event η(z) can be executed form C, leading to C’ s.t. it binds z to e so that it can be later referred to in φ Event-based logic

A logic for true concurrency ac bd there is a future evolution that enables b there are two (incompatible) futures executing a disallows the future containing d a bd abd

Examples and notation stands for  Immediate execution that chooses an event and immediately executes it stands for  Step which declares the existence of two concurrent events

Well-formedness The full logic is too powerful: it also observe conflicts! aa bb a b Well-formedness syntactically ensures that free variables in any subformula will always refer to events consistent with the current config. the variables used as causes/non causes in quantifications will be bound to consistent events

Logical Equivalence  An e.s. satisfies a closed formula φ:when  Two e.s. are logically equivalent in the logic L: when Theorem: The logical equivalence induced by the full logic is hhp-bisimilarity

A single logic for true-concurrency L Hereditary hp- bisim Bisimulation equiv.Hennessy-Milner Logic hp bisim L hp Pomset bisim L pL p Step bisim L sL s no back moves

Logical Spectrum: HM Logic Hennessy-Milner logic corresponds to the fragment L HM : No references to causally dependent/concurrent events Whenever we state the existence of an event, we must execute it Theorem: The logical equivalence induced by L HM is bisimilarity

Logical Spectrum: Step Logic The fragment L s : Predicates on the possibility of performing a parallel step No references to causally dependent/concurrent events between steps Generalizes L HM Theorem: The logical equivalence induced by L s is step bisimulation

Logical Spectrum: Pomset Logic The fragment L p : Predicates on the possibility of executing a pomset transition Closed formula ↔ execution of a pomset Causal links only within a pomset but not between different pomsets Theorem: The logical equivalence induced by L p is pomset bisimulation where ¬, ˄ are used only on closed formulae

Logical Spectrum: History Preserving Logic The fragment L hp : Besides pomset execution, it also predicates about its dependencies with previously executed events quantify + execute → no quantification over conflicting events Theorem: The logical equivalence induced by L hp is hp-bisimulation

Logical Spectrum: Separation Examples ab ab ba ab a b b

a a b b ab b The same pomsets but only in the lhs “after a we can choose between a dependent and an independent b” Logical Spectrum: Separation Examples

a b cd ab ab cd ab # # The same causality but c and d depend on conflicting vs. concurrent a and b conflicting futures observe without executing: !!

Logical Spectrum: Separation Examples The same causality but in lhs only a couple of independent (a,b) so that none can appear in parallel with c observe without executing: a|(b+c) + a|b + b|(a+c) a|(b+c) + b|(a+c)

Future work Different equivalences in a simple, unitary logical framework Study the operational spectrum: observe without executing, but only predicate on consistent futures lies in between hp and hhp-bis. hp is decidable and hhp is undecidable even for finite state systems. Characterise decidable equiv. Study the logical spectrum: encode other logics in L add recursion to express properties like any a-action can be always followed by a causally related b-action an a-action can be always executed in parallel with a b-action Verification: model checking, auotmata, games,…