https://github.com/bigraph-toolkit-suite/project-skeleton-for-bigraph-framework
This is a project skeleton for using Bigraph Framework. This project provides a quick introduction on how to setup and configure a Maven project.
https://github.com/bigraph-toolkit-suite/project-skeleton-for-bigraph-framework
bigraphs java template-project
Last synced: 28 days ago
JSON representation
This is a project skeleton for using Bigraph Framework. This project provides a quick introduction on how to setup and configure a Maven project.
- Host: GitHub
- URL: https://github.com/bigraph-toolkit-suite/project-skeleton-for-bigraph-framework
- Owner: bigraph-toolkit-suite
- Created: 2023-10-29T16:24:54.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-11T22:26:37.000Z (over 1 year ago)
- Last Synced: 2025-01-26T01:19:02.802Z (over 1 year ago)
- Topics: bigraphs, java, template-project
- Language: Java
- Homepage:
- Size: 21.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Quickstart Project Template for Bigraph Framework
This project provides a quick introduction on how to use and include 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
**Screenshot**

## Getting Started
This project is best worked with using:
- Open the project in IntelliJ IDEA / Eclipse / Visual Code / ...
- Run the application within the IDE
Alternatively, the application can be built and started from the command line.
The project supports both Maven and Gradle for dependency management and builds.
The following sections describe how to configure and build the project using either tool.
### Maven
#### Create a Fat-JAR / Uber-JAR
All the dependencies are included in the generated JAR.
```shell
# Create the executable JAR
$ mvn clean package -PfatJar
# Execute the application
$ java -jar ./target/fatJar-empty-project-skeleton-bigraphframework-2.4.1.jar
```
#### Classpath-Approach (1): Relative Libs-Folder
The 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).
```shell
# Create the executable JAR
$ mvn clean install -PlocalLib
# Execute the application
$ java -jar ./target/localLib-empty-project-skeleton-bigraphframework-2.4.1.jar
```
#### Classpath-Approach (2): Local Maven Repository
The 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/`.
```shell
# Create the executable JAR
$ mvn clean install -PlocalM2
# Execute the application
$ java -jar ./target/localM2-empty-project-skeleton-bigraphframework-2.4.1.jar
```
### Gradle
Verify that you have Gradle >= 8.4 installed:
```shell
$ gradle -v
```
Run the following command to build the project:
```shell
$ gradle build
```
To run the project:
```shell
$ gradle run
```
**Using the Gradle 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:
```shell
$ gradlew.bat build
$ gradlew.bat run
```
On a Linux machine:
```shell
$ ./gradlew build
$ ./gradlew run
```