Convertibility Verification and Converter Synthesis: Two Faces of the Same Coin Jie-Hong Jiang EE249 Discussion 11/21/2002 Passerone et al., ICCAD ’ 02
Converter synthesis - Introduction Essential issues in component-based design Compatibility checking of protocols Automatic synthesis of interface adaptors for incompatible protocols Automata-based solutions Game-theoretic solutions Formal proofs of correctness
Protocol compatibility The output of the sender respects the input assumptions of the receiver Receiver Possibly wait between a and b Sender a followed by b b T a 0 1 b T a T 0 1 compatible
Protocol compatibility Sender Possibly wait between a and b Receiver a followed by b b T a 0 1 b T a T 0 1 incompatible The output of the sender violates the input assumptions of the receiver
Protocol compatibility a b Ta’ b’ T’ Sender Protocol Receiver Protocol Converter Specification (monitor) defines compatible transactions a b Ta’ b’ T’ Figure source: R. Passerone Use specification to define legal transactions
Protocol compatibility A possible specification No symbols should be discarded or duplicated by the converter Symbols should be delivered in the same order in which they were received Converter can store at most one undelivered symbol at any time (T,T’) (a,a’) (b,b’) (a,T’) (a,a’) (T,T’) (T,a’) (a,b’) (T,b’) (b,T’) (b,b’) (T,T’) (b,a’) 0 a b Specification (Constrains legal states/transitions) Figure source: R. Passerone
Automata based converter synthesis Constrain converter ’ s behavior using Sender and receiver protocols Specification Represent protocols and specification using finite automata Construct product automaton for protocols Remove illegal transitions/states according to specification automaton
Automata based converter synthesis b T a T b’ T’ a’ T/T’ a/T’ b/T’ T/a’ T/b’ b/b’ a/a’ a/b’ b/a’ T/a’ T/b’ Figure source: R. Passerone Receiver Sender Product machine
Automata based converter synthesis T/T’ a/T’ b/T’ T/a’ T/b’ a/a’ a/b’ b/a’ T/a’ Converter (T,T’) (a,a’) (b,b’) (a,T’) (a,a’) (T,T’) (T,a’) (a,b’) (T,b’) (b,T’) (b,b’) (T,T’) (b,a’) 0 a b Specification (Constrains legal states/transitions) 0b a b/b’ T/b’ 0 Figure source: R. Passerone
Automata based converter synthesis b T a T b’ T’ a’ T/T’ a/T’ T/b’ a/b’ b/a’ Figure source: R. Passerone Final converter
Game based converter synthesis Two player game Player 1 : protocols + specification Move: sender emit an output wrt it current state; update current state Wining condition: makes converter have no available move Player 2 : converter Move: provide input to receiver after reading such that satisfies receiver protocol and specification ; update current states of receiver and specification Wining condition: always has a move for all reached states during the game
Game based converter synthesis A wining strategy for the converter corresponds to a feasible conversion function (protocols are compatible) A strategy is a function that maps the current history of the game to one of the available moves Memory-less strategies are sufficient for specifications with only safety properties Computation: successively remove bad states of the game structure until reach fixed point; if initial states survive the removing process, then the converter has a wining strategy Complexity: linear in the size of the game structure
Conclusions Protocol compatibility = existence of adapter Game-theoretic modeling Converter synthesis = game solving Generic, expressive formulation Can be extended to specifications with fairness constraints Can be extended to multi-player games Tools exist for game solving