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

Software for Designing Reactive Systems


The bigraph theory provides an advanced foundation for the formal yet practical modeling and reasoning of reactive systems.

In this context, the Bigraph Toolkit Suite (BTS) offers comprehensive guidelines, tools, and programming frameworks to leverage bigraphs as a formal foundation for developing reactive systems. BTS is designed to support experimentation, particularly for academic research and exploration.

Furthermore, the bigraph formalism underlying BTS enables the representation of various programming paradigms, such as rule-based, event-driven, and monitor-oriented approaches, while integrating the powerful capabilities of model checking.

Key Points

  • Metamodeling: BTS uses a 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

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

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


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.

Go To GitHub
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.

Go To GitHub
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.