Cilia/Cilia Environment

From Wiki Adele Team
Jump to: navigation, search

The Cilia environment provides a set of editors for creation of models used to describe mediation applications. Three editors have been developed, a Basic element editor, a Type (mediators and adapters) editor and finally and Application editor. Those editors are Eclipse compliant and they have been created using EMF/GMF technologies.

Basic Element Editor

It allows creation of models containing definition of basic Cilia Elements: Schedulers, Processors, Dispatchers.

Basic Element Editor Snapshot:

Basic Editor

Types (Mediator and Adapter) Editor

This editor provides support for creation of Adapters and Mediator types. For creating a Mediator type, the editor uses definition of basic elements.

Types-Editor-1.png


Mediation Application Editor

This editor provides support for creation of mediation applications that can be directly deployed in an Cilia runtime for execution.

App-Editor-1.png

Relation among editors

The Basic editor produces models that are consumed by the Type editor in order to create its own models. As we have presented in Cilia overview, a mediator type is defined by its three constituent elements (defined in basic models). In the same way, mediation applications are defined using mediator and adapter types, so the Application editor uses models produced by the Type Editor.

In order to decouple models definition and location, each editor can load definitions from a defined repository. In addition, each editor can export its definition in a predefined repository. In the case of Application editor, export action corresponds to deployment of an application model in a Cilia execution runtime.

Future Work

Currently the Cilia environment only produces models of different elements, but implementation of them is not yet supported. We hope in a near future also produce code skeletons, metadata file and maven pom files in order to provides a complete support in the Cilia application lifecycle (design, implementation and deployment).