Processes and unfoldings: concurrent computations in adhesive categories

PAOLO BALDAN, ANDREA CORRADINI, TOBIAS HEINDEL, BARBARA KÖNIG, PAWEŁ SOBOCIŃSKI
2014 Mathematical Structures in Computer Science  
We generalise both the notion of non-sequential process and the unfolding construction (previously developed for concrete formalisms such as Petri nets and graph grammars) to the abstract setting of (single pushout) rewriting of objects in adhesive categories. The main results show that processes are in one-to-one correspondence with switch-equivalent classes of derivations, and that the unfolding construction can be characterised as a coreflection, i.e., the unfolding functor arises as the
more » ... t adjoint to the embedding of the category of occurrence grammars into the category of grammars. As the unfolding represents potentially infinite computations, we need to work in adhesive categories with "well-behaved" colimits of ω-chains of monos. Compared to previous work on the unfolding of Petri nets and graph grammars, our results apply to a wider class of systems, which is due to the use of a refined notion of grammar morphism. 2 concurrent behaviour, including all reachable states and the mutual dependencies of all possible steps (Winskel, 1987a) . The characterization of concurrent computations as processes and the unfolding construction have been generalised along the years from Petri nets to more expressive rule based specification formalisms, including contextual nets (Vogler, Semenov and Yakovlev, 1998; Baldan, Corradini and Montanari, 2001) and graph transformation systems (Corradini, Montanari and Rossi, 1996; Baldan, Corradini, Montanari and Ribeiro, 2007) . But there are many types of graph transformation formalisms, based on undirected and directed graphs, hypergraphs, graphs with scopes, graphs with second-order edges, and so forth. With the introduction of adhesive categories (Lack and Sobociński, 2005) , an abstract and unifying framework for the definitions and analysis of this kind of systems has been established, since all of them can be considered as rule-based systems acting on an adhesive category. As a consequence more abstract definitions of processes and unfoldings are called for, which, unlike the previous proposals, do not assume any knowledge about the internal structure of the objects that are transformed (such as multisets of places, graphs of various kinds, etc.), but only exploit the properties that such objects enjoy, axiomatised by the laws of adhesive categories. This is indeed the contribution of the present paper, which summarises and extends the conference papers (Baldan, Corradini, Heindel, König and Sobociński, 2006; Baldan, Corradini, Heindel, König and Sobocinski, 2009 ) and presents central results of (Heindel, 2009). Following the line of research of (Ehrig, Habel, Kreowski and Parisi-Presicce, 1991; Lack and Sobociński, 2005), we shall regard system states as objects of a category C satisfying suitable properties. Part of the properties of C ensure a meaningful notion of C-object rewriting, while other additional properties are required to guarantee, first, that the construction of processes and the unfolding procedure are viable and, second, that the unfolding can be characterised as a coreflection in the style of (Winskel, 1987a). The latter result guarantees the compositionality of the unfolding construction with respect to operations on grammars expressed as limits, as exploited for example in the field of model-based diagnosis (Benveniste, Fabre, Haar and Jard, 2003; Baldan, Chatain, Haar and König, 2010) . The approach to rewriting that we shall use is the single pushout approach (spo) (Löwe, 1993) . This is one of the most commonly used algebraic approaches to rewriting, alternative to the double pushout (dpo) approach (Ehrig, Pfender and Schneider, 1973) , where some subtle complications due to the implicit negative application conditions of dpo rewriting are avoided. As a categorical framework, as mentioned above, we consider adhesive categories, which turn out to be appropriate for spo rewriting as the needed pushouts in the partial map category Par(C) can be shown to exist. In addition, adhesivity is sufficient to build the process of a finite derivation as a colimit of the corresponding diagram, as well as for constructing the finite prefixes of the unfolding. Then a crucial step consists in joining these prefixes into a single structure. To ensure that this is possible, we need that colimits of ω-chains of monos exist and satisfy suitable properties. Adhesive categories having sufficiently well-behaved colimits of ω-chains of monos will be called ω-adhesive (see also (Heindel and Sobociński, 2009; Cockett and Guo, 2007) ). The main results of the paper state that there is a one-to-one correspondence between processes and switch-equivalence classes of derivations, and that the unfolding construction induces a coreflection, i.e., it can be expressed as a functor that is right adjoint to the embedding of the category of occurrence grammars, the category where unfoldings live, into the category of all
doi:10.1017/s096012951200031x fatcat:umx7pscecfep7aozlehi72dsny