Skip to content
forked from ftsrg/gamma

The Gamma Statechart Composition Framework

Notifications You must be signed in to change notification settings

TheKorpos/gamma

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Gamma Statechart Composition Framework

Version 2.1.0

The Gamma Statechart Composition Framework is a toolset to model, verify and generate code for component-based reactive systems. The framework builds on Yakindu, an open source statechart modeling tool and provides an additional modeling layer to instatiate a communicating network of statecharts. Compositionality is hierarchical, which facilitates the creation of reusable component libraries. Individual statecharts, as well as composite statechart networks can be validated and verified by an automated translation to UPPAAL, a model checker for timed automata. Once a complete model is built, designers can use the code generation functionality of the framework, which can generate Java code for the whole system.

Check http://gamma.inf.mit.bme.hu for more resources about Gamma. A good starting point is our tool paper, slides and demo video presented at ICSE 2018.

To cite Gamma, please cite the following paper.

@inproceedings{DBLP:conf/icse/MolnarGVMV18,
  author    = {Vince Moln{\'{a}}r and
               Bence Graics and
               Andr{\'{a}}s V{\"{o}}r{\"{o}}s and
               Istv{\'{a}}n Majzik and
               D{\'{a}}niel Varr{\'{o}}},
  title     = {The Gamma statechart composition framework: design, verification
               and code generation for component-based reactive systems},
  booktitle = {Proceedings of the 40th International Conference on Software Engineering:
               Companion Proceeedings, {ICSE} 2018, Gothenburg, Sweden, May 27 -
               June 03, 2018},
  pages     = {113--116},
  year      = {2018},
  doi       = {10.1145/3183440.3183489}
}

Using Gamma

Dependencies

Recommended Eclipse version and bundle:
  • Eclipse Photon 1, Eclipse IDE for Java and DSL Developers bundle.
3rd-party Eclipse components (should be installed separately):
3rd-party tools used by Gamma (should be installed separately):

Installation

  • Have an Eclipse instance with EMF and Xtext and Java 1.8.
  • Install VIATRA 2.1.0 and the Yakindu Statechart Tools 3.5.2.
  • Exit Eclipse and extract the Gamma zip file into the root folder of Eclipse (this will create the plugins directory in the dropins folder, containing the JAR file of the Gamma).
  • When starting Eclipse for the first time, you might need to start it with the -clean flag.
  • Check if the plugin installed successfully in Help > About Eclipse and by clicking Installation Details. On the Plug-ins tab, sort the entries by Plugin-in Id and look for entries starting with hu.bme.mit.gamma.
  • For formal verification, download and extract UPPAAL. In order to let Gamma find the UPPAAL executables, add the bin-Win32 or bin-Linux folder to the path environment variable (depending on the operating system being used).

Tutorials

The tutorials for the framework can be found in the following folder.

Contact

Contact us by sending an e-mail to gamma [at] mit.bme.hu.

Acknowledgement

Supporters of the Gamma project:

Special thanks to:

  • András Vörös,
  • Oszkár Semeráth,
  • Kristóf Marussy,
  • Ákos Hajdu,
  • Dániel Varró,
  • István Ráth,
  • Zoltán Micskei,
  • István Majzik,
  • IncQuery Labs Ltd.

About

The Gamma Statechart Composition Framework

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Xtend 54.7%
  • Java 43.8%
  • HTML 1.1%
  • q 0.4%