A bigraph can be modelled as the superposition of a
graph
Graph may refer to:
Mathematics
*Graph (discrete mathematics), a structure made of vertices and edges
**Graph theory, the study of such graphs and their properties
*Graph (topology), a topological space resembling a graph in the sense of discre ...
(the ''link graph'') and a set of
trees
In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are u ...
(the ''place graph'').
A Brief Introduction To Bigraphs
', IT University of Copenhagen
The IT University of Copenhagen (Danish language, Danish: ''IT-Universitetet i København'', abbreviated ITU) is a public university and research institution in Copenhagen, Denmark. It is specialized in the Academic discipline#Multidisciplinary, ...
, Denmark.[Milner, Robin. ]
The Model
', University of Cambridge Computer Laboratory
The Department of Computer Science and Technology, formerly the Computer Laboratory, is the computer science department of the University of Cambridge. it employed 35 academic staff, 25 support staff, 35 affiliated research staff, and about 15 ...
, UK.
Each
node
In general, a node is a localized swelling (a "knot") or a point of intersection (a vertex).
Node may refer to:
In mathematics
*Vertex (graph theory), a vertex in a mathematical graph
*Vertex (geometry), a point where two or more curves, lines, ...
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
diagram
A diagram is a symbolic representation of information using visualization techniques. Diagrams have been used since prehistoric times on walls of caves, but became more prevalent during the Enlightenment. Sometimes, the technique uses a three- ...
s.
They have applications in the modelling of distributed systems for
ubiquitous computing
Ubiquitous computing (or "ubicomp") is a concept in software engineering, hardware engineering and computer science where computing is made to appear anytime and everywhere. In contrast to desktop computing, ubiquitous computing can occur using a ...
and can be used to describe
mobile
Mobile may refer to:
Places
* Mobile, Alabama, a U.S. port city
* Mobile County, Alabama
* Mobile, Arizona, a small town near Phoenix, U.S.
* Mobile, Newfoundland and Labrador
Arts, entertainment, and media Music Groups and labels
* Mobile ( ...
interactions. They have also been used by
Robin Milner
Arthur John Robin Gorell Milner (13 January 1934 – 20 March 2010), known as Robin Milner or A. J. R. G. Milner, was a British computer scientist, and a Turing Award winner. in an attempt to subsume
Calculus of Communicating Systems (CCS) and
π-calculus
In theoretical computer science, the -calculus (or pi-calculus) is a process calculus. The -calculus allows channel names to be communicated along the channels themselves, and in this way it is able to describe concurrent computations whose networ ...
.
They have been studied in the context of
category theory
Category theory is a general theory of mathematical structures and their relations that was introduced by Samuel Eilenberg and Saunders Mac Lane in the middle of the 20th century in their foundational work on algebraic topology. Nowadays, cate ...
.
Anatomy of a bigraph
Aside from nodes and (
hyper-)
edges
Edge or EDGE may refer to:
Technology Computing
* Edge computing, a network load-balancing system
* Edge device, an entry point to a computer network
* Adobe Edge, a graphical development application
* Microsoft Edge, a web browser developed by ...
, 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
In mathematics, a monoidal category (or tensor category) is a category \mathbf C equipped with a bifunctor
:\otimes : \mathbf \times \mathbf \to \mathbf
that is associative up to a natural isomorphism, and an object ''I'' that is both a left and r ...
(usually abbreviated ''spm-category'') in which the objects are these interfaces. As a result, the composition of bigraphs is definable in terms of the composition of arrows in the category.
Extensions and variants
Directed Bigraphs
Directed Bigraphs 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 protocol
A security protocol (cryptographic protocol or encryption protocol) is an abstract or concrete protocol that performs a security-related function and applies cryptographic methods, often as sequences of cryptographic primitives. A protocol describe ...
s, resource access management, and
cloud computing
Cloud computing is the on-demand availability of computer system resources, especially data storage ( cloud storage) and computing power, without direct active management by the user. Large clouds often have functions distributed over mul ...
.
Bigraphs with sharing

Bigraphs with sharing 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
In mathematics, a binary relation associates elements of one set, called the ''domain'', with elements of another set, called the ''codomain''. A binary relation over Set (mathematics), sets and is a new set of ordered pairs consisting of ele ...
instead of a
map
A map is a symbolic depiction emphasizing relationships between elements of some space, such as objects, regions, or themes.
Many maps are static, fixed to paper or some other durable medium, while others are dynamic or interactive. Although ...
. 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, real-time management of domestic wireless networks and
mixed reality
Mixed reality (MR) is a term used to describe the merging of a real-world environment and a computer-generated one. Physical and virtual objects may co-exist in mixed reality environments and interact in real time. Mixed reality is largely synony ...
systems.
Tools and Implementations
* '
BigraphER'' is a modelling and reasoning environment for bigraphs consisting of an
OCaml
OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
library and a command-line tool providing an efficient implementation of rewriting, simulation, and visualisation for both bigraphs and bigraphs with sharing.
* '
jLibBig'' is a
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
library providing efficient and extensible implementation of reactive systems for both bigraphs and directed bigraphs.
No longer actively developed:
* '
BigMC'' is
model checker
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 (also known as correctness). This is typically associated with hardware or software system ...
for bigraphs which includes a command line interface and visualisation.
* '
Big Red'' is a graphical editor for bigraphs with easily extensible support for various file formats.
* SBAM is a stochastic simulator for bigraphs, aimed at simulation of biological models.
* DBAM is a distributed simulator for reactive systems.
* DBtk is a toolkit for directed bigraphs that provides calculation of IPOs, matching, and visualisation.
See also
*
Bisimulation
In theoretical computer science a bisimulation is a binary relation between state transition systems, associating systems that behave in the same way in that one system simulates the other and vice versa.
Intuitively two systems are bisimilar if ...
*
Combinatorial species
In combinatorial mathematics, the theory of combinatorial species is an abstract, systematic method for deriving the generating functions of discrete structures, which allows one to not merely count these structures but give bijective proofs invol ...
Bibliography
*
*
*
*
*
References
{{reflist
External links
Bibliography on Bigraphs
Formal methods
Theoretical computer science