A Theory of Communicating Sequential Processes
Journal of the ACM (JACM)
Modeling concurrency with partial orders
International Journal of Parallel Programming
Advances in Petri nets 1986, part II on Petri nets: applications and relationships to other models of concurrency
Algebraic posets, algebraic cpo's and models of concurrency
Topology and category theory in computer science
Full abstraction and recursion
Selected papers of the workshop on Topology and completion in semantics
Handbook of logic in computer science (vol. 3)
The Book of Traces
On the composition of processes
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CSP and determinism in security modelling
SP '95 Proceedings of the 1995 IEEE Symposium on Security and Privacy
A simple process algebra based on atomic actions with resources
Mathematical Structures in Computer Science
Towards A Truly Concurrent Model for Processes Sharing Resources
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
A Truly Concurrent Process Semantics over Multi-Pomsets of Consumable Resources
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 5.23 |
In this paper we study a process algebra whose semantics is based on true concurrency. In our model, actions are defined in terms of the resources they need to execute, which allows a simple definition of a weak sequential composition operator. This operator allows actions which do not share any resources to execute concurrently, while dependent actions have to occur sequentially. This weak sequential composition operator may be used to automatically parallelize a sequential process. We add the customary (strict) sequential composition and a parallel composition operator allowing synchronization on specified actions. Our language also supports a hiding operator that allows the hiding of actions and even of individual resources used by actions. Strict sequential composition and hiding require that we generalize from the realm of Mazurkiewicz traces to that of pomsets, since these operations introduce "over-synchronized" tracesones for which a pair of independent actions may occur sequentially. Our language also supports recursion and our semantics makes the unwinding of recursion visible by the use of special resources used to label unwindings. This is done on purpose in order to make divergence observable, but the usual semantics that does not observe unwindings can be obtained by using the hiding operator to abstract away from these special resources. We give both an SOS-style operational semantics for our language, as well as a denotational semantics based on resource pomsets. Generalizing results from our earlier work in this area, we derive a congruence theorem for our language which shows that the SOS-style operational rules induce the same equivalence relation on the language as the denotational semantic map does. A corollary is that our denotational model is both adequate and fully abstract relative to the behavior function defined from our operational semantics. This behavior consists naturally of the strings of actions the process can perform. This work continues our study into modelling concurrency in the absence of nondeterminism. In particular, our language is deterministic.