DTU 
 

 

ECNO Tool version 0.3.2

ECNO: Overview

 

The Event Coordination Notation (ECNO) is a notation to coordinate the behaviour among related model elements that are defined in structural diagrams such as class diagrams. The ECNO allows the definition of events and provides means for defining how different related model events need to join or participate in the execution of these events: an interaction. This is defined by ECNO's coordination diagrams.

 

The local behaviour of each element defines the life cycle for each element: it defines, when an element can participate in which events, which parameters the element contributes to the even, and which action is executed once an interaction is established and executed.

 

The ECNO Tool provides editors for ECNO's coordiation diagrams and for ECNO nets for defininge the local behaviour. From these models together with some configuration information, the ECNO Tool allows to generate code, which can be executed by the ECNO execution engine. In addition there is a ECNO programming framework for realizing customized GUIs or own controllers, for executing interactions.

 

Some ECNO example models are deployed together with the ECNO Tool.

 

Version 0.3.2

 

Version 0.3.2 of the ECNO Tool was released in May 2014 based on Eclipse and the Eclipse Modeling Framework (EMF) and all major features are implemented now.

 

Along with the release an extensiv technical report [1] was published, which discusses the motivation and objective of ECNO, its concents and notations, as well as the use of the ECNO Tool and the ECNO programming framework. In this report, you will find all information you need for installing and using the ECNO Tool as well as getting started with the examples.

 

Version 0.3.2 of the ECNO works (was tested) with Eclipse Indigo (3.7), Juno (4.2), and Kepler (4.3) on top of the Eclipse Modeling Framework (EMF). It seems to work (not thoroughly tested yet) also for Eclipse Luna (4.4). You will find detailed installation instructions in Appendix B of the technical report [1], which also gives an overview of the examples that are deployed together with the ECNO Tool.

 

For the impatient, you can directly install the ECNO Tool in Eclipse from our ECNO update site for version 0.3.2: http://www2.imm.dtu.dk/~ekki/projects/ECNO/download/releases/0.3.2/. But, we recommend that only users with some experience with Eclipse and EMF do that (you also need to install some EMF extensions).

 

Release notes

 

The main features of the ECNO engine version 0.3.2 are:

  1. ECNO notation:
    • Definition of event types with parameters
    • Collective parameters for events
    • Inheritance on event types (specialization and extension)
    • ECNO nets for modelling the local behaviour of elements
    • Inhertiance of element behaviour (local behaviour)
    • Local behaviour with parallel execution of events
    • Elements with triggering/counting events
    • Coordination annotations with qualifier "ONE" and "ALL"
    • Elements may have different coordination sets for the same event type
    • Priorities for coordination sets
    • GUI properties indicated for which elements and event types GUI elements should be created
    • Import mechanisms so that an ECNO application can be built from different models and packages
  2. ECNO framework:
    • Engine that calculates and executes valid interactions.
    • Programming interface for adapters to different object oriented technologies
    • Code generator for local behaviour and adapters on top of EMF models
    • Transactional execution of interactions
    • Controller and notification mechanism, which automatically keeps possible interactions up to date (in particular the ones shown on the GUI)
    • Programming framework for customizing GUIs, and the automatic execution of interactions
    • Strategies for computing valid interactions
    • Undo/redo-mechanism for interactions (when they run as Eclipse applications)
    • Possibility to save the state of an ECNO application in a file, from which the application can be resumed later again
Some features that are not implemented in version 0.3.2, but might be implemented in a future version:
  1. ECNO notation:
    • Inheritance on coordination sets of an element type.
    • Replace notion of GUI element and event types by an explicit mechanism of visibility.
  2. ECNO framework:
    • Persistence mechanism that saves the state of an ECNO application in a database (maybe using Hibernate)
    • A domain specific language for modelling the GUI of an ECNO application
    • A debugger for ECNO applications
    • Improving the IDE (e.g. improved error markers, automatic build, ...)
Documentation

 

There are several publications on ECNO now. The most comprehensive one is the following technical report, which covers the objective and motivation, the concepts and notations of ECNO, as well as technical information on how to use the ECNO Tool and its programming framework:

  1. Ekkart Kindler: Coordinating Interactions: The Event Coordination Notation. DTU Compute Technical Report 2014-05, Technical University of Denmark, May 2014.

     

You will find more references on the ECNO Home page.

 

 

Ekkart Kindler (), May 13, 2014 (last updated July 10, 2014)