Petri nets and transition systems (Abstract for an invited talk)
This talk will present a use of basic category theory to relate models of parallel computation. One aim is to use category theory to provide abstract characterisations of constructions like parallel composition valid throughout a range of different models and to provide formal means for translating between different models. The talk will concentrate on two models in particular, Petri nets and asynchronous transition systems. Petri nets are a widely-used model of parallel computation. Asynchronous transition systems deserve to be better known. They were introduced independently by Bednarczyk and Shields, and are an especially simple example of Pratt's recent geometric models of concurrency. The idea on which asynchronous transition systems are based is simple enough: extend transition systems by, in addition, specifying which pairs of transitions are independent. Both kinds of structures possess a form of simulation morphism leading to a wealth of universal constructions familiar from languages for parallel processes such as Milner's CCS and Hoare's CSP. The key new result establishes an adjunction between the categories of Petri nets and asynchronous transition systems. The adjunction cuts down to a coreflection which expresses how to regard certain asynchronous transition systems as Petri nets. Because asynchronous transition systems can be identified with labelled, asynchronous transition systems, it becomes easy to give a Petri-net semantics of programming languages by rules of structural operational semantics. That the semantics agree in crossing from one model to another follows from the preservation properties of adjoints.