Translating CSP Specifications to Equivalent Petri Nets

With the generalized use of multi-core processors, concurrent languages are becoming more and more important, and companies invest many resources in the design of more expressive concurrent languages that can be automatically verified to ensure the final quality of the developed systems. In this paper we propose a technique that allows us to use two of the most extended models of concurrency, CSP and Petri nets, with a single specification. Both models have been successfully used in the industry and there are many verification, simulation and analysis techniques for them. While CSP is very expressive and many techniques devoted to verify CSP specifications exist, Petri nets are specially interesting for simulation because they allow us to graphically animate specifications step by step. In this work, we formally define a fully automatic transformation that translates a CSP specification into an equivalent Petri net, very similar (structurally) to the given

[1]  Marina Ribaudo,et al.  Stochastic Petri net semantics for stochastic process algebras , 1995, Proceedings 6th International Workshop on Petri Nets and Performance Models.

[2]  Michael Leuschel,et al.  The MEB and CEB Static Analysis for CSP Specifications , 2009, LOPSTR.

[3]  Roberto Gorrieri,et al.  An Exercise in Concurrency: a CSP Process as a Condition/ event System , 1988, European Workshop on Applications and Theory of Petri Nets.

[4]  Wolfgang Reisig,et al.  CSP-programs with individual tokens , 1984, European Workshop on Applications and Theory in Petri Nets.

[5]  Krishna M. Kavi,et al.  Reliability analysis of CSP specifications using Petri nets and Markov processes , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

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

[7]  Krishna M. Kavi,et al.  Specification and Analysis of Real-Time Systems Using CSP and Petri Nets , 1996, Int. J. Softw. Eng. Knowl. Eng..

[8]  Giuliana Franceschinis,et al.  On the Computation of Performance Characteristics of Concurrent Programs Using GSPNs , 1994, Perform. Evaluation.

[9]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[10]  Valeria Vittorini,et al.  Formal Specification of Concurrent Systems: A Structured Approach , 1998, Comput. J..

[11]  Jan Magott,et al.  Performance evaluation of communicating sequential processes (CSP) using Petri nets , 1992 .

[12]  Ernst-Rüdiger Olderog,et al.  Operational Petri net semantics for CCSP , 1986, European Workshop on Applications and Theory of Petri Nets.

[13]  Peter Graubmann The Construction of EN Systems from a Given Trace Behavior , 1987, European Workshop on Applications and Theory of Petri Nets.

[14]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[15]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[16]  Krishna M. Kavi,et al.  Specification and analysis of stochastic properties for concurrent systems expressed using csp , 1996 .

[17]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[18]  Salvador Tamarit,et al.  An algorithm to generate the context-sensitive synchronized control flow graph , 2010, SAC '10.

[19]  M. Hack,et al.  PETRI NET LANGUAGE , 1976 .