VHDL Code Generation from Formal Event-B Models

In this paper, we present an approach that allows to generate VHDL code from formal models developed with the Event-B formalism. The approach is based on the relationship between the structure of the formal model and hardware description language statements. We are aiming at getting VHDL code whose behaviour is the same as the behaviour of the Event-B model. Our contribution lies in the fact that we show the main similarity between the formal model and VHDL code that allows us to derive the method and, hence, the algorithm for automatic translation. This algorithm can be implemented as a plug-in for the Rodin tool which supports the Event-B formalism. The approach is presented through a simplified version of an industrial case study developed in a stepwise refinement manner. We also present several ways of possible translation depending on the way the model has been developed through refinement. In addition, we present synthesis results that show space occupied by the VHDL code generated.

[1]  Gérard Berry,et al.  The ESTEREL Synchronous Programming Language and its Mathematical Semantics , 1984, Seminar on Concurrency.

[2]  Kaisa Sere,et al.  Action systems in pipelined processor design , 1997, Proceedings Third International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[3]  Dominique Cansell,et al.  System-on-chip design by proof-based refinement , 2009, International Journal on Software Tools for Technology Transfer.

[4]  Stefan Hallerstede,et al.  Circuit Design by Refinement in EventB1 , 2004, FDL.

[5]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.

[6]  Ellen Sentovich,et al.  Multiclock Esterel , 2001, CHARME.

[7]  Nicolas Halbwachs,et al.  LUSTRE: A declarative language for programming synchronous systems* , 1987 .

[8]  Christophe Metayer,et al.  The Event-B Mathematical Language , 2009 .

[9]  P. Le Guernic,et al.  Hybrid dynamical systems theory and the Signal language , 1990 .

[10]  Lizy K. John,et al.  Digital Systems Design Using VHDL , 1998 .

[11]  Ralph-Johan Back,et al.  Decentralization of process nets with centralized control , 1983, PODC '83.

[12]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[13]  Jean-Raymond Abrial,et al.  Event Model Decomposition , 2009 .

[14]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[15]  Nicolas Halbwachs,et al.  Synchronous Modelling of Asynchronous Systems , 2002, EMSOFT.

[16]  Michael J. Butler,et al.  Decomposition Structures for Event-B , 2009, IFM.

[17]  Stefan Hallerstede,et al.  Circuit Design by Refinement in EventB , 2004 .

[18]  Kaisa Sere,et al.  Reasoning about Action Systems using the B-Method , 1998, Formal Methods Syst. Des..

[19]  Stephan Merz,et al.  Model Checking , 2000 .