Skip to content The Open University

Role-Based Adaptive Modeling Framework `Epsilon' and a Case Study

We propose an adaptive system design framework based on our ``Epsilon" modeling concept and language. The core of Epsilon modeling is the notion of roles and how roles interact each other in a defined context. In Epsilon, an environment is defined as a field of collaboration between roles and an object adapts to the environment assuming one of the roles. Objects can freely enter or leave environments and belong to multiple environments at a time so that dynamic adaptation or evolution of objects is realized. Environments and roles are the first class constructs at runtime as well as at model description time so that separation of concerns is not only materialized as a static structure but also observed as behaviors. Environments encapsulating collaboration are independent reuse components to be deployed separately from objects. The Epsilon framework starts with the requirements phase, where the i* methodology is used for constructing RE models targeting Epsilon. Then, the model is represented in UML, extended with stereotypes: "context" and "role". The model is transformed into an executable code in EpsilonJ/Java, using the model transformation language ATL. A case study was conducted, taking a problem from the multi-agent community, the ``Traffic Jam Monitoring" problem. It requires context-driven dynamic collaboration between traffic monitoring devices. Lastly, we briefly discuss the innate difficulty of constructing self-adaptive systems.