You are here: Welcome to service-technology.org » Tools » Greta: a Graphical Runtime Environment for Adaptive Processes

Greta: a 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, workflows, and processes is a tedious and error prone task as the requirements and dynamics of different users and stakeholders of a system influence each other. The concept of a scenario as a piece of behavior that is relevant to a specific user helps structuring these requirements and dynamics. 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.

 The behavior of a system is specified by a set of scenarios.

Greta is a tool for modeling distributed behavior with scenarios. Greta can directly construct runs from scenarios with its operational behavioral semantics. This even allows to change the scenarios of a system a run-time.

Greta constructs runs from scenarios.

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.

  • Dirk Fahland and Heiko Woith. Towards Process Models for Disaster Response. In A.t. Hofstede M. de Leoni, S. Dustdar, editors, Process Management for Highly Dynamic and Pervasive Scenarios, 1st International Workshop, PM4HDPS'08, co-located with BPM'08, Milan, Italy, September 2008. Note: LNCS to appear.

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

Get Greta

Download

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/.

Run Greta as a standalone application

You can run Greta as a standalone application based on our tool Seda. Download the pre-compiled Seda package for your system and install Greta as a plugin of Seda as explained below.

Install Greta as an Eclipse feature

The easiest way to get Greta running on your machine is to install Great as an Eclipse feature using our Eclipse update site at http://download.gna.org/service-tech/greta/updatesite/. To install Greta take the following steps.

  1. Start Eclipse and open Help > Software Updates….
  2. Choose Available Software.
  3. Add Site… by entering
  4. Open the ”Greta Updates” entry, check ”Greta”, and
  5. click Install…; Eclipse will resolve all dependencies (see requirements) and present the packages it will download and install to run Greta.
  6. Finish
  7. Confirm the License agreement, and proceed in the install wizard.
  8. When you are prompted to restart Eclipse, do so; when Eclipse is up again, you can start using Greta.

Requirements

Basic setup

Greta is implemented as an Eclipse feature consisting of several Eclipse plugins. If you install Greta as an Eclipse plugin on your own Eclipse installation, we require the following software components and plugins:

Depending on the Eclipse version you have downloaded/you are using, some or all of these features are already included in your Eclipse installation. Likewise, the default Eclipse update site may have these features ready for download for you.

Update Greta

Updates for Greta are deployed via the Eclipse update mechanism; use Help > Software Updates … > Installed Software > Update… to update your Greta installation.

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 (.zip)
  2. Open Eclipse/Greta, create a new General Project (name: greta examples) and import the example .zip into the new project (right-click on the project, Import … > Archive File)
  3. Open the process file greta examples/PM4HDPS08/flood.adaptiveprocess_diagram.

     Main window of Greta.
  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 o1,…,o6. These are oclets, describing the scenarios of your adaptive process. Oclet o5 is an anti-oclet, the other oclets are qualified oclets (in the current implementation, the header of a qualified oclet will state “normal”). Oclets are acyclic Petri nets consisting of two parts: The precondition 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

Validating an Greta model.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 following toolbar.

 Greta Simulation Toolbar

The controls are explained from right to left:

  • 5. Start/stop simulation. - Open a process model for simulation and click the Start simulation button to begin the simulation. This will enable all other controls 2-4. Clicking this button again will stop the simulation.
  • 4. Go a large step in the simulation. - This will extend the current process instance with a complete scenario; you can execute the extended process instance by firing enabled transitions step by step. This mode of execution is explained in more detailed below.
  • 3. Go a single step in the simulation. - 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.)

 Animated execution of processes in Greta. The animated execution with large steps (button number 4) may be more comprehensible than the execution with single steps(button number 3). Execution with large and small steps requires the following user-interaction:

  1. Extend the current process instance by clicking the go one step in adaptive process button (A with an arrow) in the toolbar. This will extend the current instance by all applicable qualified oclets and disable branches which are forbidden by an anti-oclet.
  2. All enabled transitions are highlighted blue.
  3. Fire one enabled transition by selecting (clicking on) it.
  4. The go one step 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/.