Modeling and formal verification of embedded systems based on a Petri net representation

In this paper we concentrate on aspects related to modeling and formal verification of embedded systems. First, we define a formal model of computation for embedded systems based on Petri nets that can capture important features of such systems and allows their representation at different levels of granularity. Our modeling formalism has a well-defined semantics so that it supports a precise representation of the system, the use of formal methods to verify its correctness, and the automation of different tasks along the design process. Second, we propose an approach to the problem of formal verification of embedded systems represented in our modeling formalism. We make use of model checking to prove whether certain properties, expressed as temporal logic formulas, hold with respect to the system model. We introduce a systematic procedure to translate our model into timed automata so that it is possible to use available model checking tools. We propose two strategies for improving the verification efficiency, the first by applying correctness-preserving transformations and the second by exploring the degree of parallelism characteristic to the system. Some examples, including a realistic industrial case, demonstrate the efficiency of our approach on practical applications.

[1]  Joseph Sifakis Performance Evaluation of Systems Using Nets , 1979, Advanced Course: Net Theory and Applications.

[2]  C. Ramchandani,et al.  Analysis of asynchronous concurrent systems by timed petri nets , 1974 .

[3]  Luciano Lavagno,et al.  Synthesis of embedded software using free-choice Petri nets , 1999, DAC '99.

[4]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[5]  Daniel Gajski,et al.  Introduction to high-level synthesis , 1994, IEEE Design & Test of Computers.

[6]  Bashir M. Al-Hashimi,et al.  Dual transitions Petri Net based modelling technique for embedded systems specification , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[7]  Jeffrey D. Ullman,et al.  Introduction to automata theory, languages, and computation, 2nd edition , 2001, SIGA.

[8]  Jens Palsberg,et al.  Complexity Results for 1-Safe Nets , 1993, Theor. Comput. Sci..

[9]  Petru Eles,et al.  Hierarchical modeling and verification of embedded systems , 2001, Proceedings Euromicro Symposium on Digital Systems Design.

[10]  Javier Esparza,et al.  Decidability and Complexity of Petri Net Problems - An Introduction , 1996, Petri Nets.

[11]  M. W. Shields An Introduction to Automata Theory , 1988 .

[12]  Peter Radford,et al.  Petri Net Theory and the Modeling of Systems , 1982 .

[13]  Raul Camposano,et al.  Embedded system design , 1996, Des. Autom. Embed. Syst..

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

[15]  P. Merlin,et al.  Recoverability of Communication Protocols - Implications of a Theoretical Study , 1976, IEEE Transactions on Communications.

[16]  Jürgen Teich,et al.  CodeSign: an embedded system design environment , 1998 .

[17]  Luciano Lavagno,et al.  Formal verification of embedded systems based on CFSM networks , 1996, DAC '96.

[18]  Petru Eles,et al.  Definitions of equivalence for transformational synthesis of embedded systems , 2000, Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000.

[19]  James M. Purtilo,et al.  Software Specification: A Comparison of Formal Methods , 1995 .

[20]  Hsu-Chun Yen A Polynomial Time Algorithm to Decide Pairwise Concurrency of Transitions for 1-Bounded Conflict-Free Petri Nets , 1991, Inf. Process. Lett..

[21]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[22]  Mark R. Greenstreet,et al.  Formal verification in hardware design: a survey , 1999, TODE.

[23]  Kurt Jensen Coloured Petri Nets , 1992, EATCS Monographs in Theoretical Computer Science.

[24]  Daniel Brélaz,et al.  New methods to color the vertices of a graph , 1979, CACM.

[25]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[26]  Petru Eles,et al.  Symbolic model checking of dual transition Petri Nets , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[27]  Wolfgang Rosenstiel,et al.  A Petri Net Model for Hardware/Software Codesign , 1999, Des. Autom. Embed. Syst..

[28]  Edward A. Lee,et al.  Dataflow process networks , 1995, Proc. IEEE.

[29]  Javier Esparza,et al.  A polynomial algorithm to compute the concurrency relation of free-choice Signal Transition Graphs , 1995 .

[30]  Daniel Br New Methods to Color the Vertices of a Graph , 1979 .

[31]  Luciano Lavagno,et al.  A Formal Specification Model for Hardware/Software Codesign , 1993 .

[32]  Erik Stoy A Petri Net Based Unified Representation for Hardware/Software Co-Design , 1995 .

[33]  Jürgen Teich,et al.  FunState-an internal design representation for codesign , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[34]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[35]  Luciano Lavagno,et al.  Models of computation for embedded system design , 1999 .

[36]  Petru Eles,et al.  Verification of embedded systems using a petri net based representation , 2000, ISSS '00.

[37]  Petru Eles,et al.  Scheduling of conditional process graphs for the synthesis of embedded systems , 1998, DATE.

[38]  Stephen A. Edwards,et al.  Design of embedded systems: formal models, validation, and synthesis , 1997, Proc. IEEE.