Skip to content

DanielKonsek/sd-simulate

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

SD-Simulate

A simple way to view and simulate UML state diagrams
About the Project · Getting Started · Usage

About The Project

Product Name Screen Shot

With this tool, you can display, execute and analyze UML state diagrams to get a better understanding of how transitions and regions interact with each other. Supported analyses:

  • generate the corresponding reachability graph
  • reachability analysis
  • maxnode analysis to find a transition sequence covering as many states as possible
  • maxtransition analysis to find the longest transition sequence possible

(back to top)

Getting Started

Prerequisites

In order to use this tool, you will need to install Python as well as Graphviz on your device.

  • The latest version of Python can be found here.
  • The latest version of Graphviz can be found here.

Installation

If you are having trouble installing the required Python3 Libraries see here.

  1. Clone the repository
    git clone https://github.com/fmidue/sd-simulate
    or Download and save locally
  2. Install Cairosvg
    pip install cairosvg
  3. Install Graphviz-pylib
    pip install graphviz
  4. Install Pycairo
    pip install pycairo
  5. Navigate to and run main.py

(back to top)

Usage


[Load UML Diagram] and navigate to the .svg or .txt file containing your graph
[Show containment] to highlight the currently active region in red
[Hint] to highlight the currently reachable states
[Show State Diagram Graph] to generate the corresponding reachability graph
[Reachability analysis] find all reachable states from the initial state
[Max Node Analysis] find a transition sequence that contains as many states as possible
[Max transition Analysis] to find a transition sequence that contains as many transitions as possible

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%