A Domain-Specific Language and Java Code Generation for Ensemble Systems with the Eclipse Language Workbench Xtext

Zusammenfassung:

Advanced applications are constantly growing larger and more complex. Such systems are often distributed having huge numbers of involved nodes. To model this kind of complex and distributed software systems, the Helena approach proposes techniques for modeling ensembles. An ensemble is understood as a collection of autonomic entities that collaborate towards a global goal. The Helena approach is centered around the notion of roles. Entities called components can adopt roles and participate in task-oriented collaborations called ensembles. To implement and execute ensembles, the jHelena framework can be used, which maps the formal Helena syntax and semantics to Java classes. However, in order to implement Helena applications in Java using the jHelena framework, a lot of code has to be written. Furthermore, the code has to be implemented according to the Helena constraints. Compliance with the constraints is not checked by the jHelena framework until the application is executed. In order to facilitate the implementation process of Helena applications, this thesis has the goal to provide the domain specific language HelenaText and a corresponding Eclipse plug-in. The HelenaText plug-in was developed using the Xtext workbench. It provides the possibility to implement Helena applications using a specific editor that supports syntax highlighting and code completion. The concise and expressive HelenaText syntax lets the user implement Helena applications intuitively. A code validator is part of the plug-in that checks the HelenaText code for validity according to the Helena constraints. Furthermore, the plug-in provides a code generator which automatically translates HelenaText into executable jHelena code. Both code validator and generator were implemented using the programming language Xtend.

Download:
N/A