Denotational event structure for relaxed memory

Size: px
Start display at page:

Download "Denotational event structure for relaxed memory"

Transcription

1 Denotational event structure for relaxed memory Jade Alglave 1, Simon Castellan 2, Jean-Marie Madiot 3 1 ARM, and University College London, UK 2 Imperial College London, UK 3 INRIA 7th July, 2018 LOLA 2018

2 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 2 / 20 Message-passing on my computer Consider the program mp: data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data}

3 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 2 / 20 Message-passing on my computer Consider the program mp: data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my computer:

4 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 2 / 20 Message-passing on my computer Consider the program mp: data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my computer: Wdata:=17

5 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 2 / 20 Message-passing on my computer Consider the program mp: data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my computer: Wdata:=17 W flag:=1

6 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 2 / 20 Message-passing on my computer Consider the program mp: data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my computer: Wdata:=17 W flag:=1 R flag=1

7 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 2 / 20 Message-passing on my computer Consider the program mp: data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my computer: Wdata:=17 W flag:=1 R flag=1 R data=17

8 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 2 / 20 Message-passing on my computer Consider the program mp: data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my computer: Wdata:=17 W flag:=1 R flag=1 R data=17 Wdata:=17 R flag=0 W flag:=1 Rflag=0 W data:=17 W flag:=1

9 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 3 / 20 Message-passing on my phone data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my phone: Wdata:=17 W flag:=1 R flag=1 R data=17 Wdata:=17 R flag=0 W flag:=1 Rflag=0 W data:=17 W flag:=1

10 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 3 / 20 Message-passing on my phone data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my phone: Wdata:=17 W flag:=1 R flag=1 R data=17 Wdata:=17 R flag=0 W flag:=1 Rflag=0 W data:=17 W flag:=1 Wflag:=1

11 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 3 / 20 Message-passing on my phone data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my phone: Wdata:=17 W flag:=1 R flag=1 R data=17 Wdata:=17 R flag=0 W flag:=1 Rflag=0 W data:=17 W flag:=1 Wflag:=1 R flag=1

12 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 3 / 20 Message-passing on my phone data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my phone: Wdata:=17 W flag:=1 R flag=1 R data=17 Wdata:=17 R flag=0 W flag:=1 Rflag=0 W data:=17 W flag:=1 Wflag:=1 R flag=1 R data=0

13 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 3 / 20 Message-passing on my phone data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my phone: Wdata:=17 W flag:=1 R flag=1 R data=17 Wdata:=17 R flag=0 W flag:=1 Rflag=0 W data:=17 W flag:=1 Wflag:=1 R flag=1 R data=0 W data:=17

14 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 3 / 20 Message-passing on my phone data = flag = 0 data := 17; r flag; flag := 1 if(r == 1){v data} Possible execution traces on my phone: Wdata:=17 W flag:=1 R flag=1 R data=17 Wdata:=17 R flag=0 W flag:=1 Rflag=0 W data:=17 W flag:=1 Wflag:=1 R flag=1 R data=0 W data:=17 Wflag:=1 R flag=1 W data:=17 R data=17 Wflag:=1 W data:=17 R flag=1 R data=17 Rflag=0 W flag:=1 W data:=17 A dierent architecture, much harder to reason about...

15 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 4 / 20 Structure behind traces W flag:=1 W data:=17 R flag=1 R data=17 W flag:=1 R flag=1 W data:=17 R data=17 W data:=17 W flag:=1 R flag=1 R data=17 { W flag:=1 R flag=1 R data=0 W data:=17 R flag=0 W data:=17 W flag:=1 W data:=17 R flag=0 W flag:=1 R flag=0 W flag:=1 W data:=17

16 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 4 / 20 Structure behind traces W flag:=1 W data:=17 R flag=1 R data=17 W flag:=1 R flag=1 W data:=17 R data=17 W data:=17 W flag:=1 R flag=1 R data=17 W flag:=1 R flag=1 W data:=17 R data=17 { W flag:=1 R flag=1 R data=0 W data:=17 R flag=0 W data:=17 W flag:=1 W data:=17 R flag=0 W flag:=1 R flag=0 W flag:=1 W data:=17

17 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 4 / 20 Structure behind traces W flag:=1 W data:=17 R flag=1 R data=17 W flag:=1 R flag=1 W data:=17 R data=17 W data:=17 W flag:=1 R flag=1 R data=17 W flag:=1 R flag=1 W data:=17 R data=17 { W flag:=1 R flag=1 R data=0 W data:=17 W flag:=1 R data=0 R flag=1 W data:=17 R flag=0 W data:=17 W flag:=1 W data:=17 R flag=0 W flag:=1 R flag=0 W flag:=1 W data:=17

18 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 4 / 20 Structure behind traces W flag:=1 W data:=17 R flag=1 R data=17 W flag:=1 R flag=1 W data:=17 R data=17 W data:=17 W flag:=1 R flag=1 R data=17 W flag:=1 R flag=1 W data:=17 R data=17 { W flag:=1 R flag=1 R data=0 W data:=17 W flag:=1 R data=0 R flag=1 W data:=17 R flag=0 W data:=17 W flag:=1 W data:=17 R flag=0 W flag:=1 R flag=0 W flag:=1 W data:=17 R flag=0 W flag:=1 W data:=17

19 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 4 / 20 Structure behind traces W flag:=1 W data:=17 R flag=1 R data=17 W flag:=1 R flag=1 W data:=17 R data=17 W data:=17 W flag:=1 R flag=1 R data=17 W flag:=1 R flag=1 W data:=17 R data=17 { W flag:=1 R flag=1 R data=0 W data:=17 W flag:=1 R data=0 R flag=1 W data:=17 R flag=0 W data:=17 W flag:=1 W data:=17 R flag=0 W flag:=1 R flag=0 W flag:=1 W data:=17 R flag=0 W flag:=1 W data:=17

20 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 5 / 20 Sets of partial orders and event structures The set of partial orders describes the semantics of mp: W flag:=1 W flag:=1 W data:=17 R flag=1 R data=17, R flag=1 R data=0, R flag=0 W data:=1 W data:=17 W data:=17

21 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 5 / 20 Sets of partial orders and event structures The set of partial orders describes the semantics of mp: W flag:=1 W flag:=1 W data:=17 R flag=1 R data=17, R flag=1 R data=0, R flag=0 W data:=1 W data:=17 W data:=17 This set of partial orders can be summed by an event structure: W flag:=1 R flag=0 W data:=17 R flag=1 W flag:=1 R data=17 R data=0 W data:=17

22 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 5 / 20 Sets of partial orders and event structures The set of partial orders describes the semantics of mp: W flag:=1 W flag:=1 W data:=17 R flag=1 R data=17, R flag=1 R data=0, R flag=0 W data:=1 W data:=17 W data:=17 This set of partial orders can be summed by an event structure: W flag:=1 R flag=0 W data:=17 R flag=1 W flag:=1 R data=17 R data=0 W data:=17

23 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 6 / 20 This talk 1. From programs to event structures: in a denotational style. Combine a semantics for the threads and for the memory 2. Using the model to reason about programs For race-free programs, optimisations preserve behaviour. 3. Using the model to explore the behaviour of programs Herd investigations: How to avoid a linear history per-variable?

24 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 7 / 20 I. From programs to event structures Modelling MiniRMO ( MiniARM): Syntax. e ::= r e + e... t ::= fence; t x := e; t r x; t p ::= t... t Two kinds of idents: thread-local registers and global variables.

25 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 8 / 20 Operational semantics Operational semantics is formulated as a LTS over the labels Σ ::= W x:=k R x=k fence. The states of the LST are pairs (p, µ : V N). t@µ l l fence var(l) x x := k; t@µ l x := k;

26 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 8 / 20 Operational semantics Operational semantics is formulated as a LTS over the labels Σ ::= W x:=k R x=k fence. The states of the LST are pairs (p, µ : V N). t@µ l l fence var(l) x x := k; t@µ l x := k; Our goal: a mapping from states to event structures s.t.: (p, µ) bisimilar to (p, µ).

27 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 9 / 20 Labeled event structures Denition A (Σ-labeled) event structure is a tuple (E, E, E, l : E Σ) where (E, E ) is a partial order and E is a symmetric relation on E, satisfying nite causes and conict inheritance. a c e b d

28 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 9 / 20 Labeled event structures Denition A (Σ-labeled) event structure is a tuple (E, E, E, l : E Σ) where (E, E ) is a partial order and E is a symmetric relation on E, satisfying nite causes and conict inheritance. a c e b d Congurations are downclosed, conict-free subsets of E. C (E) is the set of congurations of E.

29 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 9 / 20 Labeled event structures Denition A (Σ-labeled) event structure is a tuple (E, E, E, l : E Σ) where (E, E ) is a partial order and E is a symmetric relation on E, satisfying nite causes and conict inheritance. a c e b d Congurations are downclosed, conict-free subsets of E. C (E) is the set of congurations of E. Congurations form naturally a LTS: x a y when y = x {e} & lbl(e) = a

30 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 10 / 20 An overview of the semantics 1. Thread semantics: context is left open (and unknown) W flag:=1 W data:=17 R flag=0 R flag=1 R flag=2... R data=0 R data= Final semantics: context is assumed empty Compute interactions with memory: W flag:=1 R flag=0 W data:=17 R flag=1 W flag:=1 R data=17 R data=0 W data:=17

31 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 11 / 20 Thread semantics By induction on threads. For instance x := k; t = W x:=k ; t W x:=k t The partial order is given by: ( l;e = E {(l, e) e E e is a fence or an operation on x} Program. No interaction: t 1... t n = t 1... t n.

32 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 12 / 20 How to interpret memory? Memory histories (eg. [W x:=2 R x=2 W x:=3]) form an innite e.s. C µ. (p, µ) = p C µ W flag:=1 R flag=0 W flag:=1 W data:=17 W flag:=1 = R R data=0 flag=0 R flag=1 R flag=1 W data:=17 W data:=17 R flag=1 W flag:=1 R data=17 R data=0 R data=1 R flag=0 W flag:=1 R data=0 W data:=17 R data=17 W data:=17

33 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 12 / 20 How to interpret memory? Memory histories (eg. [W x:=2 R x=2 W x:=3]) form an innite e.s. C µ. (p, µ) = p C µ W flag:=1 R flag=0 W flag:=1 W data:=17 W flag:=1 = R R data=0 flag=0 R flag=1 R flag=1 W data:=17 W data:=17 R flag=1 W flag:=1 R data=17 R data=0 R data=1 R flag=0 W flag:=1 R data=0 W data:=17 R data=17 W data:=17 The product is obtained by a coreection: C ( ) Event Structures Stable Families

34 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 12 / 20 How to interpret memory? Memory histories (eg. [W x:=2 R x=2 W x:=3]) form an innite e.s. C µ. (p, µ) = p C µ W flag:=1 R flag=0 W flag:=1 W data:=17 W flag:=1 = R R data=0 flag=0 R flag=1 R flag=1 W data:=17 W data:=17 R flag=1 W flag:=1 R data=17 R data=0 R data=1 R flag=0 W flag:=1 R data=0 W data:=17 R data=17 W data:=17 The product is obtained by a coreection: C ( ) Event Structures Stable Families Pr( )

35 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 13 / 20 Reasoning with the model Sequential consistency: the standard model for shared memory. Via the same technique, we can build (p, µ) SC (no reordering). Can we relate (p, µ) MiniRMO and (p, µ) SC if p is well-bahved?

36 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 14 / 20 Races and sizes A race: two co-located concurrent accesses (among which a write). data := 0xdeadbeef r data assert (data {0, 0xdeadbeef}) If data is two words, we might see: data = 0xdead0000.

37 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 14 / 20 Races and sizes A race: two co-located concurrent accesses (among which a write). data := 0xdeadbeef r data assert (data {0, 0xdeadbeef}) If data is two words, we might see: data = 0xdead0000. But, mp should be ok: data := 17; flag := 1 r flag; if(r == 1){v data} To model this, we split variables into two groups: atomic and non-atomic. Races on atomic variables are ok (necessary for eg. locks). Atomic variables should have release/acquire semantics.

38 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 15 / 20 Race-free programs Denition A race of a program p is a a trace w (N Σ) of the form: with i j and x is non-atomic. w =... (i, R x=k ) (j, W x:=k ) Denition A program is race-free when none of its traces on SC are races.

39 Proof. By studying properties of the simulation p SC p MiniRMO. Denotational event structure for relaxed memory Alglave, Castellan, Madiot 15 / 20 Race-free programs Denition A race of a program p is a a trace w (N Σ) of the form: with i j and x is non-atomic. w =... (i, R x=k ) (j, W x:=k ) Denition A program is race-free when none of its traces on SC are races. Theorem (Strong Data Racefreedom (DRF)) For a race-free program p, p SC weakly bisimilar to p MiniRMO. (Where operations on small variables are considered internal.)

40 Smaller memory models? Denotational event structure for relaxed memory Alglave, Castellan, Madiot 16 / 20

41 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 17 / 20 Not seen, not caught! We choose a particular memory implementation, C µ. x := 1 x := 2 W x:=1 W x:=2 W x:=2 W x:=1 p However no one is observing the order between the writes... Can we change to have a less sequentializing implementation?

42 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 18 / 20 When do we need to sequentialize? W x:=1 W x:=2 R x=1 R x=2 R x=2 R x=1

43 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 18 / 20 When do we need to sequentialize? W x:=1 W x:=2 R x=1 R x=2 R x=2 R x=1

44 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 18 / 20 When do we need to sequentialize? W x:=1 W x:=2 R x=1 R x=2 R x=2 R x=1

45 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 18 / 20 When do we need to sequentialize? W x:=1 W x:=2 R x=1 R x=2 R x=2 R x=1

46 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 18 / 20 When do we need to sequentialize? W x:=1 W x:=2 R x=1 R x=2 R x=2 R x=1 We nd a notion of lazily consistent partial-ordered history: W x:=1 W x:=2 R x=1 W x:=1 W x:=2 R x=1 not consistent R x=2 consistent R x=2 Theorem (Weaker correctness) Any trace of a lazy consistent history can be reordered without permuting writes on the same variable to a consistent trace. MemStates( p lazy ) = MemStates(p).

47 Denotational event structure for relaxed memory Alglave, Castellan, Madiot 19 / 20 A demo P = x := 1 x := 3 Q = x := 1 x := 3 r x s x

48 Related work / Extensions Related work. Brookes & Kavanagh's model of TSO with pomsets. Pichon & Sewell's operational semantics on event structures Jerey & Riely's axiomatic model using event structures Extensions. Extend this to: Real ARM, Linux-C, etc. More complicated C11 models. Denotational event structure for relaxed memory Alglave, Castellan, Madiot 20 / 20

Multicore Semantics and Programming

Multicore Semantics and Programming Multicore Semantics and Programming Peter Sewell Tim Harris University of Cambridge Oracle October November, 2015 p. 1 These Lectures Part 1: Multicore Semantics: the concurrency of multiprocessors and

More information

Correspondence between operational and declarative concurrency semantics. 29 August 2017

Correspondence between operational and declarative concurrency semantics. 29 August 2017 Correspondence between operational and declarative concurrency semantics Ori Lahav Viktor Vafeiadis 29 August 2017 Two alternative definitions of SC 2 Definition (Operational SC) An outcome O is allowed

More information

Eventual Consistency for CRDTs

Eventual Consistency for CRDTs Eventual Consistency for CRDTs Radha Jagadeesan DePaul University Chicago, USA ESOP 2018 James Riely 1/22 CRDTs? 2/22 CRDTs? C = blah blah R = mumble DT = Data Type 2/22 Data Type An abstract data type

More information

Wojciech Penczek. Polish Academy of Sciences, Warsaw, Poland. and. Institute of Informatics, Siedlce, Poland.

Wojciech Penczek. Polish Academy of Sciences, Warsaw, Poland. and. Institute of Informatics, Siedlce, Poland. A local approach to modal logic for multi-agent systems? Wojciech Penczek 1 Institute of Computer Science Polish Academy of Sciences, Warsaw, Poland and 2 Akademia Podlaska Institute of Informatics, Siedlce,

More information

Taming Release-Acquire Consistency

Taming Release-Acquire Consistency Taming Release-Acquire Consistency Ori Lahav Nick Giannarakis Viktor Vafeiadis Max Planck Institute for Software Systems (MPI-SWS), Germany {orilahav,nickgian,viktor}@mpi-sws.org * POPL * Artifact Consistent

More information

CS 6112 (Fall 2011) Foundations of Concurrency

CS 6112 (Fall 2011) Foundations of Concurrency CS 6112 (Fall 2011) Foundations of Concurrency 29 November 2011 Scribe: Jean-Baptiste Jeannin 1 Readings The readings for today were: Eventually Consistent Transactions, by Sebastian Burckhardt, Manuel

More information

conflict structure bis hpb test pt causality

conflict structure bis hpb test pt causality Causal Testing Ursula Goltz and Heike Wehrheim Institut fur Informatik, University of Hildesheim Postfach 101363, D{31113 Hildesheim, Germany Fax: (+49)(05121)883-768 fgoltz,wehrheimg@informatik.uni-hildesheim.de

More information

Concurrency models and Modern Processors

Concurrency models and Modern Processors Concurrency models and Modern Processors 1 / 17 Introduction The classical model of concurrency is the interleaving model. It corresponds to a memory model called Sequential Consistency (SC). Modern processors

More information

On Reducing Linearizability to State Reachability 1

On Reducing Linearizability to State Reachability 1 On Reducing Linearizability to State Reachability 1 Ahmed Bouajjani a, Michael Emmi b, Constantin Enea a, Jad Hamza a a LIAFA, Université Paris Diderot b IMDEA Software Institute, Spain Abstract Ecient

More information

Complex Systems Design & Distributed Calculus and Coordination

Complex Systems Design & Distributed Calculus and Coordination Complex Systems Design & Distributed Calculus and Coordination Concurrency and Process Algebras: Theory and Practice Francesco Tiezzi University of Camerino francesco.tiezzi@unicam.it A.A. 2014/2015 F.

More information

Computing the acceptability semantics. London SW7 2BZ, UK, Nicosia P.O. Box 537, Cyprus,

Computing the acceptability semantics. London SW7 2BZ, UK, Nicosia P.O. Box 537, Cyprus, Computing the acceptability semantics Francesca Toni 1 and Antonios C. Kakas 2 1 Department of Computing, Imperial College, 180 Queen's Gate, London SW7 2BZ, UK, ft@doc.ic.ac.uk 2 Department of Computer

More information

ESE601: Hybrid Systems. Introduction to verification

ESE601: Hybrid Systems. Introduction to verification ESE601: Hybrid Systems Introduction to verification Spring 2006 Suggested reading material Papers (R14) - (R16) on the website. The book Model checking by Clarke, Grumberg and Peled. What is verification?

More information

Communication and Concurrency: CCS

Communication and Concurrency: CCS Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 cours SSDE Master 1 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics,

More information

Abstract In this paper we present a multiprocessor semantics for CCS [Mil80]. An operational semantics for processes under a nite number of processors

Abstract In this paper we present a multiprocessor semantics for CCS [Mil80]. An operational semantics for processes under a nite number of processors A Semantics for Multiprocessor Systems Padmanabhan Krishnan Department of Computer Science, University of Canterbury, Christchurch 1, New Zealand email:paddy@cosc.canterbury.ac.nz Technical Report COSC

More information

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980 Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics, to be handled on

More information

Sampled Semantics of Timed Automata

Sampled Semantics of Timed Automata Sampled Semantics of Timed Automata Parosh Abdulla, Pavel Krcal, and Wang Yi Department of Information Technology, Uppsala University, Sweden Email: {parosh,pavelk,yi}@it.uu.se Abstract. Sampled semantics

More information

Electronic Notes in Theoretical Computer Science 18 (1998) URL: 8 pages Towards characterizing bisim

Electronic Notes in Theoretical Computer Science 18 (1998) URL:   8 pages Towards characterizing bisim Electronic Notes in Theoretical Computer Science 18 (1998) URL: http://www.elsevier.nl/locate/entcs/volume18.html 8 pages Towards characterizing bisimilarity of value-passing processes with context-free

More information

SAMPLED SEMANTICS OF TIMED AUTOMATA

SAMPLED SEMANTICS OF TIMED AUTOMATA SAMPLED SEMANTICS OF TIMED AUTOMATA PAROSH AZIZ ABDULLA, PAVEL KRCAL, AND WANG YI Department of Information Technology, Uppsala University, Sweden e-mail address: parosh@it.uu.se Department of Information

More information

Laws of Parallel Synchronised Termination

Laws of Parallel Synchronised Termination Laws of Parallel Synchronised Termination David Sands dave@diku.dk DIKU, University of Copenhagen Universitetsparken 1, DK-2100 København Ø, Denmark. Abstract The salient feature of the composition operators

More information

Coinductive big-step semantics and Hoare logics for nontermination

Coinductive big-step semantics and Hoare logics for nontermination Coinductive big-step semantics and Hoare logics for nontermination Tarmo Uustalu, Inst of Cybernetics, Tallinn joint work with Keiko Nakata COST Rich Models Toolkit meeting, Madrid, 17 18 October 2013

More information

A Weak Bisimulation for Weighted Automata

A Weak Bisimulation for Weighted Automata Weak Bisimulation for Weighted utomata Peter Kemper College of William and Mary Weighted utomata and Semirings here focus on commutative & idempotent semirings Weak Bisimulation Composition operators Congruence

More information

Models of Concurrency

Models of Concurrency Models of Concurrency GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Thanks to Frank Valencia Models of Concurrency p.1/57 Concurrency is Everywhere Concurrent

More information

Reasoning About Bounds In Weighted Transition Systems

Reasoning About Bounds In Weighted Transition Systems Reasoning About Bounds In Weighted Transition Systems QuantLA 2017 September 18, 2017 Mikkel Hansen, Kim Guldstrand Larsen, Radu Mardare, Mathias Ruggaard Pedersen and Bingtian Xue {mhan, kgl, mardare,

More information

Trace Refinement of π-calculus Processes

Trace Refinement of π-calculus Processes Trace Refinement of pi-calculus Processes Trace Refinement of π-calculus Processes Manuel Gieseking manuel.gieseking@informatik.uni-oldenburg.de) Correct System Design, Carl von Ossietzky University of

More information

Operational semantics for disintegration

Operational semantics for disintegration Operational semantics for disintegration Chung-chieh Shan (Indiana University) Norman Ramsey (Tufts University) Mathematical Foundations of Programming Semantics 2016-05-25 1 What is semantics for? 1.

More information

Time and Timed Petri Nets

Time and Timed Petri Nets Time and Timed Petri Nets Serge Haddad LSV ENS Cachan & CNRS & INRIA haddad@lsv.ens-cachan.fr DISC 11, June 9th 2011 1 Time and Petri Nets 2 Timed Models 3 Expressiveness 4 Analysis 1/36 Outline 1 Time

More information

Design of Distributed Systems Melinda Tóth, Zoltán Horváth

Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052

More information

T Reactive Systems: Temporal Logic LTL

T Reactive Systems: Temporal Logic LTL Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most

More information

Asynchronous cellular automata for pomsets. 2, place Jussieu. F Paris Cedex 05. Abstract

Asynchronous cellular automata for pomsets. 2, place Jussieu. F Paris Cedex 05. Abstract Asynchronous cellular automata for pomsets without auto-concurrency Manfred Droste Institut fur Algebra Technische Universitat Dresden D-01062 Dresden droste@math.tu-dresden.de Paul Gastin LITP, IBP Universite

More information

Functional Big-step Semantics

Functional Big-step Semantics Functional Big-step Semantics FM talk, 11 Mar 2015 Magnus Myréen Books Big-step semantics are defined as inductively defined relation. Functions are better! me Context: CakeML verified compiler Old compiler:

More information

Noninterference under Weak Memory Models (Progress Report)

Noninterference under Weak Memory Models (Progress Report) Noninterference under Weak Memory Models (Progress Report) Technical Report TUD-CS-2014-0062 March 2014 Heiko Mantel, Matthias Perner, Jens Sauer Noninterference under Weak Memory Models (Progress Report)

More information

Compositionality in SLD-derivations and their abstractions Marco Comini, Giorgio Levi and Maria Chiara Meo Dipartimento di Informatica, Universita di

Compositionality in SLD-derivations and their abstractions Marco Comini, Giorgio Levi and Maria Chiara Meo Dipartimento di Informatica, Universita di Compositionality in SLD-derivations and their abstractions Marco Comini Giorgio Levi and Maria Chiara Meo Dipartimento di Informatica Universita di Pisa Corso Italia 40 56125 Pisa Italy fcomini levi meog@di.unipi.it

More information

Timo Latvala. February 4, 2004

Timo Latvala. February 4, 2004 Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism

More information

Refinement-Robust Fairness

Refinement-Robust Fairness Refinement-Robust Fairness Hagen Völzer Institut für Theoretische Informatik Universität zu Lübeck May 10, 2005 0 Overview 1. Problem 2. Formalization 3. Solution 4. Remarks 1 Problem weak fairness wrt

More information

Proofs of Correctness: Introduction to Axiomatic Verification

Proofs of Correctness: Introduction to Axiomatic Verification Proofs of Correctness: Introduction to Axiomatic Verification Introduction Weak correctness predicate Assignment statements Sequencing Selection statements Iteration 1 Introduction What is Axiomatic Verification?

More information

Local knowledge assertions in a changing world. (Extended abstract) R. Ramanujam. C.I.T. Campus. Madras India.

Local knowledge assertions in a changing world. (Extended abstract) R. Ramanujam. C.I.T. Campus. Madras India. Local knowledge assertions in a changing world (Extended abstract) R. Ramanujam The Institute of Mathematical Sciences C.I.T. Campus Madras - 600 113 India jam@imsc.ernet.in ABSTRACT When the state of

More information

TEMPORAL LOGICS FOR TRACE SYSTEMS: ON AUTOMATED VERIFICATION WOJCIECH PENCZEK 1. Institute of Computer Science, Polish Academy of Sciences

TEMPORAL LOGICS FOR TRACE SYSTEMS: ON AUTOMATED VERIFICATION WOJCIECH PENCZEK 1. Institute of Computer Science, Polish Academy of Sciences TEMPORAL LOGICS FOR TRACE SYSTEMS: ON AUTOMATED VERIFICATION WOJCIECH PENCZEK 1 Institute of Computer Science, Polish Academy of Sciences Warsaw, ul. Ordona 21, Poland Received Revised Abstract We investigate

More information

Concurrency theory. proof-techniques for syncronous and asynchronous pi-calculus. Francesco Zappa Nardelli. INRIA Rocquencourt, MOSCOVA research team

Concurrency theory. proof-techniques for syncronous and asynchronous pi-calculus. Francesco Zappa Nardelli. INRIA Rocquencourt, MOSCOVA research team Concurrency theory proof-techniques for syncronous and asynchronous pi-calculus Francesco Zappa Nardelli INRIA Rocquencourt, MOSCOVA research team francesco.zappa nardelli@inria.fr together with Frank

More information

Monitoring Multi-Threaded Component-Based Systems

Monitoring Multi-Threaded Component-Based Systems Monitoring Multi-Threaded Component-Based Systems Hosein Nazarpour, Yliès Falcone, Saddek Bensalem, Marius Bozga, Jacques Combaz Verimag Research Report n o TR-2015-5 January 13, 2016 Reports are downloadable

More information

ONE of the key ideas in system engineering

ONE of the key ideas in system engineering EDIC RESEARCH PROPOSAL 1 Expressiveness and Composability of Glue Operators in BIP Eduard Baranov RISD, I&C, EPFL Abstract We study communication in componentbased design, where basic components are glued

More information

Design and Analysis of Distributed Interacting Systems

Design and Analysis of Distributed Interacting Systems Design and Analysis of Distributed Interacting Systems Organization Prof. Dr. Joel Greenyer April 11, 2013 Organization Lecture: Thursdays, 10:15 11:45, F 128 Tutorial: Thursdays, 13:00 13:45, G 323 first

More information

On an algebra related to orbit-counting. Peter J. Cameron. Queen Mary and Westeld College. London E1 4NS U.K. Abstract

On an algebra related to orbit-counting. Peter J. Cameron. Queen Mary and Westeld College. London E1 4NS U.K. Abstract On an algebra related to orbit-counting Peter J. Cameron School of Mathematical Sciences Queen Mary and Westeld College London E1 4NS U.K. Abstract With any permutation group G on an innite set is associated

More information

DYNAMIC CONGRUENCE vs. PROGRESSING BISIMULATION for CCS. Ugo Montanari and Vladimiro Sassone. Dipartimento di Informatica { Universita di Pisa

DYNAMIC CONGRUENCE vs. PROGRESSING BISIMULATION for CCS. Ugo Montanari and Vladimiro Sassone. Dipartimento di Informatica { Universita di Pisa DYNAMIC CONGRUENCE vs. PROGRESSING BISIMULATION for CCS Ugo Montanari and Vladimiro Sassone Dipartimento di Informatica { Universita di Pisa Corso Italia 40-56125 - Pisa - Italy E-MAIL:fugo,vladig@di.unipi.it

More information

Marios Mavronicolas 1, Harvard University,

Marios Mavronicolas 1, Harvard University, Eciency of Semi-Synchronous versus Asynchronous Systems: Atomic Shared Memory Marios Mavronicolas 1, Aiken Computation Laboratory, Harvard University, Cambridge, MA 02138. May 1992 1 Supported by ONR contract

More information

system perform its tasks (performance testing), how does the system react if its environment does not behave as expected (robustness testing), and how

system perform its tasks (performance testing), how does the system react if its environment does not behave as expected (robustness testing), and how Test Generation with Inputs, Outputs, and Repetitive Quiescence Jan Tretmans Tele-Informatics and Open Systems Group Department of Computer Science University of Twente P.O. Box 17, NL-7500 AE Enschede

More information

Programs, Semantics and Eective Atomicity

Programs, Semantics and Eective Atomicity Programs, Semantics and Eective Atomicity Shankar April 3, 2014 Outline programs Program Service Programs State transition semantics of systems Assertions and their evaluation Splitting and stitching of

More information

Probabilistic Argument Graphs for Argumentation Lotteries

Probabilistic Argument Graphs for Argumentation Lotteries Probabilistic Argument Graphs for Argumentation Lotteries Anthony Hunter 1 Matthias Thimm 2 1 Department of Computer Science, University College London, UK 2 Institute for Web Science and Technology, University

More information

Observing \True" Concurrency. Lalita Jategaonkar. S.B., Electrical Engineering and Computer Science. Massachusetts Institute of Technology (1989)

Observing \True Concurrency. Lalita Jategaonkar. S.B., Electrical Engineering and Computer Science. Massachusetts Institute of Technology (1989) Observing \True" Concurrency by Lalita Jategaonkar S.B., Electrical Engineering and Computer Science Massachusetts Institute of Technology (1989) S.M., Electrical Engineering and Computer Science Massachusetts

More information

Scheduling Adaptively Parallel Jobs. Bin Song. Submitted to the Department of Electrical Engineering and Computer Science. Master of Science.

Scheduling Adaptively Parallel Jobs. Bin Song. Submitted to the Department of Electrical Engineering and Computer Science. Master of Science. Scheduling Adaptively Parallel Jobs by Bin Song A. B. (Computer Science and Mathematics), Dartmouth College (996) Submitted to the Department of Electrical Engineering and Computer Science in partial fulllment

More information

Direct mapping of low-latency asynchronous

Direct mapping of low-latency asynchronous School of Electrical, Electronic & Computer Engineering Direct mapping of low-latency asynchronous controllers from STGs D.Sokolov, A.Bystrov, A.Yakovlev Technical Report Series NCL-EECE-MSD-TR-2006-110

More information

Trace semantics: towards a unification of parallel paradigms Stephen Brookes. Department of Computer Science Carnegie Mellon University

Trace semantics: towards a unification of parallel paradigms Stephen Brookes. Department of Computer Science Carnegie Mellon University Trace semantics: towards a unification of parallel paradigms Stephen Brookes Department of Computer Science Carnegie Mellon University MFCSIT 2002 1 PARALLEL PARADIGMS State-based Shared-memory global

More information

Computability and Complexity

Computability and Complexity Computability and Complexity Sequences and Automata CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario, Canada janicki@mcmaster.ca Ryszard Janicki Computability

More information

Devslang and DEVS operational semantics

Devslang and DEVS operational semantics Devslang and DEVS operational semantics Ernesto Posse 25th August 2004 Outline Introduction Devslang Formal operational semantics Future work 1 Introduction DEVS: Discrete EVent System specification formalism

More information

Process Algebras and Concurrent Systems

Process Algebras and Concurrent Systems Process Algebras and Concurrent Systems Rocco De Nicola Dipartimento di Sistemi ed Informatica Università di Firenze Process Algebras and Concurrent Systems August 2006 R. De Nicola (DSI-UNIFI) Process

More information

Program verification. Hoare triples. Assertional semantics (cont) Example: Semantics of assignment. Assertional semantics of a program

Program verification. Hoare triples. Assertional semantics (cont) Example: Semantics of assignment. Assertional semantics of a program Program verification Assertional semantics of a program Meaning of a program: relation between its inputs and outputs; specified by input assertions (pre-conditions) and output assertions (post-conditions)

More information

A π-calculus with preorders

A π-calculus with preorders A π-calculus with preorders Daniel Hirschkoff, Jean-Marie Madiot, Davide Sangiorgi École Normale Supérieure de Lyon Università di Bologna PACE kick-off meeting, 2013-04-23 Jean-Marie Madiot (Lyon, Bologna)

More information

Causal Dataflow Analysis for Concurrent Programs

Causal Dataflow Analysis for Concurrent Programs Causal Dataflow Analysis for Concurrent Programs Azadeh Farzan P. Madhusudan Department of Computer Science, University of Illinois at Urbana-Champaign. {afarzan,madhu}@cs.uiuc.edu Abstract. We define

More information

On Controllability and Normality of Discrete Event. Dynamical Systems. Ratnesh Kumar Vijay Garg Steven I. Marcus

On Controllability and Normality of Discrete Event. Dynamical Systems. Ratnesh Kumar Vijay Garg Steven I. Marcus On Controllability and Normality of Discrete Event Dynamical Systems Ratnesh Kumar Vijay Garg Steven I. Marcus Department of Electrical and Computer Engineering, The University of Texas at Austin, Austin,

More information

Hoare Logic for Realistically Modelled Machine Code

Hoare Logic for Realistically Modelled Machine Code Hoare Logic for Realistically Modelled Machine Code Magnus O. Myreen, Michael J. C. Gordon TACAS, March 2007 This talk Contribution: A mechanised Hoare logic for machine code with emphasis on resource

More information

Specifying and Analysing Networks of Processes in CSP T (or In Search of Associativity)

Specifying and Analysing Networks of Processes in CSP T (or In Search of Associativity) Specifying and Analysing Networks of Processes in CSP T (or In Search of Associativity) Paul Howells University of Westminster Mark d Inverno Goldsmiths, University of London Communicating Process Architectures

More information

Genuine atomic multicast in asynchronous distributed systems

Genuine atomic multicast in asynchronous distributed systems Theoretical Computer Science 254 (2001) 297 316 www.elsevier.com/locate/tcs Genuine atomic multicast in asynchronous distributed systems Rachid Guerraoui, Andre Schiper Departement d Informatique, Ecole

More information

Review of The π-calculus: A Theory of Mobile Processes

Review of The π-calculus: A Theory of Mobile Processes Review of The π-calculus: A Theory of Mobile Processes Riccardo Pucella Department of Computer Science Cornell University July 8, 2001 Introduction With the rise of computer networks in the past decades,

More information

The Equational Theory of Kleene Lattices

The Equational Theory of Kleene Lattices The Equational Theory of Kleene Lattices Hajnal Andréka 1, Szabolcs Mikulás 2, István Németi 1 TACL 2011, 29/07/2011 1 Alfréd Rényi Institute of Mathematics Hungarian Academy of Sciences 2 Department of

More information

Parametric and Sliced Causality

Parametric and Sliced Causality Parametric and Sliced Causality Feng Chen and Grigore Roşu Department of Computer Science University of Illinois at Urbana - Champaign, USA {fengchen,grosu}@uiuc.edu Abstract. Happen-before causal partial

More information

Introduction to Permission-Based Program Logics Part II Concurrent Programs

Introduction to Permission-Based Program Logics Part II Concurrent Programs Introduction to Permission-Based Program Logics Part II Concurrent Programs Thomas Wies New York University Example: Lock-Coupling List 2 3 5 7 8 9 There is one lock per node; threads acquire locks in

More information

CS 152 Computer Architecture and Engineering. Lecture 17: Synchronization and Sequential Consistency

CS 152 Computer Architecture and Engineering. Lecture 17: Synchronization and Sequential Consistency CS 152 Computer Architecture and Engineering Lecture 17: Synchronization and Sequential Consistency Dr. George Michelogiannakis EECS, University of California at Berkeley CRD, Lawrence Berkeley National

More information

A Decidable Logic for Complex Contracts

A Decidable Logic for Complex Contracts A Decidable Logic for Complex Contracts Cristian Prisacariu joint work with Gerardo Schneider Precise Modeling and Analysis group (PMA), University of Oslo 21 st Nordic Workshop on Programming Theory (NWPT'09)

More information

Exhaustive Classication of Finite Classical Probability Spaces with Regard to the Notion of Causal Up-to-n-closedness

Exhaustive Classication of Finite Classical Probability Spaces with Regard to the Notion of Causal Up-to-n-closedness Exhaustive Classication of Finite Classical Probability Spaces with Regard to the Notion of Causal Up-to-n-closedness Michaª Marczyk, Leszek Wro«ski Jagiellonian University, Kraków 16 June 2009 Abstract

More information

Modelling Membranes with Brane Calculi

Modelling Membranes with Brane Calculi Modelling Membranes with Brane Calculi (and translation of Brane Calculi into CLS) 1/42 Introduction A biological cellular membrane is an closed surface that can perform various molecular functions. Membranes

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Another Glance at the Alpern-Schneider. Characterization of Safety andliveness in. Concurrent Executions. Abstract

Another Glance at the Alpern-Schneider. Characterization of Safety andliveness in. Concurrent Executions. Abstract Another Glance at the Alpern-Schneider Characterization of Safety andliveness in Concurrent Executions H.Peter Gumm Abstract In order to derive a result such as the Alpern-Schneider theorem characterizing

More information

Synthesis of Biological Models from Mutation Experiments

Synthesis of Biological Models from Mutation Experiments Synthesis of Biological Models from Mutation Experiments Ali Sinan Köksal, Saurabh Srivastava, Rastislav Bodík, UC Berkeley Evan Pu, MIT Jasmin Fisher, Microsoft Research Cambridge Nir Piterman, University

More information

On Permissions, Inheritance and Role Hierarchies

On Permissions, Inheritance and Role Hierarchies On Permissions, Inheritance and Role Hierarchies Information Security Group Royal Holloway, University of London Introduction The role hierarchy is central to most RBAC models Modelled as a partially ordered

More information

2 Conceptual Framework Before introducing the probabilistic concurrent constraint (PCCP) language we have to discuss a basic question: What is a proba

2 Conceptual Framework Before introducing the probabilistic concurrent constraint (PCCP) language we have to discuss a basic question: What is a proba On Probabilistic CCP Alessandra Di Pierro and Herbert Wiklicky fadp,herbertg@cs.city.ac.uk City University London, Northampton Square, London EC1V OHB Abstract This paper investigates a probabilistic version

More information

Program Verification using Separation Logic Lecture 0 : Course Introduction and Assertion Language. Hongseok Yang (Queen Mary, Univ.

Program Verification using Separation Logic Lecture 0 : Course Introduction and Assertion Language. Hongseok Yang (Queen Mary, Univ. Program Verification using Separation Logic Lecture 0 : Course Introduction and Assertion Language Hongseok Yang (Queen Mary, Univ. of London) Dream Automatically verify the memory safety of systems software,

More information

Parameterised! Linearisability Andrea Cerone

Parameterised! Linearisability Andrea Cerone ised! Linearisability Andrea Cerone Joint work with Alexey Gotsman and Hongseok Yang ICALP - Copenhagen, July 8th, 2014 A Simple Example Converting a sequential data structure into a concurrent one Trivial

More information

MAKING THE UNOBSERVABLE, UNOBSERVABLE.

MAKING THE UNOBSERVABLE, UNOBSERVABLE. MAKING THE UNOBSERVABLE, UNOBSERVABLE. 3 PAPERS FROM THE LAST 365 DAYS AVAILABLE TO READ NOW ON YOUR COMPUTER PAWEL SOBOCINSKI AND JULIAN RATHKE GO TO www.ecs.soton.ac.uk/~ps/publications.php Plan of the

More information

Axiomatisation of Hybrid Logic

Axiomatisation of Hybrid Logic Imperial College London Department of Computing Axiomatisation of Hybrid Logic by Louis Paternault Submitted in partial fulfilment of the requirements for the MSc Degree in Advanced Computing of Imperial

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Operational Semantics

Operational Semantics Operational Semantics Semantics and applications to verification Xavier Rival École Normale Supérieure Xavier Rival Operational Semantics 1 / 50 Program of this first lecture Operational semantics Mathematical

More information

Linear Algebra (part 1) : Vector Spaces (by Evan Dummit, 2017, v. 1.07) 1.1 The Formal Denition of a Vector Space

Linear Algebra (part 1) : Vector Spaces (by Evan Dummit, 2017, v. 1.07) 1.1 The Formal Denition of a Vector Space Linear Algebra (part 1) : Vector Spaces (by Evan Dummit, 2017, v. 1.07) Contents 1 Vector Spaces 1 1.1 The Formal Denition of a Vector Space.................................. 1 1.2 Subspaces...................................................

More information

arxiv: v2 [cs.pl] 4 Dec 2018

arxiv: v2 [cs.pl] 4 Dec 2018 Logical Methods in Computer Science Vol.? (?:?) 2???,? pages www.lmcs-online.org Submitted Published date date A DENOTATIONAL SEMANTICS FOR SPARC TSO RYAN KAVANAGH AND STEPHEN BROOKES arxiv:1711.00931v2

More information

LTL Model Checking. Wishnu Prasetya.

LTL Model Checking. Wishnu Prasetya. LTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Overview This pack : Abstract model of programs Temporal properties Verification (via model checking) algorithm Concurrency

More information

Directed Topology and Concurrency Theory.

Directed Topology and Concurrency Theory. Directed Topology and Concurrency Theory. Lisbeth Fajstrup Department of Mathematics alborg University Denmark Sapporo 2017 Directed Topology/Concurrency Take home message: Models of concurrency geometry/topology

More information

{},{a},{a,c} {},{c} {c,d}

{},{a},{a,c} {},{c} {c,d} Modular verication of Argos Programs Agathe Merceron 1 and G. Michele Pinna 2 1 Basser Department of Computer Science, University of Sydney Madsen Building F09, NSW 2006, Australia agathe@staff.cs.su.oz.au

More information

Lecture 13: Sequential Circuits, FSM

Lecture 13: Sequential Circuits, FSM Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines 1 Clocks A microprocessor is composed of many different circuits that are operating simultaneously if each

More information

Abstraction for Concurrent Objects

Abstraction for Concurrent Objects Abstraction for Concurrent Objects Ivana Filipović, Peter O Hearn, Noam Rinetzky 1, Hongseok Yang Queen Mary University of London, UK Abstract Concurrent data structures are usually designed to satisfy

More information

Definability in Boolean bunched logic

Definability in Boolean bunched logic Definability in Boolean bunched logic James Brotherston Programming Principles, Logic and Verification Group Dept. of Computer Science University College London, UK J.Brotherston@ucl.ac.uk Logic Summer

More information

Abstracting Definitional Interpreters. David Van Horn

Abstracting Definitional Interpreters. David Van Horn Abstracting Definitional Interpreters David Van Horn Abstracting Definitional Interpreters David Van Horn Northeastern University Definitional interpreters written in monadic style can express a wide variety

More information

1 Vectors. Notes for Bindel, Spring 2017 Numerical Analysis (CS 4220)

1 Vectors. Notes for Bindel, Spring 2017 Numerical Analysis (CS 4220) Notes for 2017-01-30 Most of mathematics is best learned by doing. Linear algebra is no exception. You have had a previous class in which you learned the basics of linear algebra, and you will have plenty

More information

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA Time(d) Petri Net Serge Haddad LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA haddad@lsv.ens-cachan.fr Petri Nets 2016, June 20th 2016 1 Time and Petri Nets 2 Time Petri Net: Syntax and Semantic

More information

Correspondence between Kripke Structures and Labeled Transition Systems for Model Minimization

Correspondence between Kripke Structures and Labeled Transition Systems for Model Minimization Correspondence between Kripke Structures and Labeled Transition Systems for Model Minimization Rob Schoren Abstract This document is mainly an extension of the work of Michel Reniers and Tim Willemse,

More information

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics Dynamic Semantics Operational Semantics Denotational Semantic Dynamic Semantics Operational Semantics Operational Semantics Describe meaning by executing program on machine Machine can be actual or simulated

More information

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice Luis Pino*, Filippo Bonchi** and Frank Valencia* (Presented by: Jorge A. Pe rez) *E quipe Come te, LIX, Laboratoire

More information

Translator. Productivity. Functional Correctness. Performance. Efficiency/ Compiler. Correctness. BIP Engine/Linux. Correctness. Multicore Platform

Translator. Productivity. Functional Correctness. Performance. Efficiency/ Compiler. Correctness. BIP Engine/Linux. Correctness. Multicore Platform Programming Model Application SW Translator Productivity SW model in BIP Functional Correctness D-Finder System model in BIP DOL Performance Efficiency/ Correctness Correctness Source2Source Distributed

More information

Independent generating sets and geometries for symmetric groups

Independent generating sets and geometries for symmetric groups Independent generating sets and geometries for symmetric groups Peter J. Cameron School of Mathematical Sciences Queen Mary, University of London Mile End Road London E1 4NS UK Philippe Cara Department

More information

Efficient Techniques for Fast Packet Classification

Efficient Techniques for Fast Packet Classification Efficient Techniques for Fast Packet Classification Network Reading Group Alok Tongaonkar, R Sekar Stony Brook University Sept 16, 2008 What is Packet Classification? Packet Classification A mechanism

More information

for Propositional Temporal Logic with Since and Until Y. S. Ramakrishna, L. E. Moser, L. K. Dillon, P. M. Melliar-Smith, G. Kutty

for Propositional Temporal Logic with Since and Until Y. S. Ramakrishna, L. E. Moser, L. K. Dillon, P. M. Melliar-Smith, G. Kutty An Automata-Theoretic Decision Procedure for Propositional Temporal Logic with Since and Until Y. S. Ramakrishna, L. E. Moser, L. K. Dillon, P. M. Melliar-Smith, G. Kutty Department of Electrical and Computer

More information

Separation Logic and Graphical Models

Separation Logic and Graphical Models Separation Logic and Graphical Models John Wickerson and Tony Hoare Semantics Lunch, 25th October 2010 1 Trace composition Problem: Composition is non-deterministic. 2 Trace composition Problem: Composition

More information

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford Probabilistic Model Checking Michaelmas Term 2011 Dr. Dave Parker Department of Computer Science University of Oxford Overview Temporal logic Non-probabilistic temporal logic CTL Probabilistic temporal

More information