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:
- 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
- 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:
- ECNO notation:
- Inheritance on coordination sets of an element type.
- Replace notion of GUI element and event types by
an explicit mechanism of visibility.
- 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:
- 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.
|
|