Denotational event structure for relaxed memory
|
|
- Jasmine Lloyd
- 5 years ago
- Views:
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 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 informationCorrespondence 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 informationEventual 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 informationWojciech 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 informationTaming 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 informationCS 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 informationconflict 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 informationConcurrency 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 informationOn 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 informationComplex 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 informationComputing 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 informationESE601: 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 informationCommunication 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 informationAbstract 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 informationCommunication 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 informationSampled 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 informationElectronic 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 informationSAMPLED 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 informationLaws 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 informationCoinductive 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 informationA 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 informationModels 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 informationReasoning 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 informationTrace 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 informationOperational 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 informationTime 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 informationDesign 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 informationT 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 informationAsynchronous 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 informationFunctional 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 informationNoninterference 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 informationCompositionality 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 informationTimo 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 informationRefinement-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 informationProofs 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 informationLocal 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 informationTEMPORAL 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 informationConcurrency 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 informationMonitoring 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 informationONE 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 informationDesign 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 informationOn 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 informationDYNAMIC 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 informationMarios 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 informationsystem 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 informationPrograms, 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 informationProbabilistic 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 informationObserving \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 informationScheduling 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 informationDirect 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 informationTrace 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 informationComputability 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 informationDevslang 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 informationProcess 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 informationProgram 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 informationA π-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 informationCausal 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 informationOn 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 informationHoare 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 informationSpecifying 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 informationGenuine 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 informationReview 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 informationThe 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 informationParametric 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 informationIntroduction 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 informationCS 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 informationA 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 informationExhaustive 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 informationModelling 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 informationAbstractions 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 informationAnother 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 informationSynthesis 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 informationOn 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 information2 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 informationProgram 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 informationParameterised! 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 informationMAKING 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 informationAxiomatisation 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 informationThe 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 informationOperational 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 informationLinear 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 informationarxiv: 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 informationLTL 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 informationDirected 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}
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 informationLecture 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 informationAbstraction 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 informationDefinability 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 informationAbstracting 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 information1 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 informationTime(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 informationCorrespondence 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 informationDynamic 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 informationA 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 informationTranslator. 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 informationIndependent 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 informationEfficient 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 informationfor 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 informationSeparation 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 informationProbabilistic 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