In this chapter, we gave an overview of the fundamentals of the theory of bigraphs. We presented the graphical notation for the representation of bigraphs through several examples in Section 2.1. Sections 2.2 and 2.3 rigorously defined place graphs, link graphs, bigraphs
and their operations. A complete axiomatisation for an algebra of bigraphical terms was given in Section 2.4, where DNF was introduced. Sorting was defined in Section 2.5. Re-action rules and BRSs were discussed in Section 2.6, while BiLog was introduced in Sec-tion 2.7. Categories for bigraphical structure were explained in SecSec-tion 2.8. A stochastic extension of bigraphs was described in Section 2.9. Other extensions and various imple-mentations were discussed in Section 2.10.
In the next chapter we will introduce a novel generalisation of place graphs in which parent map prnt is not restricted to be a function but can also be an acyclic binary rela-tion. Hence, the underlying spatial model is a DAG instead of a forest. This allows for the representation of shared localities and overlapping space.
Chapter 3
Bigraphs with sharing
In this chapter we introduce bigraphs with sharing, a novel generalisation of Milner’s bi-graphs in which places may have several parents. This leads to a formulation of place bi-graphs based on acyclic binary relations instead of the acyclic functions in the original definition. A preliminary version of this work was presented in [56].
In Section 3.1, we analyse some of the motivations behind the development of bigraphs with sharing. A comparison with other possible approaches is also provided. Section 3.2 formally presents bigraphs with sharing. We first introduce concrete place graphs with shar-ing and their operations. Then, we show how to build bigraphs with sharshar-ing by usshar-ing the new definition of place graphs. Section 3.3 is devoted to the definition of an unambiguous graphical notation for bigraphs with sharing called stratified notation. Section 3.4 shows how bigraphs with sharing fit in the general categorical interpretation of bigraphs presented in Chapter 2. In Section 3.5 we give an axiomatisation and a normal form for bigraphs with sharing. We also introduce a new algebraic form to express shared places. We discuss how the introduction of a new formulation of locality affects the other aspects of the theory of bigraphs in Section 3.6. Some concluding remarks are in Section 3.7.
3.1 Motivation
In this section, we justify the introduction of sharing in three ways. First, we show that a locality model based on DAGs is often more natural when modelling the physical world.
Second, we observe that roots and sites are treated asymmetrically in the standard definition of bigraphs. Third, we expose the disadvantages of two possible encodings of sharing that do not require a full extension of the formalism.
Scenarios in which space is shared among several entities are often encountered in the literature and even more frequently in the deployments of real applications. For instance,
Becker and D¨urr in [7] argue that DAGs are a more appropriate spatial model for ubiquitous systems by presenting an example in which the location hierarchy of a building cannot be easily expressed by a forest. In particular, their model has entities modelling rooms that belong both to a floor and to a wing i.e. rooms are shared. Other examples are overlapping wireless signals, attention space of different individuals and biological processes. We will show in detail some models using sharing in Part II.
The asymmetry in standard place graphs becomes evident by observing that a node can have zero or more children, while it can only have one parent. From a more abstract point of view, this limitation implies that category Pg(K) is not self-dual. Namely, if we take a place graph F : m → n, we swap the roots with the sites, and we take the inverse of the parent relation, we obtain a structure that is not a valid place graph. This asymmetry also arises in the definition of epi and mono place graphs.
We now explain in detail why we choose to extend the original definition of bigraphs, rather than encode sharing within the standard formalism. There are two possible encodings.
The first is to introduce dummy controls to represent intersections of nodes. For instance, if nodes A and B share a region, their intersection is represented as a separate node of control A ∩ B. A graphical representation is given in Figure 3.1b. The immediate consequence of this approach is that place graphs are still representable by forests. However, a major disadvantage is that the number of dummy nodes to be added grows exponentially with the number of intersecting nodes. Moreover, this encoding is not complete because it cannot represent sharing when no nodes are involved. To prove this, consider the example of a C-node shared by two regions. It is possible to create a dummy region containing C, however we cannot assign a control to it. Hence, we lose track of who was sharing the node. This can be a limiting factor especially in the definition of reaction rules. Another shortcoming is that a node shared between A and B is placed inside the dummy node A ∩ B, thus both A and B appear as if they do not have a child. This is not desirable especially when formation rules in place sortings or BiLog predicates specify properties on the absence or presence of parents or children.
The second encoding consists of keeping a copy of a shared node inside each of its parents and connecting the copies with a special link. For example, when a node C is shared between A and B, both A and B contain a node of control C and the two Cs are linked together. This is drawn in Figure 3.1c. Note that control C is defined exactly as C but with an extra port to handle the special link. However, this approach does not allow one to express sharing without nodes, e.g. two nodes sharing a site, and nodes or sites with no parents. Another disadvantage of this approach is that links are used to represent locality instead of connectivity, going against the spirit of bigraphs, in which the two notions are kept distinct. Finally, a problem arises when occurrences have to be counted, for example
A
C
B
(a)
A
C
B A ∩ B
(b)
A C
B C
(c)
Figure 3.1: An example of a bigraph with sharing (a) and two possible encodings (b) and (c)
for the computation of a reaction rate in a stochastic BRS. In stochastic BRS, a shared node is copied (thus counted) n times, where n is the number of sharing nodes. Therefore, a new definition of reaction rate would be required.
Our extension yields several advantages. First, its completeness allows for the represent-ation of arbitrary place graphs with sharing. Second, the modelling phase is more natural and immediate, because no additional links, copies of nodes and controls have to be intro-duced. Third, the structure of place graphs with sharing appears to have many similarities with standard categorical notions as we will show in the next sections. In particular, it makes places graphs self-dual.