43 research outputs found
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
Bigraphical models for protein and membrane interactions
We present a bigraphical framework suited for modeling biological systems
both at protein level and at membrane level. We characterize formally bigraphs
corresponding to biologically meaningful systems, and bigraphic rewriting rules
representing biologically admissible interactions. At the protein level, these
bigraphic reactive systems correspond exactly to systems of kappa-calculus.
Membrane-level interactions are represented by just two general rules, whose
application can be triggered by protein-level interactions in a well-de\"ined
and precise way. This framework can be used to compare and merge models at
different abstraction levels; in particular, higher-level (e.g. mobility)
activities can be given a formal biological justification in terms of low-level
(i.e., protein) interactions. As examples, we formalize in our framework the
vesiculation and the phagocytosis processes
Bigraph Metaprogramming for Distributed Computation
Ubiquitous computing is a paradigm that emphasises integration of computing activities into the fabric of everyday life. With the increasing availability of small, cheap computing devices, the ubiquitous computing model seems more and more likely to supplant desktop computing as the dominant paradigm. Similarly, the presence of high-speed network connectivity between vast numbers of computers has already made distributed computing the preferred paradigm for many application domains. Unfortunately, traditional approaches to software development are not necessarily well-suited to developing software in a post-desktop world. We present an extension to the bigraphical reactive systems formalism that enables us to construct a programming language based upon it. We believe that this programming language provides programmers with an environment better suited to the challenges that arise when creating software within a distributed or ubiquitous computing paradigm. We detail our modification to the theory of bigraphical reactive systems that enables metaprogramming. Finally, we provide a description of our prototype implementation of a programming language that enables metaprogramming of bigraphical reactive systems
A Bigraphical Vending Machine as a Webservice: From Specification and Analysis to Implementation using the Bigraph Toolkit Suite
A bigraph-driven vending machine is implemented. The application is realized as a Spring-based webservice. Actions can be initiated by REST endpoints.
The system follows a rule-based architecture, where possible operations are grounded on a rule set. Bigraphical Reactive Systems are used for the specification and execution. The actual state of the application is a bigraph stored in a database, which can be viewed and altered directly in the database. A history of states is kept - the application can be transferred to any prior state. The application can be updated or extended by merely changing the bigraphical database model.:First Part:
A system of a vending machine is specified and analyzed using BDSL.
This concerns the static and dynamic aspects of the system.
Second Part:
The analysis results are re-used for the implementation using Bigraph Framework.
The application is realized as a webservice that is built using the Spring framework.Ein bigraph-gesteuerter Verkaufsautomat wird implementiert. Die Anwendung ist als Spring-basierter Webservice realisiert. Aktionen können über REST-Endpunkte initiiert werden.
Das System folgt einer regelbasierten Architektur, bei der die möglichen Operationen auf einem Regelsatz beruhen. Für die Spezifikation und Ausführung werden Bigraphical Reactive Systems verwendet. Der aktuelle Zustand der Anwendung ist ein in einer Datenbank gespeicherter Bigraph, der direkt in der Datenbank eingesehen und verändert werden kann. Es wird eine Historie der Zustände geführt - die Anwendung kann in einen beliebigen früheren Zustand überführt werden. Die Anwendung kann aktualisiert oder erweitert werden, indem lediglich das bigraphische Datenbankmodell geändert wird.:First Part:
A system of a vending machine is specified and analyzed using BDSL.
This concerns the static and dynamic aspects of the system.
Second Part:
The analysis results are re-used for the implementation using Bigraph Framework.
The application is realized as a webservice that is built using the Spring framework
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
Software Engineering Challenges for Investigating Cyber-Physical Incidents
Cyber-Physical Systems (CPS) are characterized by the interplay between digital and physical spaces. This characteristic has extended the attack surface that could be exploited by an offender to cause harm. An increasing number of cyber-physical incidents may occur depending on the configuration of the physical and digital spaces and their interplay. Traditional investigation processes are not adequate to investigate these incidents, as they may overlook the extended attack surface resulting from such interplay, leading to relevant evidence being missed and testing flawed hypotheses explaining the incidents. The software engineering research community can contribute to addressing this problem, by deploying existing formalisms to model digital and physical spaces, and using analysis techniques to reason about their interplay and evolution. In this paper, supported by a motivating example, we describe some emerging software engineering challenges to support investigations of cyber-physical incidents. We review and critique existing research proposed to address these challenges, and sketch an initial solution based on a meta-model to represent cyber-physical incidents and a representation of the topology of digital and physical spaces that supports reasoning about their interplay
Bigraphical Domain-specific Language (BDSL): User Manual
This report describes Bigraphical DSL (BDSL), a domain-specific language for reactive systems, rooted in the mathematical spirit of the bigraph theory devised by Robin Milner.
BDSL is not only a platform-agnostic programming language but also a development framework for reactive applications, written in the Java programming language, with a focus on stability and interoperability.
The report serves as a user manual mainly elaborating on how to write and execute BDSL programs, further covering several features such as how to incorporate program verification. Moreover, the manual procures some best practices on design patterns in form of code listings.
The BDSL development framework comes with a ready-to-use interpreter and may be a helpful research tool to experiment with the underlying bigraph theory. The framework is further intended for building reactive applications and systems based on the theory of bigraphical reactive systems.:1 Introduction
1.1 Bigraphical Reactive Systems and Programming . . . . .
1.2 Installation
1.3 How to write and run BDSL programs?
1.4 Further Help
1.5 Remarks
2 General Usage of the BDSL Interpreter Tool
2.1 The CLI Interpreter of BDSL
2.2 Supplying a BDSL Program to the Interpreter
2.3 Externalized Configuration
3 BDSL Program Structure
3.1 Elements of a BDSL program
3.2 Main Block
3.3 Scoping, Namespaces and Imports
3.4 Classes and Variables
3.5 Event Listeners/Callbacks
4 Predefined Methods in BDSL
4.1 Printing to the Console
4.2 Loading Bigraphs
4.3 Synthesizing Random Bigraphs
4.4 Exporting Bigraph Variables
4.5 Executing BRSs
5 Examples
5.1 Basic Mathematical Calculations the Bigraphical Way
5.2 Importing External Libraries
5.3 Pathfinding: Naive Blind Search
5.4 Mutual Exclusion Problem
6 Advanced Topics
6.1 User-defined Functions
6.2 Using the Interpreter Programmatically
6.3 IDE Support
7 Conclusion
7.1 Future Work
References
Appendix
A Configuration File for the BDSL Interpreter
B BDSL Sample Programs
C Using the BDSL Interpreter Programmaticall
Open Transactions on Shared Memory
Transactional memory has arisen as a good way for solving many of the issues
of lock-based programming. However, most implementations admit isolated
transactions only, which are not adequate when we have to coordinate
communicating processes. To this end, in this paper we present OCTM, an
Haskell-like language with open transactions over shared transactional memory:
processes can join transactions at runtime just by accessing to shared
variables. Thus a transaction can co-operate with the environment through
shared variables, but if it is rolled-back, also all its effects on the
environment are retracted. For proving the expressive power of TCCS we give an
implementation of TCCS, a CCS-like calculus with open transactions
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