https://github.com/bigraph-toolkit-suite/bigraphs-by-examples.vendingmachine-webservice
Database-driven Object-oriented Bigraphs with RESTful Interactions
https://github.com/bigraph-toolkit-suite/bigraphs-by-examples.vendingmachine-webservice
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 2 committers (50.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Repository
Database-driven Object-oriented Bigraphs with RESTful Interactions
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Bigraphs by Examples: A RESTful Vending Machine
Features
- A project template for "database-driven object-oriented bigraphs"
- Suitable to abstract from and build some code generation around
- Application data and logic is stored fully within a database as bigraphs
- Bigraphical reactions are initiated by REST requests
- State of the application can be changed
- At run-time: by changing the database model
- At design-time: by changing the initial agent, rules and predicates loaded at startup within the folder
src/main/resources
- Behavior of the application is model checked
- Results of the analysis is used for the application
Interesting Future Work
- Support runtime monitoring of the BRS specification in case the architecture is refactored in a way that violates the original specification
Requirements
- Java >=17
- Maven 3.8.7
- Spring 3.3.5
- Bigraph Framework 2.2.0
- BDSL 2.0.1
- CDO for Spring Data 0.7.5
Optional - CDO Explorer: to view and modify the bigraph in the database 1) Download CDO Explorer via the Eclipse Installer. Use Eclipse Version 2022-12 (4.26.0), which supports CDO protocol version 48. Eclipse IDE version 2023-09 supports only CDO protocol version 49. 2) Any Eclipse IDE with CDO support, must support CDO protocol version 48
Screenshots
|
|
|
|-------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
| Screenshot of the UI: The web UI allows interaction with the vending machine. | Screenshot of the CDO Explorer: Bigraphs are stored as Ecore models in a database. |
Getting Started
Via the IDE (Eclipse or IntelliJ IDEA)
- Run the class
src/main/java/org/example/Application.java - Wait until you see in the terminal: "Application has successfully started ..."
Via the Terminal
Using Maven, issue the following command:
shell
$ mvn clean package -DskipTests
The JAR file is created within the target folder of the project's root folder.
To run the application JAR file, execute the following command:
shell
$ java -jar ./target/code-samples-1.0-SNAPSHOT.jar
- Wait until you see in the terminal: "Application has successfully started ..."
Open the Browser
Afterward, open any browser and go to the following URL: http://localhost:8080/
Remarks
Database & Configuration
- The database configuration file is stored here:
src/main/resources/config/cdo-server.xml - Every time the application starts, a fresh in-memory CDO database is created
The state of the program is not persisted, when the application is shut down
Listeners for concrete objects in CDO can be attached before they are stored in the database
- but it is recommended to register listeners after
Analysis
- Analysis is placed in the
./src/testfolder of this project - Execute the unit tests to perform the analysis
With the IDE or via Maven
mvn -Dtest=Analysis testThe results are stored in the resource folder
- Rules, predicates and the metamodel
The results are re-used for the implementation
Owner
- Name: Bigraph Toolkit Suite
- Login: bigraph-toolkit-suite
- Kind: organization
- Website: www.bigraphs.org
- Repositories: 1
- Profile: https://github.com/bigraph-toolkit-suite
BTS refers to a software product family for the research and development of bigraphical reactive systems.
GitHub Events
Total
- Push event: 4
Last Year
- Push event: 4
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Dominik Grzelak | d****k@o****t | 5 |
| Dominik Grzelak | d****k@t****e | 5 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 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