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
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
Lastly, we briefly discuss the innate difficulty of constructing