Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.

Slides:



Advertisements
Similar presentations
Aaron Johnson with Joan Feigenbaum Paul Syverson
Advertisements

Impossibility of Distributed Consensus with One Faulty Process
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Chapter 15 Basic Asynchronous Network Algorithms
Timed Automata.
Energy-Efficient Communication Protocol for Wireless Microsensor Networks by Mikhail Nesterenko Wendi Rabiner Heinzelman, Anantha Chandrakasan, and Hari.
Discrete Mathematics Lecture 5 Alexander Bukharovich New York University.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
Termination Detection of Diffusing Computations Chapter 19 Distributed Algorithms by Nancy Lynch Presented by Jamie Payton Oct. 3, 2003.
1 Mechanical Verification of Timed Automata Myla Archer and Constance Heitmeyer Presented by Rasa Bonyadlou 24 October 2002.
Distributed Computing 5. Snapshot Shmuel Zaks ©
1 Formal Models for Stability Analysis : Verifying Average Dwell Time * Sayan Mitra MIT,CSAIL Research Qualifying Exam 20 th December.
Safety and Liveness. Defining Programs Variables with respective domain –State space of the program Program actions –Guarded commands Program computation.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture4: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Introduction to Computability Theory
Ordering and Consistent Cuts Presented By Biswanath Panda.
An Introduction to Input/Output Automata Qihua Wang.
Sets Definition of a Set: NAME = {list of elements or description of elements} i.e. B = {1,2,3} or C = {x  Z + | -4 < x < 4} Axiom of Extension: A set.
Discrete Mathematics Lecture 4 Harper Langston New York University.
1 An Inheritance-Based Technique for Building Simulation Proofs Incrementally Idit Keidar, Roger Khazan, Nancy Lynch, Alex Shvartsman MIT Lab for Computer.
1 Languages and Finite Automata or how to talk to machines...
Specification Formalisms Book: Chapter 5. Properties of formalisms Formal. Unique interpretation. Intuitive. Simple to understand (visual). Succinct.
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
Normal forms for Context-Free Grammars
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
Costas Busch - LSU1 Non-Deterministic Finite Automata.
Chapter 4: A Universal Program 1. Coding programs Example : For our programs P we have variables that are arranged in a certain order: Y 1 X 1 Z 1 X 2.
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Comparison of methods for supervisory control and submodule construction 1 Gregor v. Bochmann, University of Ottawa Comparison of methods for supervisory.
Modeling Process CSCE 668Set 14: Simulations 2 May be several algorithms (processes) runs on each processor to simulate the desired communication system.
CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: Sequencing Properties Copyright , Matt Dwyer, John Hatcliff,
Pushdown Automata (PDAs)
Modelling III: Asynchronous Shared Memory Model Chapter 9 by Nancy A. Lynch presented by Mark E. Miyashita.
1 IOA: Mathematical Models  Distributed Programs Nancy Lynch November 15, 2000 Collaborators: Steve Garland, Josh Tauber, Anna Chefter, Antonio Ramirez,
Chapter 14 Asynchronous Network Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Defining Programs, Specifications, fault-tolerance, etc.
PARTIALLY SYNCHRONOUS ALGORITHMS PRESENTED BY: BINAMRA DUTTA.
Timed I/O Automata: A Mathematical Framework for Modeling and Analyzing Real-Time Systems Frits Vaandrager, University of Nijmegen joint work with Dilsun.
1 Modeling and Analyzing Distributed Systems Using I/O Automata Nancy Lynch, MIT Draper Laboratory, IR&D Mid-Year Meeting December 11, 2002.
Hwajung Lee. The State-transition model The set of global states = s 0 x s 1 x … x s m {s k is the set of local states of process k} S0  S1  S2  Each.
Recognizing safety and liveness Presented by Qian Huang.
Defining Liveness by Bowen Alpern and Fred B. Schneider Presented by Joe Melnyk.
MPRI 3 Dec 2007Catuscia Palamidessi 1 Why Probability and Nondeterminism? Concurrency Theory Nondeterminism –Scheduling within parallel composition –Unknown.
1 IOA: Distributed Algorithms  Distributed Programs Nancy Lynch PODC 2000 Collaborators: Steve Garland, Josh Tauber, Anna Chefter, Antonio Ramirez, Michael.
Hwajung Lee. The State-transition model The set of global states = s 0 x s 1 x … x s m {s k is the set of local states of process k} S0  S1  S2  Each.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
ECE/CS 584: Verification of Embedded Computing Systems Model Checking Timed Automata Sayan Mitra Lecture 09.
Program Correctness. The designer of a distributed system has the responsibility of certifying the correctness of the system before users start using.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.
Introduction to distributed systems description relation to practice variables and communication primitives instructions states, actions and programs synchrony.
1 Maximality Properties Dr. Mikhail Nesterenko Presented By Ibrahim Motiwala.
1 Modeling and Analyzing Distributed Systems Using I/O Automata Nancy Lynch, MIT Draper Laboratory, IR&D Kickoff Meeting Aug. 30, 2002.
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
Formal Language & Automata Theory
LPV: a new technique, based on linear programming, to formally prove or disprove safety properties J-L Lambert, valiosys.
Sequential Flexibility
Languages.
CIS Automata and Formal Languages – Pei Wang
PROPERTIES OF REGULAR LANGUAGES
Chapter 3 The Real Numbers.
Chapter 2 FINITE AUTOMATA.
Alternating tree Automata and Parity games
ITEC452 Distributed Computing Lecture 5 Program Correctness
Non-Deterministic Finite Automata
Introduction to Finite Automata
CSCI-2400 Models of Computation.
Presentation transcript:

Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch

Outline I/O automaton definition examples of I/O automata execution operations on I/O automata –composition –hiding fairness properties and proof methods –invariants –trace properties –compositional reasoning –hierarchical proofs complexity randomization

I/O Automaton Signature Iinput/Output automaton A is a state machine that models a component of a distributed system –the transitions associated with named actions acts(A) main part of I/O automaton is its signature: sig(A) - a description of actions, actions can be input - in(sig(A)) or just in(A) output - out(A) internal actions int(A) sets of actions are disjoint input and output actions are external actions, external signature (external interface) extsig(A) contains external actions only

I/O Automaton Parts signature sig(A) (possibly) infinite set of states states(A) non-empty subset of initial states start(A) a state transition relation trans(A)  states(A)  acts(A)  states(A) –there must be a transition for every state and every input actions (the automata are input-enabled) –a member of trans(A) is transition, an action is enabled at a state if a the corresponding transition is in trans(A) –state is quiescent if only input actions are enabled task partition tasks(A) - a separation of internal and output actions into subset to model different objectives of A

Channel I/O Automaton

Process I/O Automaton

Execution finite (or infinite) sequence s 0,  1  s 1  2  …  r,s r is execution fragment if each (  k  s k  k+1 ) is a transition of A execution is an execution fragment that starts in an initial state a state is reachable if it is a final state of a finite execution of A example: channel automata executions (assuming messages are {1,2} a trace of an execution  of A (denoted trace (  ) or trace(A)) is a projection of the execution on external actions traces(A) - a set of traces of A

Compatible Components allows constructing of complex system out of individual components informally - components are joined, individual component’s actions are executed, when action  is executed by one component, each component with  (the same action) executes it a collection of components is compatible if their signatures are as follows –internal actions of one component are not observable by any other (i.e. the internal actions are disjoint) –only one component controls output (output sets of any two components are disjoint) –each action is contained in finitely many components

Composition A  B is a composition of components A and B given a collection of compatible signatures {S i } i  I the composition S=   I  S i of signatures is defined as follows a composition A=   I  A i of automata is

Exposed outputs Observe that even though some of the inputs (the ones that have corresponding output) of the components are removed from the composition, all outputs of components are outputs of composition this is done to allow convenient composition example component A has output action  while B and C have  as input action –that is  is “broadcast” to both B and C if  is not exposed then ( A  B )  C as well as is not possible

Hidden outputs there is an operation that “hides” the output actions of components by reclassifying them as internal actions (they are not used in further communication and do not appear in traces) if for some signature S, an some subset of output actions   out(S) hiding operation hide  (S) is defined as a new signature S’ such hat: –in(S’)=in(S), out(S’)=out(S)- , and int(S’)=int(S)  –hiding of output actions for an automaton involves hiding of these actions for the automaton’s signature

Example Composition composition of process and channel automata assuming N=3 the transitions are as follows example trace assuming N=2 and the function f is addition

Composition Theorems given an execution ,  |A is the projection (removal) of all the transitions that are not in A

Fairness interesting executions - each components “take fair turns” at performing transitions recall - each automaton is partitioned into tasks informally fairness allows each task to perform one of its actions infinitely often formally, let C be set of tasks and  - an execution fragment,  is fair if –  is finite and C is not enabled in the final state –  is infinite and it contains either infinitely many transitions from C or infinitely many states where all actions of C are disabled fairexec(A) - a set of fair executions of A trace is fair if it is a trace of fair execution fairtrace(A) a set of fair traces of A

Fairness Examples example: channel automata executions (assuming messages are {1,2} fair not fair

Fairness Examples: Clock Automaton executions tick, tick, tick, – fair tick, tick, tick – not fair (no fair finite executions for Clock ) tick, tick, request, tick, tick, clock(4), tick, tick, … - fair tick, tick, request, tick, tick, tick, … - not fair

Fairness Theorem

Invariants Invariant (assertion) for A is a property that is true in all reachable states of A usually proved by induction on the number of steps in the execution can be done by providing a sequence of invariants and proceeding from one to the next –note: “we” tend to think of an invariant as an assertion (predicate) on a state which is less generic than Lynch’s definition

Trace Properties reasoning of the properties of an automaton is done in terms of its traces formally a trace property P is –a signature sig(P) containing no internal actions –a set traces(P) of (finite or infinite) sequences of actions of sig(P) A satisfies trace property P means either of the two –extsig ( A )= sig ( P ) and traces ( A )  traces ( P ) –extsig ( A )= sig ( P ) and fairtraces ( A )  traces(P) in either case the satisfaction intuitively means that the behavior that can be produced by A is permitted by P ; the reverse (completion) is not required

Automata and Trace Properties

Safety Properties P is a trace safety property if –traces(P) is not empty –traces(P) is prefix closed – every prefix of a trace in traces(P) is also in traces(P) intuitively – if nothing “bad” happens in a trace, nothing bad happens in a prefix of the trace –traces(P) is limit-closed – given an infinite sequence of finite sequences      … such that each consequent finite sequence is contains the preceding one as a prefix, the limit of this infinite sequence is also in traces(P) intuitively – if nothing “bad” happens in any of the prefixes then nothing bad happens in the trace itself

Liveness Properties, Theorems P is liveness property if every finite sequence from acts(P) has some extensions in traces(P) –intuitively – an arbitrary prefix can be made “live” and extended to conform to a liveness property Theorem 8.8 if a property is both a liveness and safety property then it contains all possible sequences of actions Theorem 8.9 every property is an intersection of a liveness and safety property

Proof Techniques compositional reasoning – proves properties of the composed automaton on the basis of the properties of the components and composition techniques hierarchical proofs – describe the system in an abstract model and, prove it conforms to a property then move (refine) the abstraction while preserving the property

Indistinguishable Executions, Randomization if  and  ’ are two executions of a composed systems of automata each containing automaton A,  and  ’ are indistinguishable to A provides  |A=  ’|A probabilistic I/O automaton – notion of transition is modified: instead of (s, ,s’), it is (s, ,P) where P is a probability distribution over some set of states