Giter Site home page Giter Site logo

ggggg's Introduction

GGGGG

Simple tool for transforming 5G UML models to UPPAAL models.

Installation

Prerequisites

You need Python (it has been tested with 3.7.6) as well as pip (python package installation tool). Moreover, it is also required to have UPPAAL [1] available on your computer.

Installation instructions (MacOS/Linux)

Retrieve the source code by downloading (and extracting) ZIP-archive or using git:

git clone https://github.com/ptrbman/GGGGG.git

Afterwards, it is recommended to create a virtual environment:

cd GGGGG
python -m venv pyenv
source pyenv/bin/activate

Now install the required packages using pip:

pip install -r requirements.txt

Start the program by running the following in the root directory of the application:

python -m ggggg

Installation instructions (Windows)

Retrieve the source code by downloading (and extracting) ZIP-archive or using git:

git clone https://github.com/ptrbman/GGGGG.git

Afterwards, it is recommended to create a virtual environment:

cd GGGGGG
py -m venv pyenv
pyenv\Scripts\activate

Now install the required packages using pip:

pip install -r requirements.txt

Start the program by running the following in the root directory of the application:

python -m ggggg

GGGGG Window

First time

In the settings tab you must select the location of the verifyta and uppaal binaries of the UPPAAL tool.

Loading Instance

The application supports loading instances defined as a soil-script generated by the USE-tool [2].

Details Tab

In the details tab, details of the system are presented. It is also possible to search for a mapping which meets all deadlines. Note that UPPAAL is run in the background and the program does not resume until the search is finished. If the search takes a long time the program will freeze. The search is also highly sensitive to the values of Executors and Message Queue Length which are set in the settings tab.

Verification Tab

In the verification tab it is possible to generate a UPPAAL model and check certain queries. The UPPAAL model generated will use the parameters Executors and Message Queue Length. Note that when a button is pressed, UPPAAL is run in the background and the program does not resume until query is finished. If the query takes a long time the program will freeze.

K-Fault

In this tab it is possible to perform K-fault tolerance check (currently k is always set to one and only hosts are removed). Note that when check is pressed, UPPAAL is run in the background and the program does not resume until query is finished. If the query takes a long time the program will freeze. It is also possible to select one of the found mappings and press "Study" to open that scenario in UPPAAL.

Settings Tab

Here it is possible to set the location of the UPPAAL binaries as well as the parameters Executors and Message Queue Length.

Further Reading

The UML framework used is described in [3] and [4].

References

[1] https://uppaal.org/

[2] https://sourceforge.net/projects/useocl/

[3] UML-based Modeling and Analysis of 5G Service Orchestration (Nov 2020) Ashalatha Kunnappilly, Peter Backeman, Cristina Seceleanu THE 27TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2020)

[4] From UML Modeling to UPPAAL Model checking of 5G Dynamic Service Orchestration (May 2021) Ashalatha Kunnappilly, Peter Backeman, Cristina Seceleanu 7th international Conference on the Engineering of Computer Based Systems (ECBS 2021)

ggggg's People

Contributors

ptrbman avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.