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

bigraphs cdo object-oriented-programming vending-machine
Last synced: 5 months ago · JSON representation

Repository

Database-driven Object-oriented Bigraphs with RESTful Interactions

Basic Info
  • Host: GitHub
  • Owner: bigraph-toolkit-suite
  • License: apache-2.0
  • Language: Java
  • Default Branch: main
  • Homepage:
  • Size: 925 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
bigraphs cdo object-oriented-programming vending-machine
Created almost 3 years ago · Last pushed 6 months ago
Metadata Files
Readme License

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/test folder of this project
  • Execute the unit tests to perform the analysis
  • With the IDE or via Maven mvn -Dtest=Analysis test

  • The 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

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

All Time
  • Total Commits: 10
  • Total Committers: 2
  • Avg Commits per committer: 5.0
  • Development Distribution Score (DDS): 0.5
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 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
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels