1 / 9

Synchronous Protocol Automata

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

Télécharger la présentation

Synchronous Protocol Automata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Synchronous Protocol Automata

  2. 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

  3. 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.

  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 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.

  5. 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.

  6. 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

  7. 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.

  8. 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

  9. Model checking with automated property extraction

More Related