Behavioral Type Inference

The design productivity gap has been recognized as one of the major threats to the continued growth of embedded systems design productivity. Ad-hoc system-level design methodologies, that lift modeling to higher levels of abstraction, and the concept of intellectual property (IP), that promotes reuse of existing components, are essential steps to manage design complexity. However, the issue of compositional correctness arises with these steps. Given components from different manufacturers, designed with heterogeneous models, at different levels of abstraction, assembling them in a correct-by-construction manner is a difficult challenge. We address it by proposing a process algebraic model to support system design with a formal model of computation that serves as a behavioral type system to capture the behavior of system components at the interface level. The proposed algebra is conceptually minimal, equipped with a formal semantics defined in a synchronous model of computation, and supports a scalable notion and a flexible degree of abstraction. We demonstrate its benefits by considering the type-based synthesis of latency-insensitive protocols. We show that the synthesis of component wrappers can be optimized by the behavioral information carried by interface type descriptions and yield minimized stalls and maximized throughput.

[1]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[2]  Sandeep K. Shukla,et al.  Polychrony for formal refinement-checking in a system-level design methodology , 2003, Third International Conference on Application of Concurrency to System Design, 2003. Proceedings..

[3]  Natarajan Shankar,et al.  Fair Synchronous Transition Systems and Their Liveness Proofs , 1998, FTRTFT.

[4]  Sandeep K. Shukla,et al.  Behavioral type inference: part II - behavioral type inference for system design , 2004 .

[5]  Constance L. Heitmeyer,et al.  A Strategy for Efficiently Verifying Requirements Specifications Using Composition and Invariants , 2003 .

[6]  Thomas A. Henzinger,et al.  Interface Theories for Component-Based Design , 2001, EMSOFT.

[7]  Sandeep K. Shukla,et al.  Modeling and validating globally asynchronous design in synchronous frameworks , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[8]  James C. Hoe,et al.  Synthesis of operation-centric hardware descriptions , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[9]  Sandeep K. Shukla,et al.  Typing abstractions and management in a component framework , 2003, ASP-DAC '03.

[10]  David Nowak,et al.  Synchronous structures , 1999, Inf. Comput..

[11]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[12]  Albert Benveniste,et al.  A Protocol for Loosely Time-Triggered Architectures , 2002, EMSOFT.

[13]  Alberto L. Sangiovanni-Vincentelli,et al.  Latency Insensitive Protocols , 1999, CAV.

[14]  Paul Le Guernic,et al.  Implementation of the data-flow synchronous language SIGNAL , 1995, PLDI '95.

[15]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[16]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[17]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

[18]  Jean-Pierre Talpin,et al.  Co-inductive Axiomatization of a Synchronous Language , 1998, TPHOLs.

[19]  Diego Novillo Tree SSA A New Optimization Infrastructure for GCC , 2004 .

[20]  Alberto L. Sangiovanni-Vincentelli,et al.  Heterogeneous Reactive Systems Modeling and Correct-by-Construction Deployment , 2003, EMSOFT.

[21]  David Berner,et al.  Behavioral type inference for compositional system design , 2004 .

[22]  Rajagopal Nagarajan,et al.  Interaction categories and the foundations of typed concurrent programming , 1996, NATO ASI DPD.

[23]  Jean-Christophe Le Lann,et al.  POLYCHRONY for System Design , 2003, J. Circuits Syst. Comput..

[24]  Jakob Rehof,et al.  A Behavioral Module System for the Pi-Calculus , 2001, SAS.

[25]  Edward A. Lee,et al.  A framework for comparing models of computation , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..