It is well-recognized among computer scientists that prospective informatics systems will become more and more complex and will increasingly accumulate non-linear behaviour that is difficult to orchestrate, to configure, and to reason about. Certainly, large-scale mobile computing systems will challenge our understanding, similar to climate systems, bio-chemical systems, physical systems, or social networks. This suggests a rigorous formalization and study of non-trivial computational systems.
In this regard, bigraphs are a groundbreaking novel theory for distributed and parallel systems, treating mobile locality and mobile interaction as first-class citizens. The theory was devised by Robin Milner as a process algebra with rewrite capabilities based on graph equations and an algebraic type system. Bigraphs have been the subject of extensive investigation from various perspectives, including agent-based modelling, cyber-physical games, language construction, graph rewriting, and as a unifying metamodel for other rewrite theories and process calculi, but particularly in the context of the categorical reactive system approach. In this approach, a labelled transition system, over which bisimilarity is a congruent equivalence relation, is generated from reduction semantics that can be freely specified. The bigraph theory treats two-dimensional graphs as arrows and their interfaces as objects while category theory provides the underlying mathematical framework for their axiomatization. Fortunately, category theory makes the theory future-proof, competitive and extensible. The recently developed categorical concepts of relative and idempotent pushouts facilitate the categorical construction of minimal context labels enabling the development of a behavioural theory, where bisimulation is a congruence. The metamodel character of bigraphs enables the comparison of other formalisms and algebraic theories of concurrent computation at a very abstract level, thus, regaining their behavioural theory and computational notion, with the ultimate goal of exploiting synergies.
Indeed, bigraphs are much more than a computational model for understanding, analysing, and verifying systems. They provide both a formal and practical foundation for context-oriented reactive system modelling and programming languages. Consequently, the development of software solutions based on the bigraph theory necessitates suitable tools, frameworks, and languages for putting bigraphs into practice. These tools are essential for evaluating the model’s effectiveness in both academic research and the software industry. Only this permits rigorous testing of the theory. But moreover, reaching this goal is the result of the motivation to lower the barrier to entry for model-driven context-adaptive programming using the bigraph theory. So far, several tools and libraries have been developed to model and simulate bigraphical reactive systems. These tools can roughly be referred to as bigraphical calculators and are meant for experimentation and comprehension of the theory. Without them, this work could not have been written. However, we elevate the initial efforts to a level more conducive to enable advanced bigraphical software engineering practises. Therefore, the Bigraph Toolkit Suite was developed—a collection of tools and methods for the research and development of reactive systems for real-world applications. The suite consists of model-based integration frameworks, architectural guidelines, integrated development environments, command-line tools, and an uncomplicated language engineering workbench with an extensible grammar and interpreter. Each product of the Bigraph Toolkit Suite serves a distinct function, ranging from the manipulation and simulation of bigraphs to bigraphical language engineering and distributed storage of bigraph models. The tools are finely tuned to each other via a common metamodel, which facilitates implementation of novel bigraphical tool chains as well as the integration of arbitrary tools and public programming interfaces.
Certainly, the following ambient question paved the path of this research: Is there a formalism or theory that supports context modelling, computation and verification, and that can be used as a programming language? The work shows that bigraphs can be used to lay such a foundation to regain the understanding of new informatics systems, with model-driven engineering contributing to this. According to this, the latent objective of this work is the cross-fertilization process of model-driven engineering and bigraphical reactive systems on a practical basis. A discussion is developed of whether there is evidence to support the view that the presence of MDE-related model operations and practices may be related to bigraph operations and vice versa. A relation can be established by a consistent and complete canonical mapping on the x-axis based on a systematic four-layer metamodelling framework; and on the y-axis between three different yet interoperable technical spaces. Thus, the result of this thesis is developed along two axes from a strict software engineering perspective. On the one hand, practical observations of the bigraph theory are provided about other graph structures, categories and model-driven operations. On the other, a novel software ecosystem for bigraphical reactive systems is provided together with several generic experimental approaches such as event-based execution of sub-bigraphical reactive systems. The theory already stimulated much other research works and therefore advancing fundamental computer science, this work may additionally—hopefully, the reader will agree—solidify and advance bigraphical research.:1 Introduction
1.1 Background and Motivation
1.1.1 Typical Application Scenarios
1.1.2 The Dilemma of Complex Reactive Systems
1.2 Field of Work
1.2.1 Reactive Systems
1.2.2 Model-driven Engineering
1.2.3 Context Adoption in Software: A Novel Taxonomy
1.3 Research Project
1.3.1 Hypothesis
1.3.2 Research Aim
1.3.3 Research Objectives
1.3.4 Contributions
1.4 Outline
2 The Theory of Bigraphical Reactive Systems for Software Engineers
2.1 Graph Theory: Basic Notation
2.2 Categories for Context-adaptive Software
2.2.1 Elementary Category Theory
2.2.2 Reactive System Categories: s-category and spm category
2.2.3 Type Graphs and Type Morphisms
2.2.4 Observations
2.3 On the Static Structure of Bigraphs
2.3.1 Signatures
2.3.2 Pure Bigraphs: Place Graphs and Link Graphs
2.3.3 Compositional Structures: Interfaces and Operators
2.3.4 Algebra of Bigraphs
2.3.5 Graphical s-categories
2.4 Type Systems and Sortings
2.4.1 Basic Terminology
2.4.2 Sortings and Bigraphs
2.5 Dynamics of Reactive Systems
2.5.1 Operational Semantics of Reactive Systems
2.5.2 Reactive System Theory: General Categories
2.5.3 Bigraphical Reactive Systems
2.5.4 Labelled Transition Systems
2.5.5 Behavioural Equivalences
2.5.6 Observations
2.6 Formal Verification
2.6.1 Model Checking in Detail
2.6.2 Properties of Sequential and Parallel Programs
2.6.3 State-Space Explosion Problem
3 Model-driven Concepts in Bigraphs
3.1 A Canonical Mapping: From Bigraphs to Ecore
3.1.1 The Four-layer Metamodelling Framework Revisited
3.1.2 Formal Relations between Bigraphs, Type Graphs and Ecore
3.1.3 Model Constraints at the 𝑀1 and 𝑀0 layer
3.1.4 Design Level Variability and Extensibility
3.2 Bigraphical Models: Specification and Generation
3.2.1 Typing and Subtyping via (Un-)Sorted Signatures and their Instantiation from Metamodels
3.2.2 Bigraphs and their Instantiation from Metamodels
3.2.3 Observations
3.3 Modelling Techniques: A Bigraphical Perspective
3.3.1 Bigraphs and UML Class Diagrams
3.3.2 Signature Operations
3.3.3 Abstraction
3.3.4 View Modelling with Place Graphs
3.4 Design Patterns for Implementing Variation Points
3.5 Summary
4 Bigraph Toolkit Suite: A Complete Software Development Ecosystem
4.1 The Bigraphical Tool Landscape
4.1.1 High-level Architecture
4.1.2 Overview of the Constituents
4.1.3 Design Qualities
4.1.4 Project Organisation
4.2 Modelling and Visualization
4.2.1 Programmatic Approach: Builders and Operators
4.2.2 Domain-specific Language
4.2.3 Converters: Model Translations
4.2.4 Visual Modelling: Bigellor
4.3 Simulation and Verification
4.3.1 Specification of BRSs
4.3.2 Implementation Aspects: Entity Classes
4.3.3 Implementation Aspects: Business Classes
4.3.4 Model Checking Algorithm
4.3.5 Coordination of BRSs: Higher-order Execution Strategies
4.3.6 Error Handling: Chain of Responsibility and Exceptions
4.4 Bigraphical Domain-specific Language
4.4.1 Overview of BDSL’s Grammar
4.4.2 Language Features
4.4.3 Interpreter: Decoupling the Grammar from Application-Specific Code
4.4.4 BDSL-CLI: A Command-line Interpreter Tool for BDSL
4.4.5 Theia: An Integrated Development Environment for BDSL
4.5 Persistence: Distributed Model Storage
4.5.1 Basic Filesystem Storage Facilities
4.5.2 Spring Data CDO: Spring Data and Connected Data Objects
4.5.3 Arbitrary Hierarchical Layouts for Bigraphical Models
4.5.4 Event Listeners
4.6 Performance and Quality Analysis
4.6.1 Functional Tests
4.6.2 Dependency Analysis
4.6.3 Runtime Analysis
4.7 Summary
5 Related Work: The Bigraphical Tool Landscape
5.1 A Lightweight Qualitative Comparison Framework
5.1.1 Conceptual Foundations
5.1.2 Considerations
5.2 Method and Tool Candidates
5.2.1 Selection Process
5.2.2 Excluded Tool Candidates
5.2.3 Tool Overview
5.3 Results
5.3.1 jLibBig
5.3.2 bigraphspace
5.3.3 BigRED
5.3.4 BigM
5.3.5 BigraphER
5.3.6 BigMC
5.3.7 BPL Tool
5.3.8 BiGMTE
5.3.9 DBtk
5.4 Evaluation and Discussion
5.4.1 Assessment Criteria
5.4.2 Comparison of Non-Functional Aspects
5.4.3 Comparison of Functional Aspects
5.4.4 Term Language
5.4.5 Interoperability
5.4.6 Accessibility
5.5 Summary
6 Conclusion
List of Figures
List of Tables
List of Listings
Bibliography
Online Resources
Appendices
A Theoretical Addendum
B Design Patterns, Techniques and Technologies
C Code Listings: Related Work
Abbreviations
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:91050 |
Date | 25 April 2024 |
Creators | Grzelak, Dominik |
Contributors | Aßmann, Uwe, Minas, Mark, Technische Universität Dresden |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | English |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, doc-type:doctoralThesis, info:eu-repo/semantics/doctoralThesis, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Relation | info:eu-repo/grantAgreement/Deutsche Forschungsgemeinschaft/Exzellenzcluster/390696704// Centre for Tactile Internet with Human-in-the-Loop/CeTI |
Page generated in 0.5713 seconds