Presentation is loading. Please wait.

Presentation is loading. Please wait.

Synchronous Protocol Automata. Formal definitions Definition 1 A synchronous protocol automaton P is defined as a tuple (Q,S,D,V,A,->,clk,q0,qf) Channels.

Similar presentations


Presentation on theme: "Synchronous Protocol Automata. Formal definitions Definition 1 A synchronous protocol automaton P is defined as a tuple (Q,S,D,V,A,->,clk,q0,qf) Channels."— Presentation transcript:

1 Synchronous Protocol Automata

2 Formal definitions Definition 1 A synchronous protocol automaton P is defined as a tuple (Q,S,D,V,A,->,clk,q0,qf) Channels are typed and unidirectional. Types : boolean or words unidirectional : one way Action S in A is of the form G1.N1…Gk.Nk Gi : a set of guards or blocking operations Ni : a set of non-blocking operations which can be performed Guards check c?v : check value c# : absence check of an event

3 Formal definitions Transition q -s> q` : one transitions q =a> q` : a sequence of transitions q0 =a> qf : a transition run Predicate blocking(q) is true in a state q if all outgoing transitions are guarded. Q is non-blocking if all out-going transitions are guarded. Weakly deterministic if more than one guard is true, a nondeterministic choice is made by internal variables.

4 Protocol Compatibility At any clock tick, the actions that a pair of protocols attempt to perform should permit both of them to progress. Definition 4 a causal dependency graph between a pair of actions S1 and S2 is constructed by adding a directed edge from Gi to Ni if Gi.Ni bt S1 and from Ni to every G`j bt S2 such that c! bt Ni and c? bt G`i where c is a control channel Definition 4 notes what is causal dependency graph? A directed edge means from c! (send a signal) to c? (expected a signal). One protocol is sending C while the other is waiting for C. They have dependency.

5 Protocol Compatibility Definition 5 permit(s1,s2) holds for a pair of actions if their causal dependency graph is acyclic and for every c?, c`# bt s1, c! bt S2, c`! nbt S2 and vice versa where c is a control or data channel. Definition 5 notes protocol1 is expected a control or data. While S2 is trying to send the data. Permit(s1,s2) holds for a given pair of actions if for every read operation in one action, a write exist in the other and vice versa.

6 Definition 6 a transition relation is a symmetric binary relation R ie Q1XQ2 satisfying 1. bt R 2.If bt R and ~blocking and ~blocking(t) then, whenever r –s1-> r` and t –s2-> t`, permit(s1,s2) holds and bt R 3.If bt R and ~blocking(r) and blocking(t) then, whenever r –S1-> r` there exist S2, t` : (t –S2->t` and permit(s1,s2)) and for all such s2,t` : bt R 4.If bt R and blocking(r) and blocking(t) then, whenever r –S1-> r` and t –S2-> t` such that permit(s1,s2), bt R

7 Definition 6 notes 1.matches the final states of two protocols. 2.ensures that if both protocols perform only data operations they operate on the same channels 3.Ensures that each guard in a transition in one protocol is satisfied by some action of the other 4.States that if both protocols have a default guard which is true they should transit simultaneously to matched states. This situation is rare.

8 Definition 8 An interface I between two mismatched protocols P1 and P2 is correct if there exists a transaction relation R between the initial states of P1 and I||P2

9 Model checking with automated property extraction


Download ppt "Synchronous Protocol Automata. Formal definitions Definition 1 A synchronous protocol automaton P is defined as a tuple (Q,S,D,V,A,->,clk,q0,qf) Channels."

Similar presentations


Ads by Google