This project provides a quick introduction on how to setup, configure and use the Bigraph Framework.
This main class org.example.MainBigraphApplication creates a signature and two bigraphs first, and performs the following operations afterwards:
- The two bigraphs are composed
- A reactive system is created, a matching conducted and the agent rewritten
- A bigraph is converted to the BigraphER specification language format
This project is best worked with using IntelliJ IDEA:
- Open the project in IntelliJ IDEA
- Run the application
This project works with Maven or Gradle for dependency management and building. Below are the instructions to configure and build the project using Maven or Gradle.
All the dependencies are included in the generated JAR.
# Create the executable JAR
$ mvn clean package -PfatJar
# Execute the application
$ java -jar ./target/fatJar-empty-project-skeleton-bigraphframework-VERSION.jarThe necessary dependencies are installed in your local Maven repository, and also copied in a local folder next to the
generated JAR and referred to at runtime.
That is, the classpath in the MANIFEST.MF is set to libs/ (relative to the generated JAR).
# Create the executable JAR
$ mvn clean install -PlocalLib
# Execute the application
$ java -jar ./target/localLib-empty-project-skeleton-bigraphframework-VERSION.jarThe necessary dependencies are installed in your local Maven repository, which is where the generated application refers to.
That is, the classpath in the MANIFEST.MF is set to ~/.m2/repository/.
# Create the executable JAR
$ mvn clean install -PlocalM2
# Execute the application
$ java -jar ./target/localM2-empty-project-skeleton-bigraphframework-VERSION.jarVerify that you have Gradle >= 8.4 installed:
$ gradle -vRun the following command to build the project:
$ gradle buildTo run the project:
$ ./gradlew runGradle Wrapper
You can execute the Gradle build with the help of the Gradle Wrapper.
To use the Gradle Wrapper on a Windows machine for this project:
$ gradlew.bat build
$ gradlew.bat runOn a Linux machine:
$ ./gradlew build
$ ./gradlew run