Towards the Unification of Models for Concurrency

The problem of the conceptual unification of the models for concurrent and distributed systems is addressed in terms of categories of graphs with algebraic structure. In this paper, we model the semantics of a concrete process description language, in both its interleaving and its true concurrency versions. As a test case, we consider Milner's Calculus of Communicating Systems (CCS). Instead of defining a single model for CCS, we introduce categories whose objects are models, and where morphisms represent a specification-implementation relation. We start by showing that CCS models can be viewed as ordinary graphs equipped with additional structures over nodes and transitions. Labels are defined using a comma category construction. We then define special classes of morphisms expressing a notion of simplification and we show that observational congruences can be characterized in terms of final universal properties in the sub categories induced by such morphisms. In order to model the truly concurrent aspect of CCS, we write axioms which identify computations obtained by permuting independent transitions. By unfolding the resulting transition system, we obtain the domain of configurations of an event structure.

[1]  Gian Luigi Ferrari,et al.  Unifying models of concurrency , 1990 .

[2]  Ilaria Castellani,et al.  Concurrency and Atomicity , 1988, Theor. Comput. Sci..

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

[4]  S. Lane Categories for the Working Mathematician , 1971 .

[5]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[6]  José Meseguer,et al.  Temporal Structures , 1989, Mathematical Structures in Computer Science.

[7]  Manfred Droste Event Structures and Domains , 1989, Theor. Comput. Sci..

[8]  Ilaria Castellani,et al.  Permutation of transitions: An event structure semantics for CCS and SCCS , 1988, REX Workshop.

[9]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains, Part I , 1981, Theor. Comput. Sci..

[10]  Glynn Winskel,et al.  An Introduction to Event Structures , 1989 .

[11]  Roberto Gorrieri,et al.  A2CCKS: Atomic Actions for CCS , 1990, Theor. Comput. Sci..

[12]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

[13]  Rocco De Nicola,et al.  A Partial Ordering Semantics for CCS , 1990, Theor. Comput. Sci..

[14]  Glynn Winskel,et al.  Event Structure Semantics for CCS and Related Languages , 1982, ICALP.

[15]  Ugo Montanari,et al.  Axiomatizing net computations and processes , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[16]  Ugo Montanari,et al.  An Algebraic View of Interleaving and Distributed Operational Semantics for CCS , 1989, Category Theory and Computer Science.

[17]  Ugo Montanari,et al.  Concurrent Histories: A Basis for Observing Distributed Systems , 1987, J. Comput. Syst. Sci..

[18]  David B. Benson,et al.  Bisimulation of Automata , 1988, Inf. Comput..

[19]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[20]  Ursula Goltz,et al.  Equivalence Notions for Concurrent Systems and Refinement of Actions (Extended Abstract) , 1989, MFCS.

[21]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[22]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[23]  Glynn Winskel,et al.  Event structures : Lecture notes for the Advanced Course on Petri Nets , 1986 .

[24]  José Meseguer,et al.  Petri nets are monoids: a new algebraic foundation for net theory , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.