43 research outputs found

    Distributed execution of bigraphical reactive systems

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    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
    corecore