Interface synthesis and protocol conversion

Given deterministic interfaces P and Q, we investigate the problem of synthesising an interface R such that P composed with R refines Q. We show that a solution exists iff P and $$Q^\bot$$ are compatible, and the most general solution is given by $$(P \parallel Q^\bot)^\bot$$ , where $$P^\bot$$ is the interface P with inputs and outputs interchanged. Remarkably, the result holds both for asynchronous and synchronous interfaces. We model interfaces using the interface automata formalism of de Alfaro and Henzinger. For the synchronous case, we give a new definition of synchronous interface automata based on Mealy machines and show that the result holds for a weak form of nondeterminism, called observable nondeterminism. We also characterise solutions to the synthesis problem in terms of winning input strategies in the automaton $$(P \otimes Q^\bot)^\bot$$ , and the most general solution in terms of the most permissive winning strategy. We apply the solution to the synthesis of converters for mismatched protocols in both the asynchronous and synchronous domains. For the asynchronous case, this leads to automatic synthesis of converters for incompatible network protocols. In the synchronous case, we obtain automatic converters for mismatched intellectual property blocks in system-on-chip designs. The work reported here is based on earlier work on interface synthesis in Bhaduri (Third international symposium on automated technology for verification and analysis, ATVA 2005, pp 338–353, 2005) for the asynchronous case, and Bhaduri and Ramesh (Sixth international conference on application of concurrency to system design, ACSD 2006, pp 208–216) for the synchronous one.

[1]  Thomas A. Henzinger,et al.  The Control of Synchronous Systems , 2000, CONCUR.

[2]  Wolfgang Thomas,et al.  On the Synthesis of Strategies in Infinite Games , 1995, STACS.

[3]  Thomas A. Henzinger,et al.  Alternating Refinement Relations , 1998, CONCUR.

[4]  Arcot Sowmya,et al.  Synchronous protocol automata: a framework for modelling and verification of SoC communication architectures , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[5]  S. Shelah,et al.  Annals of Pure and Applied Logic , 1991 .

[6]  J. R. Büchi,et al.  Solving sequential conditions by finite-state strategies , 1969 .

[7]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[8]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[9]  Alberto L. Sangiovanni-Vincentelli,et al.  Convertibility verification and converter synthesis: two faces of the same coin , 2002, ICCAD 2002.

[10]  Gregor von Bochmann,et al.  Submodule Construction for Specifications with Input Assumptions and Output Guarantees , 2002, FORTE.

[11]  M. Nivat Fiftieth volume of theoretical computer science , 1988 .

[12]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[13]  Ratnesh Kumar,et al.  A Discrete Event Systems Approach for Protocol Conversion , 1997, Discret. Event Dyn. Syst..

[14]  Andreas Blass,et al.  A Game Semantics for Linear Logic , 1992, Ann. Pure Appl. Log..

[15]  Simon S. Lam Protocol Conversion , 1988, IEEE Trans. Software Eng..

[16]  Giovanni De Micheli,et al.  Modeling hierarchical combinational circuits , 1993, ICCAD.

[17]  Alberto L. Sangiovanni-Vincentelli,et al.  Convertibility verification and converter synthesis: two faces of the same coin [IP block interfaces] , 2002, IEEE/ACM International Conference on Computer Aided Design, 2002. ICCAD 2002..

[18]  Kenneth L. Calvert,et al.  Formal Methods for Protocol Conversion , 1990, IEEE J. Sel. Areas Commun..

[19]  Hasan Ural,et al.  Submodule construction from concurrent system specifications , 1999, Inf. Softw. Technol..

[20]  M. W. Shields Implicit System Specification and the Interface Equation , 1989, Comput. J..

[21]  Gregor von Bochmann,et al.  On the Construction of Submodule Specifications and Communication Protocols , 1983, TOPL.

[22]  Kim G. Larsen,et al.  Equation solving using modal transition systems , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[23]  S. Abramsky Semantics of Interaction: an introduction to Game Semantics , 1997 .

[24]  David L. Dill,et al.  Trace theory for automatic hierarchical verification of speed-independent circuits , 1989, ACM distinguished dissertations.

[25]  Albert Benveniste,et al.  The synchronous approach to reactive and real-time systems , 1991 .

[26]  R. Passerone,et al.  Notes on Agent Algebras , .

[27]  Thomas A. Henzinger,et al.  Synchronous and Bidirectional Component Interfaces , 2002, CAV.

[28]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[29]  Paulo Tabuada Open Maps, Alternating Simulations and Control Synthesis , 2004, CONCUR.

[30]  Joseph Sifakis,et al.  On the Synthesis of Discrete Controllers for Timed Systems (An Extended Abstract) , 1995, STACS.

[31]  Luca de Alfaro,et al.  Game Models for Open Systems , 2003, Verification: Theory and Practice.

[32]  Samson Abramsky Semantics of Interaction (Abstract) , 1996, CAAP.

[33]  Joachim Parrow,et al.  Submodule Construction as Equation Solving in CCS , 1989, Theor. Comput. Sci..

[34]  P. S. Thiagarajan,et al.  Controllers for Discrete Event Systems via Morphisms , 1998, CONCUR.

[35]  Purandar Bhaduri,et al.  Synthesis of Interface Automata , 2005, ATVA.

[36]  Arcot Sowmya,et al.  Bridge over troubled wrappers:automated interface synthesis , 2004, 17th International Conference on VLSI Design. Proceedings..

[37]  Roberto Passerone,et al.  Semantic foundations for heterogeneous systems , 2004 .

[38]  W. M. Wonham,et al.  The control of discrete event systems , 1989 .

[39]  Tiziano Villa,et al.  Solution of parallel language equations for logic synthesis , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[40]  Amir Pnueli,et al.  On the synthesis of a reactive module , 1989, POPL '89.

[41]  S. Ramesh,et al.  Synthesis of Synchronous Interfaces , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[42]  Gerhard Goos,et al.  Automated Technology for Verification and Analysis , 2004, Lecture Notes in Computer Science.