To understand the behavior of contemporary computing devices, the concept of parallelism or concurrency is inevitable. There are several obvious reasons for an increasing use of these techniques: In an attempt to make programs faster one may distribute them over several executing machines. By duplicating memory or computation tasks, the reliability of systems can be increased. On a certain level of abstraction, a speciﬁcation is inherently concurrent since the subsystems are thought to run independently from each other. Another aspect is that com munication networks consist by deﬁnition of independent subsystems that are only loosely coupled. These observations call for a deeper understanding of the mechanisms involved.

For sequential systems, a mathematical foundation has proved fruitful. Al ready the consideration of formal systems in the ﬁrst half of this century laid the ground for an distinction between (theoretically) computable and deﬁnitely not mechanizable tasks. Complexity theory sharpens this distinction further by the investigation of the frontier between tractable and nontractable computational tasks. Finite automata, although they are a very restricted model of a sequential computing device, have a rich theory as well as a widespread application. Their theory is closely related to algebraic theories. Furthermore, surprising connec tions between diﬀerent logics and automata were found. These connections make it possible to automatize certain veriﬁcation tasks in the development of software and hardware systems.

Aiming at similar beneﬁts, attempts to develop a mathematical formalization of parallelism have a longstanding tradition in computer science. In the 60s, Petri introduced nets, now called Petri nets, as a model of concurrent systems. These Petri nets inspired many theoretical investigations and now have an extensive theory. But the semantics of these nets is technically quite complicated and a mathematical treatment in its full generality turns out to be cumbersome. Another line of research in this area is based on the idea of a process algebra introduced by Milner and Hoare in the 70s. This approach focuses more on at programming languages. Cellular automata can be traced back to ideas of v. Neumann but became widely known only in the 70s (in particular by Conway’s “Game of Life”). Now they enjoy a well understood theory as well as several extensions.

v

vi

INTRODUCTION

Mazurkiewicz introduced traces, another model of concurrent behaviors, into computer science. They can be deﬁned in two equivalent ways, either as depen dence graphs or as equivalence classes of words. In both cases, one starts out from a ﬁnite set of elementary or atomic actions, called alphabet, and a binary dependence relation on the set of actions. Two such actions are dependent if they e.g. use a common resource. Hence, in a parallel computation of the sys tem, independent actions can be performed in parallel, while dependent actions can be performed sequentially, only. A computation of such a system is modeled as a directed graph. The vertices of this graph correspond to events. Two such vertices are connected by an edge iﬀ their labels are dependent. Since the compu tation is meant to run in time, the graph is assumed to be acyclic. Furthermore, we consider only ﬁnite computations and therefore ﬁnite graphs. A dependence graph is nothing but such a ﬁnite directed acyclic graph with edges between de pendent vertices. Thus, a dependence graph describes the causal dependence in a computation. In the alternative deﬁnition, one considers sequential observations of some parallel computation. The order in which independent actions are performed is regarded as irrelevant. In particular, if two observations diﬀer only in the order of independent actions, they are identiﬁed. This deﬁnes an equivalence relation on words (over the alphabet of actions) and a trace is an equivalence class with respect to this equivalence. It turns out that the linear extensions of a dependence graph form an equiva lence class, i.e. a trace, and that any trace can be obtained from some dependence graph. In this sense, the two approaches are equivalent and “it is only a matter of taste which objects are chosen for representing concurrent processes: equiva lence classes of strings or labelled graphs.” [Maz95, page 14]. It seems that this dual nature of traces has contributed to a much to their success. This is not the right place to recall the amount of results on traces that have been obtained in the last two decades. For a indepth surveys on the results on traces, the reader is referred to [DR95] that concentrates on the theoretical aspects in computer science as well as in mathematics, in particular in combinatorics. Nonetheless, it turned out that certain limitations of traces made it necessary to extend the model into diﬀerent directions. The probably most modest exten sion was that to inﬁnite or real traces. These were introduced to model not only ﬁnite but also inﬁnite computations. They can be deﬁned in several equivalent ways: as directed and downward closed sets of ﬁnite traces [Maz87], via an equiv alence relation on inﬁnite words [Sta89, Kwi90] or as inﬁnite dependence graphs where any event dominates only a ﬁnite number of vertices. Diekert introduced α andδcomplex traces as metric completion of the set of ﬁnite traces with re spect to two diﬀerent metrics [Die91, Die93] and showed in particular that they can alternatively be deﬁned as inﬁnite dependence graphs with some alphabetic information. Most of the considerations on complex traces are based on this sec ond characterization. Another similar extension of traces (approximating traces)

vii

is presented in the same spirit [DG98]. The generalizations mentioned so far have been introduced to model inﬁnite behaviors of a parallel system. Diﬀerently, the aim of semicommutations is to model some behaviors like the producerconsumerexample that do not ﬁt into the setting of a symmetric independence relation. The idea is that the consumption of an item can be delayed after further productions, but conversely, the production cannot be postponed after the consumption. Here, we refer the reader to the survey [CLR95] and the literature cited therein. Another limitation of Mazurkiewicz traces is the global and ﬁxed indepen dence relation. There are certainly systems where the answer to the question whether two particular actions can be performed concurrently depends on the situation, e.g. on the available resources that are produced by preceding events (cf. [KP92]). An automaton with concurrency relations [Dro90, Dro92] is a (ﬁ nite) automaton whose states are equipped with independence relations, i.e. in this model the dependence of actions can change while the system evolves. Simi larly to traces, one obtains an equivalence relation on the set of ﬁnite computation sequences by identifying those sequences that diﬀer only in the order of indepen dent actions. But now this independence refers to the state were the ﬁrst of the two actions is performed. Thus, originally the behavior of an automaton with concurrency relations was deﬁned via equivalence classes of sequential behaviors. In [BDK95, BDK97], representing these computations by dependence graphs, we presented a partial order semantics for these computations under some mild assumptions on the automaton with concurrency relations. Another approach to incorporate changing independence relations into the model of traces is represented by context and generalized traces [BR94]. Here, two actions might be independent in one context and dependent in another where the context is (in the simplest form) given by the preceding action. Again, ﬁrst an equivalence of words was constructed and context traces were deﬁned as equiv alence classes of words. An attempt to represent context traces by dependence graphs succeeded only partially [BR95]. Common to all generalizations listed so far is that the independence of actions is a binary relation. This limits their applicability since it is not possible to model a situation were two items of some resource are claimed by three actions. In such a situation, any two of the claiming actions might be performed concurrently and the third one afterwards. In addition, traces and their successors do not allow autoconcurrency. Local traces [HKT92, Hoo94] are an attempt to solve these problems. Here, sets or even multisets of actions are declared independent and this depends on the history of the system. A representation of such systems by local event structures was obtained in the same papers. The forthcoming work [KM00] aims at a representation of computations in this model by dependence graphs. Note that in all the extensions mentioned so far, computations were ﬁrst mod eled as equivalence classes of sequential executions. Later (for some models much

viii

INTRODUCTION

later) it was shown that these equivalence classes can be nicely represented by structures like dependence graphs. Diﬀerently, Ptraces are by deﬁnition labeled partially ordered sets. Afterwards it is shown that they can also be obtained as equivalence classes of certain equivalence relations [Arn91]. Besides this duality, the diﬀerent extensions of Mazurkiewicz traces have been considered under several aspects. Mazurkiewicz used traces to model the behavior of onesafe Petri nets. Categorical adjunctions were constructed be tween larger classes of Petri nets and trace structures [NRT90], step transi tion systems (i.e. local traces) [Muk92] and concurrent automata [DS93]. The order theoretic properties of the set of all tracelike objects was investigated for real traces [GR93, BCS93, Kus99], for several versions of complex traces [GP92, Teo93, DG98] and for the computations of an automaton with concur rency relations [Sta89, Dro90, Dro92, Kus94a, Kus94b, Sch98]. Metric and topo logical questions were dealt with for real traces [Kwi90, KK00], for complex and approximating traces [Die91, Die93, DG98] and for computations of automata with concurrency relations [KS98]. The recognizable sets of tracelike structures were studied thoroughly. The relation to rational sets was investigated for semi commutations, for real and for complex traces (cf. the corresponding surveys in [DR95]) and for computations of concurrent automata [Dro94, Dro95, Dro96]. The relation to logically axiomatizable sets can be found for ﬁnite and for real traces in [Tho90b, EM93, Ebi94], for computations of concurrent automata in [DK96, DK98] and for local traces in [KM00].

In the ﬁrst part of the current work, we will deﬁne an extension of dependence graphs to so called Σdags where Σ is a ﬁnite set of actions. They generalize not only dependence graphs as deﬁned above, but also CCIsets [Arn91], dependence graphs of computations of concurrent automata [BDK95, BDK97], and (width bounded) sppomsets [LW98b, LW98a, LW00]. Essentially, a Σdag is a Σlabeled directed acyclic graph. The edges of this graph represent the causal dependency between the events that are modeled by the vertices. There are only two restric tions that we impose: First, we allow no autoconcurrency. Second, for any label a, an event can depend on and inﬂuence at most onealabeled event directly. As a computational model for these Σdags, we investigate asynchronous cel lular automata. They were deﬁned originally for dependence graphs as a truly 1 parallel accepting device [Zie87]. Since then, they have been intensively stud ied, cf. [Zie95, DM95] for overviews. In [DG96], they were generalized in such a way that an asynchronous cellular automaton can accept labeled posets (pom sets) without autoconcurrency (cf. also [Kus98, DGK00]). Here, we extend them to the setting of Σdags. In the literature, inﬁnite state systems are intensively studied [Mol96, BE97]. We extend asynchronous cellular automata furthermore by allowing them to have inﬁnitely many states. To preserve some ﬁniteness,

1 The name might be misleading since these automata are not a generalization of v. Neu mann’s cellular automata mentioned above.

ix

the set of states is endowed with a wellquasi ordering. Thus, loosely speaking, asynchronous cellular machines or ΣACMs are asynchronous cellular automata that run on Σdags, have possibly inﬁnitely many states, and are equipped with a wellquasi ordering on these states. The behavior of a ΣACM is the accepted language, i.e. a set of Σdags. Hence a ΣACM describes a property of Σdags. Since the intersection as well as the union of two acceptable sets can be accepted by a ΣACM, properties describable by ΣACMs can become quite complex. Then it is of interest whether the combined property is contradictory, or, equivalently, whether at least one Σ dag satisﬁes it. Thus, one would like to know whether a ΣACM accepts at least one Σdag. Using a result from [FS98, FS01], we show that it is possible to gain this knowledge even automatically, i.e. we show that there exists an algorithm that on input of a ΣACM decides whether the ΣACM accepts at least one Σdag. For this to hold, we restrict the asynchronous cellular machines in two ways: The notion of “monotonicity” involves a connection between the wellquasi ordering and the transitions of the machine. The notion “eﬀectiveness” requires that the machine is given in a certain ﬁnite way. Another natural question is whether two properties are equivalent, i.e. whether two ΣACMs accept the same language. Since there is a ΣACM that accepts all Σdags, a special case of this equivalence problem is to ask whether a given ΣACM accepts all Σdags. The latter question, called universality, essentially asks whether the described property is always true. The corresponding ques tion for sequential automata has a positive answer which is a consequence of the decidability of the emptiness: If one wants to know whether a sequential automa ton accepts all words, one constructs the complementary automaton and checks whether its languages is empty. Thus, the crucial point for sequential automata is that they can eﬀectively be complemented. But the set of acceptable Σdag languages is not closed under complementation. Therefore, we cannot proceed as for sequential automata. On the contrary, we show that the universality is unde cidable even for ΣACMs with only ﬁnitely many states. These ﬁnite ΣACMs are called asynchronous cellular automata or ΣACA. The undecidability of the universality implies that the equivalence of two ΣACAs, the complementability of a ΣACA as well as the existence of an equivalent deterministic ΣACA are undecidable, too. These results (restricted to pomsets) together with a sketch of proof were announced in [Kus98]. The proof we give here is based on ideas developed together with Paul Gastin. The following chapter deals with the question which properties can be ex pressed by a ΣACA. For ﬁnite sequential automata, several answers are known to the question which properties can be checked by a ﬁnite sequential automaton: Kleene showed that these are precisely the rational properties. By the Myhill Nerode Theorem, a property can be checked by a ﬁnite sequential automaton if its syntactic monoid is ﬁnite. Furthermore, Büchi and Elgot [Büc60, Elg61] showed that a property of words can be checked by a ﬁnite sequential automaton if it can

x

INTRODUCTION

be expressed in the monadic second order logic. This relation between a model of a computational device (ﬁnite sequential automata) and monadic second order logic is a paradigmatic result. It has been extended in several directions, e.g. to inﬁnite words [Büc60], to trees [Rab69] (cf. also [Tho90a]), to ﬁnite [Tho90b] and to real [EM93, Ebi94] traces, and to computations of concurrent automata [DK96, DK98]. The celebrated theorem of Zielonka [Zie87, Zie95] together with the results from [Tho90b] states that for dependence graphs of traces, the ex pressive power of asynchronous cellular automata and monadic second order logic coincide. Aiming at a similar result for Σdags, in Chapter 5 we show that this is not possible in general. More precisely, we show that any recognizable set of Σdags can be axiomatized by a sentence of the monadic second order logic, but that the converse is false even for ﬁrstorder logic. To overcome this, we restrict to a subclass of all Σdags, called (Σ, k)dags. This restriction makes it possible to relabel a (Σ, k)dag by an asynchronous cellular automaton in such a way that one obtains a dependence graph over a certain dependence alphabet. This is the crucial step in our proof that any monadically axiomatizable set of (Σ, k)dags can be accepted by a (nondeterministic) asynchronous cellular automaton. But we show that it is necessary to allow nondeterminism in the automata since the expressive power of deterministic ΣACAs will be proved to be strictly weaker. Again, the restriction to pomsets of the results presented in this chapter can be found in [Kus98]. Here, we generalize the presentation in [DGK00]. The ﬁnal chapter of the ﬁrst part is devoted to the relation between our asynchronous cellular automata and other models of concurrent behavior. The covering relation of a pomset without autoconcurrency is a Σdag. This allows us to speak of the set of pomsets that is accepted by a ΣACA: A pomset (V,≤, λ) is accepted iﬀ its Hassediagram (V,−<, λFor pom) admits a successful run. sets, other automata models have been proposed in the literature. In particular, Arnold considered Pasynchronous automata [Arn91] and Lodaya and Weil dealt with branching automata [LW98a, LW98b, LW00]. We ﬁnish our consideration of Σdags and ΣACAs by a comparison of the expressive power of these automata with the expressive power of our ΣACAs. We show that branching automata when restricted to widthbounded languages have the same expressive power as ΣACAs when restricted to seriesrational pomsets. Somewhat as a byproduct, this implies that the expressive power of branching automata on width bounded sppomsets coincides with the expressive power of the monadic second order logic. Finally, we show that any Pasynchronous automaton can be simulated by a Σ ACA.

The Σdags considered in the ﬁrst part of the current work are clearly labeled graphs. Above, I already cited A. Mazurkiewicz stating “it is only a matter of taste which objects are chosen for representing concurrent processes: equivalence classes of strings or labelled graphs.” [Maz95, page 14]. To satisfy those that prefer the algebraic approach (or at least appreciate it as the author), this is

xi

followed in the second part where left divisibility monoids are considered. These left divisibility monoids were introduced in [DK99, DK01]. As pointed out earlier, trace monoids are deﬁned via a ﬁnite presentation (using a set of letters Σ together with a dependence relation on Σ). Later, algebraic properties where discovered that characterize trace monoids (up to isomorphism) [Dub86]. Diﬀerently, left divisibility monoids are deﬁned in the language of monoids, i.e. via their algebraic properties. In particular, it is required that the preﬁx relation be a partial order and that for any monoid element, the set of preﬁxes forms a distributive lattice. Thus, divisibility monoids involve monoid theoretic as well as order theoretic concepts. In Chapter 8, we show that divisibility monoids can be ﬁnitely presented. Not only will we show that this is possible in general, but we will give a concrete representation for any divisibility monoid. Finally, we give a decidable class of ﬁnite presentations that give rise to all divisibility monoids. Kleene’s theorem on recognizable languages of ﬁnite words has been gener alized in several directions, e.g. to formal power series [Sch61], to inﬁnite words [Büc60], and to inﬁnite trees [Rab69]. More recently, rational monoids were in vestigated [Sak87], in which the recognizable languages coincide with the rational ones. Building on results from [CP85, CM88, Mét86], a complete characterization of the recognizable languages in a trace monoid by crational sets was obtained in[Och85].AfurthergeneralizationofKleene’sandOchman´ski’sresultstocon currency monoids was given in [Dro95]. In Chapter 9, we derive such a result for divisibilitymonoids.TheproofsbyOchman´ski[Och85]andbyDroste[Dro95] rely on theinternalstructure of the elements of the monoids. Here, we do not use the internal representation of the monoid elements, but algebraic properties of the monoid itself. Thus, the considerations in Chapter 9 that appeared in [DK99]canbeseenasanalgebraicproofofOchma´nski’sTheorem. The following chapter is devoted to the question when a divisibility monoid satisﬁes Kleene’s Theorem, i.e. when the rational and the recognizable sets co incide. For trace monoids, this is only the case if the trace monoid is free. Our result for divisibility monoids states that they satisfy Kleene’s Theorem iﬀ they are rational. A deﬁning property of divisibility monoids is that the sets of pre ﬁxes form a distributive lattice for any element of the monoid. We prove that this set of distributive lattices is widthbounded iﬀ the monoid satisﬁes Kleene’s Theorem. We obtain these characterizations applying the theory of rational func tions (cf. [Ber79]) and a Foata normal form of monoid elements similar to that for traces. Büchi showed that the monadic second order theory of the linearly ordered set (ω,≤In the course ofTo achieve this goal, he used ﬁnite automata. ) is decidable. these considerations he showed that a language in a free ﬁnitely generated monoid is recognizable iﬀ it is monadically axiomatizable. In computer science, this latter result and its extension to inﬁnite words are often referred to as “Büchi’s Theorem” while in logic this term denotes the decidability of the monadic theory