90 likes | 184 Views
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 are typed and unidirectional. Types : boolean or words unidirectional : one way
E N D
Formal definitions • Definition 1A 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 wordsunidirectional : one way • Action S in A is of the form G1.N1…Gk.NkGi : a set of guards or blocking operationsNi : a set of non-blocking operations which can be performed • Guards check c?v : check valuec# : absence check of an event
Formal definitions • Transitionq -s> q` : one transitionsq =a> q` : a sequence of transitionsq0 =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 deterministicif more than one guard is true, a nondeterministic choice is made by internal variables.
Protocol Compatibility • At any clock tick, the actions that a pair of protocols attempt to perform should permit both of them to progress. • Definition 4a 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 noteswhat 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.
Protocol Compatibility • Definition 5permit(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 notesprotocol1 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.
Definition 6 a transition relation is a symmetric binary relation R ie Q1XQ2 satisfying • <rf,tf> bt R • If <r,t> bt R and ~blocking and ~blocking(t) then, whenever r –s1-> r` and t –s2-> t`, permit(s1,s2) holds and <r`,t`> bt R • If <r,t> 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` : <r`,t`> bt R • If <r,t> bt R and blocking(r) and blocking(t) then, whenever r –S1-> r` and t –S2-> t` such that permit(s1,s2), <r`,t`> bt R
Definition 6 notes • matches the final states of two protocols. • ensures that if both protocols perform only data operations they operate on the same channels • Ensures that each guard in a transition in one protocol is satisfied by some action of the other • States that if both protocols have a default guard which is true they should transit simultaneously to matched states. This situation is rare.
Definition 8An 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