Forschungsthemen
[MA] Design and Implementation of Role-based Architectural Event Modules
Complex software systems are usually developed as systems of systems in which multiple applications are composed together to fulfill desired system-level requirements. However, since the constituent applications are developed independently, there might be some undesirable (implicit) interactions among them, which prevent the system-level requirements to be fulfilled. Therefore, it is necessary to coordinate the interactions of the constituent applications towards meeting the system-level requirements.
Due to the inherent decoupling of constituent applications, event-based mechanisms are promising candidates to define and apply coordination to the constituent applications. We have been developing the concept of architectural event modules as a purely event-based component model for composing multiple constituent applications with each other, and for coordinating their interactions. Our recent developments reveal that constituent applications must be extended with event-based proxies, which facilitate implementing peer-to-peer coordination rules in a modular way. These proxies may be applied to the constituent applications statically or dynamically. We also observe analogies between these proxies and the notion of roles in the Role-Object pattern. We would like to elaborate this more in this assignment.
An initial design and implementation of the EventReactor/ADL exist, in which architectural event modules are implement. In this assignment, the student is expected to
1.Elaborate the concept of role-based proxies and study their analogies to roles
2.Study means to context-sensitive coordination rules via such proxies/roles
3.Propose necessary extensions to architectural event modules to support proxies/roles
4.Extend the implementation of the EventReactor/ADL accordingly
5.Illustrate the suitability of the language by implementing a set of examples in the EventReactor/ADL language
Since systems of systems, event-based architectural description languages (ADLs) as well as role-based systems are finding their way in many application domains, this assignment will help the student to gain in-depth knowledge about these topics.
The student is expected to have background on Roles and ADLs, and be familiar with Java programming and Eclipse environment.
Betreuer: Somayeh Malakuti-:#-#:- Sebastian Götz