Event structures were introduced in order to abstract away from the precise ‘places’ and times at which events occur in distributed systems. The structure focuses on the events and the causal ordering between them.
Event structures in the sense of this article are sometimes also called prime event structures. There are other variants, for example where the partial order is replaced by an enabling relation . This is usually more expressive, because an event can have disjunctive causes: if and , then either of or suffices for to occur. In a prime event structure, if and then both and must occur before ; these are conjunctive causes.
An event structure is a tuple consisting of a poset of events, and a nonempty set of consistent subsets, satisfying the following axioms:
finite causes: for every event the set is finite;
if then ;
if and then ;
if , , and , then .
A restricted but simpler definition is as follows:
An event structure with binary conflict is a tuple , where is a poset and is an irreflexive binary relation on , the conflict relation, satisfying:
finite causes: for every event the set is finite;
hereditary conflict: if and then .
Event structures with binary conflict can be characterised as follows:
If is an event structure with binary conflict, then defining makes an event structure.
Conversely, if an event structure satisfies
then defining makes an event structure with binary conflict.
That is, event structures with binary conflict correspond to event structures in which pairwise consistency implies mutual consistency.
We write for whenever possible. The possible states of an event structures are called configurations.
Let be an event structure. A configuration of is a subset which is consistent () and down-closed (if and then ). The set of finite configurations of is denoted .
A (total) map of event structures from to is a function such that:
preserves configurations: if , then .
is locally injective: if and , then .
Intuitively, a map expresses that all executions of can be faithfully simulated within .
Partial maps of event structures are also important in the literature, for example in the event structure model of CCS. The definition is the same when is a partial function, and the condition means in particular that they are both defined. Winskel and Nielsen explain this definition as follows:
A morphism between event structures expresses how behaviour in determines behaviour in . The partial function, , expresses how the occurrence of an event in implies the simultaneous occurrence of an event in ; the fact that can be understood as expressing that the event is a ‘’component’‘ of the event and, in this sense, that the occurrence of implies the simultaneous occurrence of . If two distinct events in have the same image in under then they cannot belong to the same configuration.
With this definition of morphism, and the obvious notions of identity and composition, we get the category of event structures (and total maps).
G. Winskel and M. Nielsen, Models for concurrency. vol. 3, Handbook of Logic in Computer Science, pages 100 - 200, Oxford Univ. Press, 1994. (see also online technical report).
G. Winskel, Events, causality, and symmetry, (an earlier version appeared in the BCS conference ‘Visions in Computer Science.’ September 2008. The final version appears in a special issue of The Computer Journal 2009; doi: 10.1093/comjnl/bxp052; see also an online version).
Sam Staton and G. Winskel, On the expressivity of symmetry in event structures,
Last revised on May 17, 2022 at 08:37:57. See the history of this page for a list of all contributions to it.