Interface synthesis and protocol conversion

  • Authors:
  • Purandar Bhaduri;S. Ramesh

  • Affiliations:
  • Indian Institute of Technology, Department of Computer Science and Engineering, Guwahati, India;GM R&D Centre, India Science Lab, Bangalore, India

  • Venue:
  • Formal Aspects of Computing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.