that synchronises the model and the running system.
Although developers can tune how models updates
relate to the system’s adaptation actions, these actions
cannot be orchestrated at runtime.
The EUREMA (Vogel and Giese, 2014) frame-
work supports the design and adaptation of self-
adaptive systems that may involve multiple feedback
loops. Developers explicitly model these feedback
loops, their runtime models, their usage, the flow
of models operations as well as the relationships
between these models. These models are kept alive
at runtime and can be evolved. This approach does
not offer explicit support for controlling the monitor-
ing and enactment transformations. These transform-
ations could however be modelled as a feedback loops
thus making our work complementary.
6 CONCLUSION AND FUTURE
WORK
We presented above an evolution of the classical
models@run-time pattern to better manage the be-
haviour of a models@runtime environment and, in
particular, how the runtime model is synchronised
with the running system. This requires control over
both the monitoring and enactment transformations.
We also described an initial implementation of these
mechanisms.
In future work we will focus on developing a
single models@runtime environment that fully im-
plements the architecture depicted in Fig. 2, while
also handling errors and transactions. In addition,
we plan to apply the mechanism to multi-layered ar-
chitecture. Multi-layered architectures (Sykes et al.,
2008) provide self-adaptive systems with the ability to
adapt themselve to unforeseen circumstances. They
advocates that the layer n + 1 reconfigures the layer
n underneath, recursively until the running system.
However, this multi-layered architecture does not fit
the classical models@runtime approach. The limited
control over monitoring and enactment prevents the
self-adaptive system to change its own adaptation be-
haviour. The extensions we propose allows to over-
come this issue.
ACKNOWLEDGEMENTS
This research has received funding from the European
Community’s FP7 (2007-2013) and H2020 Programs
under grant agreement numbers: FoF-2015.680478
(MC-Suite) and 645372 (ARCADIA).
REFERENCES
Bencomo, N., Grace, P., Flores, C., Hughes, D., and Blair,
G. (2008). Genie: Supporting the model driven devel-
opment of reflective, component-based adaptive sys-
tems. In ICSE, pages 811–814. ACM.
Blair, G., Bencomo, N., and France, R. (2009). Mod-
els@run.time. IEEE Computer, 42(10):22–27.
Cazzola, W., Rossini, N. A., Al-Refai, M., and France, R. B.
(2013). Fine-grained software evolution using uml
activity and class models. In Model-Driven Engineer-
ing Languages and Systems, pages 271–286. Springer.
de Lemos, R., Giese, H., Müller, H. A., and et al, M. S.
(2010). Software Engineering for Self-Adaptive Sys-
tems: A Second Research Roadmap. In de Lemos, R.,
Giese, H., Müller, H. A., and Shaw, M., editors, Soft-
ware Engineering for Self-Adaptive Systems II - Inter-
national Seminar, volume 7475 of LNCS. Springer.
Ferry, N., Hourdin, V., Lavirotte, S., Rey, G., Tigli, J.-Y.,
and Riveill, M. (2009). Models at runtime: service for
device composition and adaptation. In Proceedings
of the 4th International Workshop on Models@ run.
time.
Ferry, N., Song, H., Rossini, A., Chauvel, F., and Solberg,
A. (2014). CloudMF: Applying MDE to Tame the
Complexity of Managing Multi-Cloud Applications.
In Proceedings of IEEE/ACM UCC.
Fouquet, F., Morin, B., Fleurey, F., Barais, O., Plouzeau,
N., and Jezequel, J.-M. (2012). A dynamic compon-
ent model for cyber physical systems. In Proceedings
of the 15th ACM SIGSOFT symposium on Component
Based Software Engineering, pages 135–144. ACM.
France, R. and Rumpe, B. (2007). Model-driven develop-
ment of complex software: A research roadmap. In
2007 Future of Software Engineering, pages 37–54.
IEEE Computer Society.
Kiczales, G. (1996). Aspect-oriented programming. ACM
Comput. Surv., 28(4es).
Mainsah, E. (2002). Autonomic computing: the next era of
computing. Electronics Communication Engineering
Journal, 14(1):2–3.
Morin, B., Barais, O., Jezequel, J., Fleurey, F., and Solberg,
A. (2009). Models@ run. time to support dynamic
adaptation. Computer, 42(10):44–51.
Song, H., Xiong, Y., Chauvel, F., Huang, G., Hu, Z.,
and Mei, H. (2010). Generating synchronization en-
gines between running systems and their model-based
views. In Models in Software Engineering, pages 140–
154. Springer.
Sykes, D., Heaven, W., Magee, J., and Kramer, J. (2008).
From goals to components: a combined approach to
self-management. In Proceedings of the 2008 interna-
tional workshop on Software engineering for adaptive
and self-managing systems, pages 1–8. ACM.
Vogel, T. and Giese, H. (2014). Model-driven engineering
of self-adaptive software with eurema. ACM Transac-
tions on Autonomous and Adaptive Systems (TAAS),
8(4):18.
MODELSWARD 2017 - 5th International Conference on Model-Driven Engineering and Software Development
508