Graphical Modeling Editor for CEP Domain
In this section, we describe our graphical editor that supports the modeling of CEP domains, hiding the implementation details necessary to define such domains from domain experts. This editor has been implemented by using GMF and the Epsilon project.
Thanks to this editor, the domain expert will be able to address the execution of steps 1 and 2 required for defining CEP domains in a user-friendly way, according to our model-driven approach. Therefore, the editor would facilitate for any user, expert in a particular domain but not in CEP, the description of event types and properties for the domain, the validation and storage of a CEP domain model as well as its exportation and importation in order to share it with others users.
The figure below depicts the built editor for CEP domain definition. This editor mainly has four parts:
- A tool palette (right panel) from which the domain experts can select the elements to be incorporated into their models.
- A canvas (central panel) into which users can drag-and-drop event types along with properties for a CEP domain from the palette.
- A menu (top menu bar) that allows them to easily select the editor action to be executed.
- A property view (lower panel) for adding or editing information related to the different elements of a designed model, for example, the specific type of an event property.

Editor Palette
The editor palette has 2 tools for CEP domain design, as depicted in the table below. Although Event and EventProperty have been represented as green icons with letters E and P, respectively, these icons may be replaced by other images at domain experts' request, indicating the path to the new image. This provides more usability as long as event types and their properties can be easily identified by images of a particular domain.
Name | Description | Notation |
---|---|---|
Event | It describes an event type for a concrete CEP domain. | ![]() |
EventProperty | It describes a feature of an event. Nested properties are supported. | ![]() |
This editor checks that the user uses the palette correctly; for instance, if he/she tries to drag and drop an event property directly into the canvas, the editor will not allow it since properties must always be added to events.
Options Menu
The editor's menu bar is available in any Eclipse application. In addition to menus by default, a CEP Domain menu has been added to increase usability. This menu provides the following options:
- New: it creates a new CEP domain.
- Auto-detect Domain: it automatically creates the CEP domain model from events flowing through a SOA 2.0.
- Open: it opens one of the modeled CEP domains.
- Save and Validate: it saves the active domain model and validates it showing encountered problems, if any.
- Delete: it eliminates one of the existing CEP domains.
Moreover, two more options have been added to the File menu:
- Import CEP Domain: it allows the importation of previously defined CEP domains.
- Export CEP Domain: it permits exporting CEP domains modeled by the user if previously validated.