Bigraph

Last updated

A bigraph can be modelled as the superposition of a graph (the link graph) and a set of trees (the place graph). [1] [2]

Contents

Each node of the bigraph is part of a graph and also part of some tree that describes how the nodes are nested. Bigraphs can be conveniently and formally displayed as diagrams. [1] They have applications in the modelling of distributed systems for ubiquitous computing and can be used to describe mobile interactions. They have also been used by Robin Milner in an attempt to subsume Calculus of Communicating Systems (CCS) and π-calculus. [2] They have been studied in the context of category theory. [3] [4]

Anatomy of a bigraph

Aside from nodes and (hyper-)edges, a bigraph may have associated with it one or more regions which are roots in the place forest, and zero or more holes in the place graph, into which other bigraph regions may be inserted. Similarly, to nodes we may assign controls that define identities and an arity (the number of ports for a given node to which link-graph edges may connect). These controls are drawn from a bigraph signature. In the link graph we define inner and outer names, which define the connection points at which coincident names may be fused to form a single link.

Foundations

A bigraph is a 5-tuple:

where is a set of nodes, is a set of edges, is the control map that assigns controls to nodes, is the parent map that defines the nesting of nodes, and is the link map that defines the link structure.

The notation indicates that the bigraph has holes (sites) and a set of inner names and regions, with a set of outer names. These are respectively known as the inner and outer interfaces of the bigraph.

Formally speaking, each bigraph is an arrow in a symmetric partial monoidal category (usually abbreviated spm-category) in which the objects are these interfaces. [5] As a result, the composition of bigraphs is definable in terms of the composition of arrows in the category.

Extensions and variants

A directed bigraph modelling a container system. 1912.01107.fig4.png
A directed bigraph modelling a container system.

Directed Bigraphs

Directed Bigraphs [7] are a generalisation of bigraphs where hyper-edges of the link-graph are directed. Ports and names of the interfaces are extended with a polarity (positive or negative) with the requirement that the direction of hyper-edges goes from negative to positive.

Directed bigraphs were introduced as a meta-model for describing computation paradigms dealing with locations and resource communication where a directed link-graph provides a natural description of resource dependencies or information flow. Examples of areas of applications are security protocols, [8] resource access management, [9] and cloud computing. [6]

Bigraphs with sharing

Example bigraph with sharing in which the node of control M is shared by the two nodes of control S. This is represented by M being in the intersection of the two S-nodes. Bigraphs-sharing-example.svg
Example bigraph with sharing in which the node of control M is shared by the two nodes of control S. This is represented by M being in the intersection of the two S-nodes.

Bigraphs with sharing [10] are a generalisation of Milner's formalisation that allows for a straightforward representation of overlapping or intersecting spatial locations. In bigraphs with sharing, the place graph is defined as a directed acyclic graph (DAG), i.e. is a binary relation instead of a map. The definition of link graph is unaffected by the introduction of sharing. Note that standard bigraphs are a sub-class of bigraphs with sharing.

Areas of application of bigraphs with sharing include wireless networking protocols, [11] real-time management of domestic wireless networks [12] and mixed reality systems. [13]

Tools and Implementations

No longer actively developed:


See also

Bibliography

Related Research Articles

<span class="mw-page-title-main">Minimum spanning tree</span> Least-weight tree connecting graph vertices

A minimum spanning tree (MST) or minimum weight spanning tree is a subset of the edges of a connected, edge-weighted undirected graph that connects all the vertices together, without any cycles and with the minimum possible total edge weight. That is, it is a spanning tree whose sum of edge weights is as small as possible. More generally, any edge-weighted undirected graph has a minimum spanning forest, which is a union of the minimum spanning trees for its connected components.

<span class="mw-page-title-main">Shortest path problem</span> Computational problem of graph theory

In graph theory, the shortest path problem is the problem of finding a path between two vertices in a graph such that the sum of the weights of its constituent edges is minimized.

<span class="mw-page-title-main">Robin Milner</span> British computer scientist (1934–2010)

Arthur John Robin Gorell Milner was a British computer scientist, and a Turing Award winner.

<span class="mw-page-title-main">Hypergraph</span> Generalization of graph theory

In mathematics, a hypergraph is a generalization of a graph in which an edge can join any number of vertices. In contrast, in an ordinary graph, an edge connects exactly two vertices.

In mathematics, the transitive closureR+ of a homogeneous binary relation R on a set X is the smallest relation on X that contains R and is transitive. For finite sets, "smallest" can be taken in its usual sense, of having the fewest related pairs; for infinite sets R+ is the unique minimal transitive superset of R.

<span class="mw-page-title-main">Model checking</span> Computer science field

In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification. This is typically associated with hardware or software systems, where the specification contains liveness requirements as well as safety requirements.

<span class="mw-page-title-main">Dominator (graph theory)</span> When every path in a control-flow graph must go through one node to reach another

In computer science, a node d of a control-flow graph dominates a node n if every path from the entry node to n must go through d. Notationally, this is written as d dom n. By definition, every node dominates itself.

The calculus of communicating systems (CCS) is a process calculus introduced by Robin Milner around 1980 and the title of a book describing the calculus. Its actions model indivisible communications between exactly two participants. The formal language includes primitives for describing parallel composition, choice between actions and scope restriction. CCS is useful for evaluating the qualitative correctness of properties of a system such as deadlock or livelock.

<span class="mw-page-title-main">Independent set (graph theory)</span> Unrelated vertices in graphs

In graph theory, an independent set, stable set, coclique or anticlique is a set of vertices in a graph, no two of which are adjacent. That is, it is a set of vertices such that for every two vertices in , there is no edge connecting the two. Equivalently, each edge in the graph has at most one endpoint in . A set is independent if and only if it is a clique in the graph's complement. The size of an independent set is the number of vertices it contains. Independent sets have also been called "internally stable sets", of which "stable set" is a shortening.

In computer science, a binary decision diagram (BDD) or branching program is a data structure that is used to represent a Boolean function. On a more abstract level, BDDs can be considered as a compressed representation of sets or relations. Unlike other compressed representations, operations are performed directly on the compressed representation, i.e. without decompression.

In graph theory and computer science, the lowest common ancestor (LCA) of two nodes v and w in a tree or directed acyclic graph (DAG) T is the lowest node that has both v and w as descendants, where we define each node to be a descendant of itself.

A program structure tree (PST) is a hierarchical diagram that displays the nesting relationship of single-entry single-exit (SESE) fragments/regions, showing the organization of a computer program. Nodes in this tree represent SESE regions of the program, while edges represent nesting regions. The PST is defined for all control flow graphs.

In queueing theory, a discipline within the mathematical theory of probability, mean value analysis (MVA) is a recursive technique for computing expected queue lengths, waiting time at queueing nodes and throughput in equilibrium for a closed separable system of queues. The first approximate techniques were published independently by Schweitzer and Bard, followed later by an exact version by Lavenberg and Reiser published in 1980.

<span class="mw-page-title-main">Reeb graph</span>

A Reeb graph is a mathematical object reflecting the evolution of the level sets of a real-valued function on a manifold. According to a similar concept was introduced by G.M. Adelson-Velskii and A.S. Kronrod and applied to analysis of Hilbert's thirteenth problem. Proposed by G. Reeb as a tool in Morse theory, Reeb graphs are the natural tool to study multivalued functional relationships between 2D scalar fields , , and arising from the conditions and , because these relationships are single-valued when restricted to a region associated with an individual edge of the Reeb graph. This general principle was first used to study neutral surfaces in oceanography.

In computer science, the method of contraction hierarchies is a speed-up technique for finding the shortest-path in a graph. The most intuitive applications are car-navigation systems: a user wants to drive from to using the quickest possible route. The metric optimized here is the travel time. Intersections are represented by vertices, the road sections connecting them by edges. The edge weights represent the time it takes to drive along this segment of the road. A path from to is a sequence of edges ; the shortest path is the one with the minimal sum of edge weights among all possible paths. The shortest path in a graph can be computed using Dijkstra's algorithm but, given that road networks consist of tens of millions of vertices, this is impractical. Contraction hierarchies is a speed-up method optimized to exploit properties of graphs representing road networks. The speed-up is achieved by creating shortcuts in a preprocessing phase which are then used during a shortest-path query to skip over "unimportant" vertices. This is based on the observation that road networks are highly hierarchical. Some intersections, for example highway junctions, are "more important" and higher up in the hierarchy than for example a junction leading into a dead end. Shortcuts can be used to save the precomputed distance between two important junctions such that the algorithm doesn't have to consider the full path between these junctions at query time. Contraction hierarchies do not know about which roads humans consider "important", but they are provided with the graph as input and are able to assign importance to vertices using heuristics.

In the study of graph algorithms, Courcelle's theorem is the statement that every graph property definable in the monadic second-order logic of graphs can be decided in linear time on graphs of bounded treewidth. The result was first proved by Bruno Courcelle in 1990 and independently rediscovered by Borie, Parker & Tovey (1992). It is considered the archetype of algorithmic meta-theorems.

In mathematics and computer science, graph edit distance (GED) is a measure of similarity between two graphs. The concept of graph edit distance was first formalized mathematically by Alberto Sanfeliu and King-Sun Fu in 1983. A major application of graph edit distance is in inexact graph matching, such as error-tolerant pattern recognition in machine learning.

<span class="mw-page-title-main">Configuration model</span>

In network science, the configuration model is a method for generating random networks from a given degree sequence. It is widely used as a reference model for real-life social networks, because it allows the modeler to incorporate arbitrary degree distributions.

In computer science, an e-graph is a data structure that stores an equivalence relation over terms of some language.

References

  1. 1 2 A Brief Introduction To Bigraphs , IT University of Copenhagen, Denmark.
  2. 1 2 Milner, Robin. The Bigraphical Model , University of Cambridge Computer Laboratory, UK.
  3. Milner, Robin (2008). "Bigraphs and Their Algebra" (PDF). Electronic Notes in Theoretical Computer Science . 209: 5–19. doi:10.1016/j.entcs.2008.04.002.
  4. Miculan, Marino; Peressotti, Marco (2013). Bigraphs reloaded: a presheaf presentation (PDF).
  5. Milner, Robin (2009). "Bigraphical Categories". CONCUR 2009 - Concurrency Theory. Lecture Notes in Computer Science. Vol. 5710. Springer-Verlag. pp. 30–36. doi:10.1007/978-3-642-04081-8_3.
  6. 1 2 Burco, Fabio; Miculan, Marino; Peressotti, Marco (2020-03-30). "Towards a formal model for composable container systems". Proceedings of the 35th Annual ACM Symposium on Applied Computing. Brno Czech Republic: ACM. pp. 173–175. arXiv: 1912.01107 . doi:10.1145/3341105.3374121. ISBN   978-1-4503-6866-7. S2CID   208547753.
  7. Grohmann, Davide; Miculan, Marino (2007). "Directed Bigraphs". Electronic Notes in Theoretical Computer Science. 173: 121–137. doi: 10.1016/j.entcs.2007.02.031 . S2CID   15353215.
  8. Grohmann, Davide (2008), Ehrig, Hartmut; Heckel, Reiko; Rozenberg, Grzegorz; Taentzer, Gabriele (eds.), "Security, Cryptography and Directed Bigraphs", Graph Transformations, Lecture Notes in Computer Science, Berlin, Heidelberg: Springer, vol. 5214, pp. 487–489, doi:10.1007/978-3-540-87405-8_41, ISBN   978-3-540-87404-1 , retrieved 2021-01-11
  9. Grohmann, Davide; Miculan, Marino (2008-07-13). "Controlling resource access in Directed Bigraphs". Electronic Communications of the EASST: Volume 10: Graph Transformation and Visual Modeling Techniques 2008. doi:10.14279/TUJ.ECEASST.10.142.
  10. Sevegnani, Michele; Calder, Muffy (2015). "Bigraphs with sharing". Theoretical Computer Science . 577: 43–73. doi: 10.1016/j.tcs.2015.02.011 .
  11. Calder, Muffy; Sevegnani, Michele (2014). "Modelling IEEE 802.11 CSMA/CA RTS/CTS with stochastic bigraphs with sharing". Formal Aspects of Computing . 26 (3): 537–561. doi: 10.1007/s00165-012-0270-3 .
  12. Calder, Muffy; Koliousis, Alexandros; Sevegnani, Michele; Sventek, Joseph (2014). "Real-time verification of wireless home networks using bigraphs with sharing". Science of Computer Programming . 80: 288–310. doi: 10.1016/j.scico.2013.08.004 .
  13. Benford, Steve; Calder, Muffy; Rodden, Tom; Sevegnani, Michele (2016-05-01). "On Lions, Impala, and Bigraphs: Modelling Interactions in Physical/Virtual Spaces" (PDF). ACM Trans. Comput.-Hum. Interact. 23 (2): 9:1–9:56. doi:10.1145/2882784. ISSN   1073-0516. S2CID   16364443.
  14. Sevegnani, Michele; Calder, Muffy (2016-07-17). Chaudhuri, Swarat; Farzan, Azadeh (eds.). Computer Aided Verification (PDF). Lecture Notes in Computer Science. Springer International Publishing. pp. 494–501. doi:10.1007/978-3-319-41540-6_27. ISBN   9783319415390.
  15. Chiapperini, Alessio; Miculan, Marino; Peressotti, Marco (2020). Gadducci, Fabio; Kehrer, Timo (eds.). "Computing Embeddings of Directed Bigraphs". Graph Transformation. Lecture Notes in Computer Science. Cham: Springer International Publishing. 12150: 38–56. doi:10.1007/978-3-030-51372-6_3. ISBN   978-3-030-51372-6. PMC   7314702 .
  16. Chiapperini, Alessio; Miculan, Marino; Peressotti, Marco (2022-09-01). "Computing (optimal) embeddings of directed bigraphs". Science of Computer Programming. 221: 102842. doi: 10.1016/j.scico.2022.102842 . ISSN   0167-6423. S2CID   251078299.
  17. Perrone, Gian; Debois, Søren; Hildebrandt, Thomas T. (2012). "A model checker for Bigraphs". Proceedings of the 27th Annual ACM Symposium on Applied Computing. Trento, Italy: ACM Press. pp. 1320–1325. doi:10.1145/2245276.2231985. ISBN   978-1-4503-0857-1. S2CID   15575008.
  18. Faithfull, Alexander John; Perrone, Gian; Hildebrandt, Thomas T. (2013-06-25). "Big Red: A Development Environment for Bigraphs". Electronic Communications of the EASST: Volume 61: Graph Computation Models 2012. doi:10.14279/TUJ.ECEASST.61.835.
  19. Krivine, Jean; Milner, Robin; Troina, Angelo (2008-10-22). "Stochastic Bigraphs". Electronic Notes in Theoretical Computer Science. Proceedings of the 24th Conference on the Mathematical Foundations of Programming Semantics (MFPS XXIV). 218: 73–96. doi: 10.1016/j.entcs.2008.10.006 . ISSN   1571-0661. S2CID   35819217.
  20. Mansutti, Alessio; Miculan, Marino; Peressotti, Marco (2015-09-06). "Distributed execution of bigraphical reactive systems". Electronic Communications of the EASST: Volume 71: Graph Computation Models 2014. doi:10.14279/TUJ.ECEASST.71.994. S2CID   243909.
  21. Bacci, Giorgio; Grohmann, Davide; Miculan, Marino (2009), Kurz, Alexander; Lenisa, Marina; Tarlecki, Andrzej (eds.), "DBtk: A Toolkit for Directed Bigraphs", Algebra and Coalgebra in Computer Science, Berlin, Heidelberg: Springer Berlin Heidelberg, vol. 5728, pp. 413–422, Bibcode:2009LNCS.5728..413B, doi:10.1007/978-3-642-03741-2_28, hdl: 11390/692597 , ISBN   978-3-642-03740-5 , retrieved 2021-01-18