28 research outputs found
Computing (optimal) embeddings of directed bigraphs
Bigraphs and bigraphical reactive systems are a well-known meta-model successfully used for formalizing a wide range of models and situations, such as process calculi, service oriented architectures, multi-agent systems, biological systems, etc. A key problem in the theory and the implementations of bigraphs is how to compute embeddings, i.e., structure-preserving mappings of a given bigraph (the pattern or guest) inside another (the target or host). In this paper, we present an algorithm for computing embeddings for directed bigraphs, an extension of Milner's bigraphs which take into account the request directions between controls and names. This algorithm solves the embedding problem by means of a reduction to a constraint satisfaction problem. We first prove soundness and completeness of this algorithm; then we present an implementation in jLibBig, a general Java library for manipulating bigraphical reactive systems. The effectiveness of this implementation is shown by several experimental results. Finally, we show that this algorithm can be readily adapted to find the optimal embeddings in a weighted variant of the embedding problem
Distributed execution of bigraphical reactive systems
The bigraph embedding problem is crucial for many results and tools about
bigraphs and bigraphical reactive systems (BRS). Current algorithms for
computing bigraphical embeddings are centralized, i.e. designed to run locally
with a complete view of the guest and host bigraphs. In order to deal with
large bigraphs, and to parallelize reactions, we present a decentralized
algorithm, which distributes both state and computation over several concurrent
processes. This allows for distributed, parallel simulations where
non-interfering reactions can be carried out concurrently; nevertheless, even
in the worst case the complexity of this distributed algorithm is no worse than
that of a centralized algorithm
Towards distributed bigraphical reactive systems
3noThe bigraph embedding problem is crucial for many results and tools about bigraphs and bigraphical reactive systems (BRS). There are algorithms for computing bigraphical embedding but these are designed to be run locally and assume a complete view of the guest and host bigraphs, putting large bigraphs and BRS out of their reach. To overcome these limitations we present a decentralized algorithm for computing bigraph embeddings that allows us to distribute both state and computation over several concurrent processes. Among various applications, this algorithm offers the basis for distributed BRS simulations where non-interfering reactions are carried out concurrently.openopenMansutti, Alessio; Peressotti, Marco; Miculan, MarinoMansutti, Alessio; Peressotti, Marco; Miculan, Marin
A CSP implementation of the bigraph embedding problem
2openopenM. Miculan;M. PeressottiMiculan, Marino; Peressotti, Marc
Bigraphs with sharing
Bigraphical Reactive Systems (BRS) were designed by Milner as a universal formalism for modelling systems that evolve in time, locality, co-locality and connectivity. But the underlying model of location (the place graph) is a forest, which means there is no straightforward representation of locations that can overlap or intersect. This occurs in many domains, for example in wireless signalling, social interactions and audio communications. Here, we define bigraphs with sharing, which solves this problem by an extension of the basic formalism: we define the place graph as a directed acyclic graph, thus allowing a natural representation of overlapping or intersecting locations. We give a complete presentation of the theory of bigraphs with sharing, including a categorical semantics, algebraic properties, and several essential procedures for computation: bigraph with sharing matching, a SAT encoding of matching, and checking a fragment of the logic BiLog. We show that matching is an instance of the NP-complete sub-graph isomorphism problem and our approach based on a SAT encoding is also efficient for standard bigraphs. We give an overview of BigraphER (Bigraph Evaluator & Rewriting), an efficient implementation of bigraphs with sharing that provides manipulation, simulation and visualisation. The matching engine is based on the SAT encoding of the matching algorithm. Examples from the 802.11 CSMA/CA RTS/CTS protocol and a network management support system illustrate the applicability of the new theory
Domain-Specific Modelling Languages in Bigraphs
Modelling is a ubiquitous activity in human endeavours, and the construction of informatic models of many kinds is the key to understanding and managing the complexity of an increasingly computational world. We advocate the use of domain-specific modelling languages, instantiated within a “tower ” of models, in order to improve the utility of the models we build, and to ease the process of model construction by moving the languages we use to express such models closer to their respective domains. This thesis is concerned with the study of bigraphical reactive systems as a host for domain-specific modelling languages. We present a number of novel technical developments, including a new complete meta-calculus presentation of bigraphical reactive systems, an abstract machine that instantiates to an abstract machine for any instance calculi, and a mechanism for defining declaratively sorting predicates that always give rise to wellbehaved sortings. We explore bigraphical refinement relations that permit formalisation of the relationship between different languages instantiate
An Algebra of Hierarchical Graphs and its Application to Structural Encoding
We define an algebraic theory of hierarchical graphs, whose axioms
characterise graph isomorphism: two terms are equated exactly when
they represent the same graph. Our algebra can be understood as
a high-level language for describing graphs with a node-sharing, embedding
structure, and it is then well suited for defining graphical
representations of software models where nesting and linking are key
aspects. In particular, we propose the use of our graph formalism as a
convenient way to describe configurations in process calculi equipped
with inherently hierarchical features such as sessions, locations, transactions,
membranes or ambients. The graph syntax can be seen as an
intermediate representation language, that facilitates the encodings of
algebraic specifications, since it provides primitives for nesting, name
restriction and parallel composition. In addition, proving soundness
and correctness of an encoding (i.e. proving that structurally equivalent
processes are mapped to isomorphic graphs) becomes easier as it can
be done by induction over the graph syntax