Adding Conflict and Confusion to CSP
In the development of concurrent systems two differing approaches have arisen: those with truly concurrent semantics and those with interleaving semantics. The difference between these two approaches is that in the coarser interleaving interpretation parallelism can be captured in terms of non-determinism whereas in the finer truly concurrent interpretation it cannot. Thus processes a ∥ b and a.b + b.a are identified within the interleaving approach but distinguished within the truly concurrent approach.
In this paper we explore the truly concurrent notions of conflict, whereby transitions can occur individually but not together from a given state, and confusion, whereby the conflict set of a given transition is altered by the occurence of another transition with which it does not interfere. Having provided a translation from Petri nets, a truly concurrent formalism, to CSP, an interleaving formalism, we demonstate how the CSP model-checker FDR can be used to detect the presence of both conflict and confusion in Petri nets.
This work is of interest for two reasons. Firstly, from a practical point of view: to the author’s knowledge, no existing tool for modelling Petri nets can perform these checks and we address that issue. Secondly, and perhaps more significantly, we bridge the gap between truly concurrent and interleaving formalisms, demonstrating that true concurrency can be captured in what is typically considered to be an interleaving language.
KeywordsTrue Concurrency Interleaving Concurrency Petri Nets CSP Conflict Confusion Automatic Verification
Unable to display preview. Download preview PDF.
- 1.Petri nets tool database. Available via, http://www.daimi.au.dk/PetriNets/tools/
- 2.Bergstra, J.A., Klop, J.W.: Algebra of communicating processes with abstraction. Theoretical Computer Science 37(1) (1985)Google Scholar
- 4.Bolton, C.: On the Refinement of State-Based and Event-Based Models. D.Phil., University of Oxford (2002)Google Scholar
- 5.Bolton, C., Lowe, G.: A hierarchy of failures-based models. In: Proceedings of the 10th International Workshop on Expressiveness in Concurrency: EXPRESS 2003 (2003)Google Scholar
- 6.Clarke, E., Grumberg, O., Peled, D.: Model-Checking. MIT Press, Cambridge (1999)Google Scholar
- 7.Formal Systems (Europe) Ltd. Failures-Divergence Refinement FDR 2 User Manual, Available via (1999), http://www.fsel.com/fdr2_manual.html
- 9.Mazurkiewicz, A.: Introduction to trace theory. In: Diekert, V., Rozenberg, G. (eds.) The book of traces. World Scientific, Singapore (1995)Google Scholar
- 10.Milner, R.: In: Milner, R. (ed.) A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)Google Scholar
- 11.Milner, R.: Communications and concurrency. Prentice-Hall, Englewood Cliffs (1989)Google Scholar
- 13.Petri, C.A.: Fundamentals of a theory of asynchronous information flow. In: Proceedings of IFIP, Congress 1962, pp. 386–390 (1962)Google Scholar
- 14.Pratt, V.: On the composition of processes. In: Proceedings of 1982 ACM Symposium on Principles of Programming Languages, POPL (1982)Google Scholar
- 17.Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)Google Scholar
- 18.Störrle, H.: An evaluation of high-end tools for petri-nets. Technical Report 9802, Ludwig-Maximilians-Universität München (1997)Google Scholar
- 19.Winskel, G.: Events in Computation. D.Phil, University of Edinburgh (1980)Google Scholar