Research and De­velop­ment of Reactive Systems with BTS*


Welcome to the Bigraph Toolkit Suite (BTS). BTS aims to be a comprehensive toolkit, offering a range of extensible model-driven integration frameworks, languages, tools and IDEs. Its primary focus is on facilitating the manipulation and interchange of bigraphical models, along with enabling the simulation and model checking of bigraphical reactive systems. All of these functionalities are designed to be platform-agnostic.

Explore Toolkit Components Go to GitHub

reactive system theory for software


The bigraph theory, devised by Robin Milner and colleagues, provides a novel foundation for the formal modeling and reasoning of reactive systems, including ubiquitous systems, distributed systems, concurrent systems, agent-based systems, interacting systems and context-aware systems.

In line with this, the Bigraph Toolkit Suite provides a set of guidelines, tools, and programming frameworks in order to use bigraphs as the formal underpinning for the development of reactive systems and its various facets. BTS aims to facilitate experimentation for academic purposes. It is designed to straightforwardly allow the adoption of bigraphical mechanisms and philosophies.

Moreover, the underlying bigraph formalism of BTS allows to resemble, for example, rule-oriented, event-based and monitor-oriented programming approaches to a great extent - all combined with the power of formal verification techniques such as model checking.

Key Points and Aims

  • Metamodeling: BTS uses family of bigraphical metamodels designed for different purposes
  • Validation: Model instances conform to metamodels throughout BTS to ensure structural consistency
  • Interoperability: Metamodels foster building bigraphical toolchains and exchange between different formats
  • Verification: Bigraphical models can be used as a formal specification language for reasoning about reactive systems
  • Adopt and utilize bigraph-theoretical results in software applications
  • Integrate bigraphs as formal underpinning in software applications at different scales and levels of granularity
  • For instance, bigraphical mechanisms can be utilized, adopted and integrated just partially, e.g., within a single component of an even larger application.
  • Incorporate a rule-based and event-based programming approach by taking advantage of bigraphical reactive systems.

A variety of problems can only be solved with a variety of methods.

9 Products

BTS, i.e., any of its constituents listed below, is licensed according to the terms of the Apache License, Version 2.0.

Explore the Bi­graphical Tool­kit Suite


Visit the whole Bigraph Toolkit Suite at GitHub

Metamodeling, Manipulation and Simulation

Java Framework
logo

This projects provides a Java-based framework designed for creating and simulating bigraphs. The primary goal of this framework is to streamline the implementation of bigraphical reactive systems. It offers programmatic support for model-driven software development grounded in bigraph theory. The intuitive high-level API simplifies the programming of bigraphical systems for real-world applications.

Features

  • Bigraph Creation: Create EMOF-compliant bigraph metamodels and instances dynamically at design and runtime.
  • Execution of Bigraphical Reactive Systems: Execute bigraphical reactive systems for tasks such as model checking or simulation.
  • Flexible Export Options: Export bigraphs to various formats effortlessly (PNG, DOT, GraphML, Ecore/XMI, BigRED, jLibBig, BigraphER, BigMC, ...)
  • Simple Visualization: Visualize bigraphs easily using the DOT format, or display an interactive visualization.
User Manual Go To GitHub
Bigraph Ecore Metamodel (BEM)
logo

This project provides the abstract syntax specification, i.e. a metamodel, for bigraphs, which can be regarded as a "bigraphical grammar" to build languages on. It is built upon the Eclipse EMF Ecore metamodel, ensuring compatibility and consistency. Ecore is considered the de facto reference implementation of OMG's EMOF (Essential Meta-Object Facility).

It offers a standardized "interface" for defining the well-formed structure of bigraphs. This "interface" facilitates seamless interaction with various tools and frameworks, enhancing interoperability.

Go To GitHub
Modelling IDE
logo

Bigellor is a web-based modeling tool to interactively create and visualize bigraphs. It uses Spring in combination with Thymeleaf as web development framework, and Cytoscape.js for the visualization of bigraphs in the browser.

Go To GitHub

BDSL: Domain-specific Language

Xtext Grammar Workbench
logo

Contains the major building blocks of BDSL, a Bigraphical DSL, e.g., the grammar, the parser, and the Language Server Protocol for IDE implementation support.

Go To GitHub
Java Framework
logo

Contains the main functionality for the operation of an BDSL interpreter. The BDSL Interpreter Framework supports the evaluation of arbitrary bigraph expressions and executes bigraphical reactive systems.

More Details
Command-line Interface
logo

A command-line interface application for using the interpreter via the terminal. It uses the BDSL Interpreter Framework for executing BDSL expressions.

More Details
IDE
logo

An IDE for writing BDSL scripts. It is based on Eclipse Theia und uses the Language Server Protocol implementation of BDSL Core Elements.

More Details

Model Storage and Distribution

Spring Data Framework Extension
logo

Provides the infrastructure components to build repository abstractions for stores dealing with the Connected Data Objects (CDO) model repository. Makes it easier to build Spring-powered applications that use data access technologies.

Go To GitHub
Docker Container
logo

Contains Eclipse CDO and configuration files to build and run a CDO server in a Docker container.

Go To GitHub

More About the theory behind BTS


The resources listed below point to some interesting research work in the bigraph-related scientific literature.

Note that this is not an exhaustive nor curated list.

Articles

  • Kehrer, T.; Tsigkanos, C.; Ghezzi, C.: An EMOF-Compliant Abstract Syntax for Bigraphs. In: Electronic Proceedings in Theoretical Computer Science Bd. 231 (2016), S. 16–30.
  • Milner, R.: The Space and Motion of Communicating Agents. 1st. Aufl. New York, NY, USA : Cambridge University Press, 2009
  • Debois, S.: Computation in the informatic jungle (Technical Report) : IT University of Copenhagen (ITU), 2011
  • Perrone, G.; Debois, S.; Hildebrandt, T.: Bigraphical Refinement. In: Electronic Proceedings in Theoretical Computer Science Bd. 55 (2011), S. 20–36.1
  • Grzelak, D.; Aßmann., U.: Preparatory reflections on safe context-adaptive software (position paper). In: Proceedings of the 5th international conference on internet of things, big data and security - volume 1: IoTBDS, : SciTePress, 2020. INSTICC — ISBN 978-989-758-426-8, S. 382–391. DOI: 10.5220/0009459503820391

Tutorials, Guides & Slides


BDSL User Manual

The user manual of the bigraphical domain-specific language.

Take me there!
Bigraph Vending Machine: Slides

A Bigraphical Vending Machine as a Webservice: From Specification and Analysis to Implementation using BTS

Take me there!
Project Template

A Maven-based project template to get you started with Bigraph Framework.

Take me there!
Bigraph Vending Machine: Java Project

The Java implementation of a bigraphical vending machine utilizing Bigraph Framework and the distributed model database via Spring Data CDO.

Take me there!

Both the kind and granularity of a problem suggest the tools to best work with in order to solve the problem.

Acknowledgement


This research project is funded by the German Research Foundation (DFG, Deutsche Forschungsgemeinschaft) as part of Germany's Excellence Strategy - EXC 2050/1 - Project ID 390696704 - Cluster of Excellence "Centre for Tactile Internet with Human-in-the-Loop" (CeTI) of Technische Universität Dresden.