In this paper I compare the expressive power of several models of concurrency based on their ability to represent causal dependence. To this end, I translate these models, in behaviour preserving ways, into the model of higher dimensional automata (HDA), which is the most expressive model under investigation. In particular, I propose four different translations of Petri nets, corresponding to the four different computational interpretations of nets found in the literature.I also extend various equivalence relations for concurrent systems to HDA. These include the history preserving bisimulation, which is the coarsest equivalence that fully respects branching time, causality and their interplay, as well as the ST-bisimulation, a branching time respecting equivalence that takes causality into account to the extent that it is expressible by actions overlapping in time. Through their embeddings in HDA, it is now well-defined whether members of different models of concurrency are equivalent. Fig. 1 lists the main models of concurrency proposed in the literature, ordered by expressive power. Of all models, the labelled variant is understood. Here, I only treat models of processes that perform actions a, b, c, . . . whose internal structure is not further examined, and real-time and stochastic aspects of processes are completely ignored. Furthermore, I only study the representation of processes, not the representation of operators on processes. I restrict myself to models that take branching time fully into account, and hence skip models that represent processes by the sets of their executions. Thus, the expressive power of the models differs only to the extent that certain forms of causal dependence are expressible. I limit myself to models that take a fully asynchronous view on parallelism: whenever a number of actions can happen simultaneously, this must be because they are causally independent, and hence they can also happen in any order. Because of this, I do not include Petri nets with inhibitor arcs, or Chu spaces [25].
A hierarchy of concurrency modelsThere is an arrow from model A to model B in Fig. 1 iff there exists a translation from processes representable in model A to processes representable in model B that fully respects branching time, causality, and their interplay. Thus, a process and its translation ought to be history preserving bisimulation equivalent [26,11].