Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README
  • Academic publication links
    Links to: acm.org, joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: bigraph-toolkit-suite
  • License: mit
  • Language: C#
  • Default Branch: main
  • Size: 53.4 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed 10 months ago
Metadata Files
Readme License Citation

Readme.md

BiGGer Benchmark 2025.1

This repository serves as the benchmark companion project to the paper:

D. Grzelak and M. Hamann, “Improving Bigraph Rewriting with GrGen.NET to Enable Efficient System Simulation,” Form. Asp. Comput., Jun. 2025, doi: 10.1145/3736704.

It includes the exemplary use cases discussed in the paper, providing:

  • The original Bigraph model files (Ecore/XMI),
  • The generated GrGen.NET artifacts (*.gm, *.grs, *.cs), and
  • The corresponding C# model checking procedures utilizing libGr v7.2.
  • The compiled BiGGer tool for re-generating the GrGen.NET artifacts.

Benchmark Preview: Self-Sorting Robots in Action

These transition systems were automatically generated using BiGGer and GrGen.NET, modeling the state space of multiple robots performing physical bubble-sort.

| N = 3 Robots | N = 4 Robots | |-----------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | SSR3
Nodes: 78
Edges: 96
Time: 0.70 s | SSR4
Nodes: 1,263
Edges: 2,767
Time: 10.02 s |

| N = 5 Robots | N = 6 Robots | |------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------| | SSR5
Nodes: ≈ 9,192
Edges: 22,047
Time: 105.56 s | SSR6
Nodes: ≈ 314,226
Edges: 1,003,215
Time: 19459.07 s |

📌 Each dot represents a system state. Edges are transitions. Graphs were rendered from .dot output using Gephi.

Setup

Configure System

  • Install Java on Ubuntu (e.g., openjdk 21)
  • Install latest dotnet on Ubuntu
  • Install NET8.0: https://learn.microsoft.com/en-us/dotnet/core/install/linux-debian?tabs=dotnet8

  • Check:

sh $ dotnet --list-sdks 8.0.117 [/usr/lib/dotnet/sdk] $ dotnet --list-runtimes Microsoft.AspNetCore.App 8.0.17 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 8.0.17 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

Configure VS Code

  • Install Visual Studio Code (suggested)
  • Install C# Dev Kit: https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit

Usage

Opening the Project Solution

Clone the repository and move into the project folder:

sh $ cd BiggerBenchmarkSolution

Open the VS Project Solution via the terminal:

sh $ code .

vscode screenshot

Understanding the Folder Structure

``` /BiggerBenchmarkSolution/ ├── CAP2/ │ ├── TestCAP.csproj │ └── Program.cs ├── SSR3/ │ ├── TestSSR.csproj │ └── Program.cs ├── btsLib/ │ ├── btsLib.csproj │ └── ReactionGraph.cs ├── assets/ │ ├── cap2 │ ├── cap3 │ ├── ssr2 │ ├── ssr3 │ └── ... └── BiggerBenchmark.sln

```

Note that the model checking procedure is defined in each project's Program.cs.

The project is divided into several use cases and a shared class library.

🔹 CAP/: Contains the Concurrent Append Problem project for n "processes".

🔹 SSR/: Contains the Self-Sorting Robots project for n "robots".

🔹 btsLib/: A shared class library that defines core data structures used by both CAP and SSR projects.

🔹 assets/: Contains original source files used for re-generating GrGen.NET artifacts (*.gm, *.grs, *.cs). Derived from Bigraph Ecore/XMI models for CAP and SSR problems (e.g., cap2, ssr3).

Running the Benchmarks

Note: If /opt/grgen/ is not your default installation path of GrGen.NET, you have to change some settings in the *.csproj files.

For example, to run the benchmark for the self-sorting robots problem with 2 robots:

```sh

First build the project (from the folder /BiggerBenchmarkSolution)

$ dotnet build SSR2/SSR2.csproj ```

Then, to run the specific project:

sh $ dotnet run --project SSR2/SSR2.csproj

After completion, some files that will be exported into the folder BiggerBenchmarkSolution/SSR2/bin/Debug/net8.0/ are:

  • The individual states in *.vcg format
  • The transition system as DOT file

You can visualize each system state .vcg using ycomp since GrGen.NET is installed:

```shell

From BiggerBenchmarkSolution/SSR2/bin/Debug/net8.0/states/

$ ycomp state_0.vcg ```

State of the self-sorting robots problem for 2 robots

Regenerating GrGen.NET Model Files

(Optional) For reproducibility, the GrGen.NET graph and rule model files and libraries (*.gm, *.grs, *.cs) can be regenerated from the original Bigraph model files provided in the assets/ directory. To regenerate the GrGen.NET files, you have to rerun the BiGGer tool (which is shipped with this project). These model files have been created using Bigraph Framework. The specific code is available also within the unit tests.

The general procedure is as follows:

  • First, follow the README.txt within each sample folder (e.g., BiggerBenchmarkSolution/assets/ssr2/README.txt)

  • Then, execute (e.g., at BiggerBenchmarkSolution/assets/ssr2/):

$ GrGen -keep ./foo/ruleset.grg

/usr/bin/mono The generated files will be kept in: ./foo/tmpgrgen0 Building libraries... - Model assembly "./foo/lgsp-metamodel_graphModel.dll" generated. - Actions assembly "./foo/lgsp-rulesetActions.dll" generated.

$ cp export.grs foo/

$ cd foo && GrShell export.grs, then CTRL+C and cd ..

Finally, copy all required files into the specific project folder of your choice (e.g., BiggerBenchmarkSolution/SSR2):

  • initial_graph.grs, metamodel_graph.gm, ruleset.grg, metamodel_graphModel.cs, rulesetActions.cs
  • e.g.,: cp foo/initial_graph.grs foo/metamodel_graph.gm foo/ruleset.grg foo/tmpgrgen0/metamodel_graphModel.cs foo/tmpgrgen0/rulesetActions.cs ../../SSR2/

Development

Note: If /opt/grgen/ is not your default installation path of GrGen.NET, you have to change some settings in the *.csproj files.

Project Setup

```sh

Create the library of data structures

$ dotnet new classlib -n btsLib

Add it to the solution

$ dotnet sln add btsLib/btsLib.csproj

Reference the library in other projects

$ dotnet add TestApp/TestApp.csproj reference btsLib/btsLib.csproj ```

Adding a New Use Case

First, configure the Studio project files:

sh $ dotnet new console -n NewUseCase $ dotnet add NewUseCase/NewUseCase.csproj reference btsLib/btsLib.csproj $ dotnet sln add NewUseCase/NewUseCase.csproj

Copy the template files from the assets folder to the new use case project folder:

sh $ cp assets/Program.template.cs NewUseCase/Program.cs $ cp assets/Project.template.csproj NewUseCase/NewUseCase.csproj

If necessary, adjust the dotnet version or GrGen.NET path in the *.csproj.

How to Cite the Benchmark

BibTeX:

bibtex @article{grzelak_ImprovingBigraphRewriting_2025, title = {Improving {{Bigraph Rewriting}} with {{GrGen}}.{{NET}} to {{Enable Efficient System Simulation}}}, author = {Grzelak, Dominik and Hamann, Markus}, year = {2025}, month = jun, journal = {Form. Asp. Comput.}, issn = {0934-5043}, doi = {10.1145/3736704} }

References

  • Tooling:
    • D. Grzelak, “BiGGer: a model transformation tool written in java for bigraph rewriting in grgen.net,” Journal of Open Source Software, vol. 9, no. 98, p. 6491, Jun. 2024, doi: 10.21105/joss.06491
    • Code: https://github.com/bigraph-toolkit-suite/bigraphs.grgen-bigraphs
    • It contains the Java code to re-generate the bigraphical models (Ecore/XMI format) in the unit tests
    • BiGGer Slides (Accompanying slide set explaining how to simulate bigraphs using GrGen.NET with the BiGGer tool): https://doi.org/10.25368/2025.146
  • Theory:
    • D. Grzelak and M. Hamann, “Improving Bigraph Rewriting with GrGen.NET to Enable Efficient System Simulation,” Form. Asp. Comput., Jun. 2025, doi: 10.1145/3736704.

License

MIT License

Owner

  • Name: Bigraph Toolkit Suite
  • Login: bigraph-toolkit-suite
  • Kind: organization

BTS refers to a software product family for the research and development of bigraphical reactive systems.

Citation (CITATION.cff)

cff-version: "1.2.0"
message: "If you use this software, please cite the following publication."
authors:
  - family-names: Grzelak
    given-names: Dominik
  - family-names: Hamann
    given-names: Markus
preferred-citation:
  type: article
  title: "Improving Bigraph Rewriting with GrGen.NET to Enable Efficient System Simulation"
  authors:
    - family-names: Grzelak
      given-names: Dominik
    - family-names: Hamann
      given-names: Markus
  doi: 10.1145/3736704
  journal: Form. Asp. Comput.
  date-published: 2025-06
  issn: 0934-5043
  url: https://doi.org/10.1145/3736704

GitHub Events

Total
  • Push event: 3
  • Public event: 1
Last Year
  • Push event: 3
  • Public event: 1

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 3
  • Total Committers: 1
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 3
  • Committers: 1
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Dominik Grzelak d****k@o****t 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

SSR6/SSR6.csproj nuget
  • System.CodeDom 8.0.0
CAP2/CAP2.csproj nuget
  • System.CodeDom 8.0.0
CAP3/CAP3.csproj nuget
  • System.CodeDom 8.0.0
SSR2/SSR2.csproj nuget
  • System.CodeDom 8.0.0
SSR3/SSR3.csproj nuget
  • System.CodeDom 8.0.0
SSR4/SSR4.csproj nuget
  • System.CodeDom 8.0.0
SSR5/SSR5.csproj nuget
  • System.CodeDom 8.0.0
assets/Project.template.csproj nuget
  • System.CodeDom 8.0.0
btsLib/btsLib.csproj nuget