Greta - Graphical Runtime Environment for Adaptive Processes

Greta is a Graphical Runtime Environment for Adaptive Processes based on Eclipse. It provides a graphical editor to create scenario-based specifications of processes. The processes can be executed and analyzed in the editor. Greta can be installed as a Seda plugin.

In the context of service-technology.org, Greta serves as a proof-of-concept tool for adapting process and service behavior at run-time.

Understand Greta

Modeling and analyzing complex services, distributed systems, and processes is a tedious and error prone task. Users and stakeholders of a system have different requirements, and use the system in different ways that mutually influence each other.

Scenarios helps structuring these requirements and dynamics. A scenario is as a piece of behavior that is relevant to a specific user.

However, if the behavior of a system (for instance an emergency management system), is given by a set of scenarios of its users (e.g. medics, fire fighters and emergency managers), the question is: Which behavior can be constructed from the given scenarios?

Greta is a tool for modeling distributed behavior with scenarios. In addition, Greta supports play-out, a technique to directly execute a system from the scenarios that describe it using operational behavioral semantics. This even allows to change the scenarios of a system a run-time.

Case Studies and References to published articles about Greta are listed at the end of this page.

News

  • We released version 2.0.0 of Greta along with Seda. Besides architectural changes, this version fixes a number of bugs in simulation of scenarios with data introduced in v.1.1.1.
    Fetch the new version from our update site http://download.gna.org/service-tech/seda/updates/

  • The latest release of Greta (coming with Seda v1.1.1) supports scenarios with data and abstraction techniques.

Get Greta

From version 2.0.0 on, Greta is released through our update site http://download.gna.org/service-tech/seda/updates/. Greta is a plugin that can be used in Eclipse-based programs.

Install Greta

  1. You need

    • either a copy of Eclipse (version 4.2 or greater), or

    • our application Seda (version 2.0 or greater) which also comes with a bunch of other tools for modeling and analyzing distributed systems using Petri nets (preferred)

  2. Open Help > Install New Software…,

  3. Select our update site http://download.gna.org/service-tech/seda/updates/ (or add it to the available sites using the Add… button)

  4. Select Scenario-Based Techniques > Greta and click Next (make sure to enable 'Contact all update sites during install to find required software' so all packages Greta depends on are installed as well), and

  5. Review the selected features, accepted the license agreement(s), click Finish and Restart the program when asked for by the installer.

Updates

Updates for Greta are deployed via the same URL. To update Greta to a new version, just open Help > Check for Updates and pick a new version of Greta (when available).

License

Greta is released as free software under an EPL/AGPL licensing scheme, and can be used under the terms of

The latest source code is available at our SVN repository at svn://svn.gna.org/svn/service-tech/trunk/greta/.

Use Greta

Quick introduction

Greate can create and open models stored in its own formats .adaptivesystem and .adaptivesystem_diagram. For a very quick start, we suggest to download and open example models from http://download.gna.org/service-tech/greta/caseStudies/. We explain how to use Greta with a small adaptive workflow example.

Open a model

  1. Install Greta and download the Flood Alert Process example

  2. Open Eclipse/Greta, create a new General Project (name: examples) and import the example .zip into the new project (right-click on the project, Import … > Archive File)

  3. Open the process file examples/flood_alert/flood.adaptiveprocess_diagram.

  4. The main windows displays the model consisting of two kinds of processes:

    1. On the left you see a large box with a single blue place idle. This Adaptive Process is an instance of the process model that will be extended and executed during simulation. Currently, it displays the initial state of the system idle.

    2. On the right you see several boxes alerted, build barrier, etc. These are oclets, describing the scenarios of your adaptive process. Oclet false completion is an anti-oclet, the other oclets are normal oclets. Oclets are acyclic Petri nets consisting of two parts: The history and the contribution separated by the horizontal bar.

Editing models

You can edit the oclets and the adaptive process by rearranging places, transition, and arcs. With the tool palette on the right, you can add new net elements, or remove them. You can also add new oclets and remove existing oclets. A process model can have only one Adaptive Process.

Validating models

To validate your process model, click the check well-formedness of oclets button (O with a question mark) in the toolbar. A message box will display diagnostic information in case the model contains an error. Valid oclets will be marked green, invalid oclets will get no marking. You may execute a model that contains invalid oclets, but only the valid ones will be used for the execution. If you modify a validated oclet in a way that may turn it into an invalid one, Greta will observe this and remove the green marking accordingly; press the check button again to re-validate your model.

Executing models

Greta supports the animated execution (simulation) of adaptive processes. After you validated the model, you can execute it in Greta. You can control the execution of process models by the toolbar shown on the right as follows:

  • 4.Start/stop simulation. - Open a process model for simulation and click the Start simulation button to begin the simulation. This will enable controls 2 and 3. Clicking this button again will stop the simulation. Simulation can only be started if the model has been validated beforehand.

  • 3.Fire single event. - Extend the current process instance with a single enabled transition. Clicking this button will show you all enabled transitions on the process instance from which you can choose one to fire. Repeat this procedure to execute the process.

  • 2.Reset the current simulation - Reset the process instance to the initial instance or state that is specified in the process model.

  • 1.Validate the process model - You can modify your process model during execution. Use this button to validate syntactical correctness of your changes also during simulation. (See explanations above for details.)

The animated execution in Greta requires the following user-interaction:

  1. Extend the current process instance by clicking the fire single event button in the toolbar. This will extend the current instance by all enabled events.

  2. All enabled events are highlighted blue.

  3. Fire one enabled event by clicking on it.

  4. The fire single event button is enabled again, you can execute the next step of the process.

  5. You may modify the model at any time during the process execution

You can find more examples to download at http://download.gna.org/service-tech/greta/caseStudies/ and in our SVN repository at svn://svn.gna.org/svn/service-tech/trunk/greta/hub.top.greta.examples/.

Further Reading

Case Studies

  • At the Workshop on Process Management for Highly Dynamic and Pervasive Scenarios 2008 co-located with the Business Process Management conference 2008, a paper was presented containing a case study.

This is the complete list of all case-studies available on service-technology.org that were conducted with Greta:

References

We suggest the following paper to get an overview on the problem that is addressed by Greta.

The mathematical theory that supports Greta and its animated execution is presented in

This is the complete list of all publications related to Greta: