Abstract
The development of self-adaptive software requires the engineering of an adaptation engine that controls the underlying adaptable software by feedback loops. The engine often describes the adaptation by runtime models representing the adaptable software and by activities such as analysis and planning that use these models. To systematically address the interplay between runtime models and adaptation activities, runtime megamodels have been proposed. A runtime megamodel is a specific model capturing runtime models and adaptation activities. In this article, we go one step further and present an executable modeling language for ExecUtable RuntimE MegAmodels (EUREMA) that eases the development of adaptation engines by following a model-driven engineering approach. We provide a domain-specific modeling language and a runtime interpreter for adaptation engines, in particular feedback loops. Megamodels are kept alive at runtime and by interpreting them, they are directly executed to run feedback loops. Additionally, they can be dynamically adjusted to adapt feedback loops. Thus, EUREMA supports development by making feedback loops explicit at a higher level of abstraction and it enables solutions where multiple feedback loops interact or operate on top of each other and self-adaptation co-exists with offline adaptation for evolution.
- Amoui, M., Derakhshanmanesh, M., Ebert, J., and Tahvildari, L. 2012. Achieving dynamic adaptation via management and interpretation of runtime models. J. Syst. Softw. 85, 12, 2720--2737. Google ScholarDigital Library
- Andersson, J., de Lemos, R., Malek, S., and Weyns, D. 2009. Reflecting on self-adaptive software systems. In Proceedings of the Workshop on Software Engineering for Adaptive and Self-Managing Systems. IEEE, 38--47. Google ScholarDigital Library
- Andersson, J., Baresi, L., Bencomo, N., de Lemos, R., Gorla, A., Inverardi, P., and Vogel, T. 2013. Software engineering processes for self-adaptive systems. In Software Engineering for Self-Adaptive Systems II. Lecture Notes in Computer Science, vol. 7475, Springer, 51--75.Google ScholarCross Ref
- Barbero, M., Fabro, M. D., and Bézivin, J. 2007. Traceability and provenance issues in global model management. In Proceedings of the 3rd Workshop on Traceability. 47--55.Google Scholar
- Bencomo, N. and Blair, G. 2009. Using architecture models to support the generation and operation of component-based adaptive systems. In Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, vol. 5525, Springer, 183--200. Google ScholarDigital Library
- Bézivin, J., Gerard, S., Muller, P.-A., and Rioux, L. 2003. MDA components: Challenges and opportunities. In Proceedings of the 1st International Workshop on Metamodelling for MDA. 23--41.Google Scholar
- Bézivin, J., Jouault, F., and Valduriez, P. 2004. On the need for megamodels. In Proceedings of the Workshop on Best Practices for Model-Driven Software Development.Google Scholar
- Blair, G., Bencomo, N., and France, R. B. 2009. [email protected]. Computer 42, 10, 22--27. Google ScholarDigital Library
- Brun, Y., Serugendo, G. D. M., Gacek, C., Giese, H., Kienle, H., Litoiu, M., Müller, H. A., Pezzè, M., and Shaw, M. 2009. Engineering self-adaptive systems through feedback loops. In Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, vol. 5525, Springer, 48--70. Google ScholarDigital Library
- Cheng, B. H., de Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Serugendo, G. D. M., Dustdar, S., Finkelstein, A., Gacek, C., Geihs, K., Grassi, V., Karsai, G., Kienle, H. M., Kramer, J., Litoiu, M., Malek, S., Mirandola, R., Müller, H. A., Park, S., Shaw, M., Tichy, M., Tivoli, M., Weyns, D., and Whittle, J. 2009. Software engineering for self-adaptive systems: A research roadmap. In Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, vol. 5525, Springer, 1--26. Google ScholarDigital Library
- Cheng, S.-W., Huang, A.-C., Garlan, D., Schmerl, B., and Steenkiste, P. 2004. An architecture for coordinating multiple self-management systems. In Proceedings of the 4th Working Conference on Software Architecture. IEEE, 243--252. Google ScholarDigital Library
- Cheng, S.-W., Garlan, D., and Schmerl, B. 2006. Architecture-based self-adaptation in the presence of multiple objectives. In Proceedings of the Workshop on Software Engineering for Adaptive and Self-Managing Systems. ACM, 2--8. Google ScholarDigital Library
- Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. 2011. Distributed Systems: Concepts and Design 5th Ed. Addison-Wesley. Google ScholarDigital Library
- de Lemos, R., Giese, H., Müller, H. A., Shaw, M., Andersson, J., Litoiu, M., Schmerl, B., Tamura, G., Villegas, N. M., Vogel, T., Weyns, D., Baresi, L., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Desmarais, R., Dustdar, S., Engels, G., Geihs, K., Goeschka, K., Gorla, A., Grassi, V., Inverardi, P., Karsai, G., Kramer, J., Lopes, A., Magee, J., Malek, S., Mankovskii, S., Mirandola, R., Mylopoulos, J., Nierstrasz, O., Pezzè, M., Prehofer, C., Schäfer, W., Schlichting, R., Smith, D. B., Sousa, J. P., Tahvildari, L., Wong, K., and Wuttke, J. 2013. Software engineering for self-adaptive systems: A second research roadmap. In Software Engineering for Self-Adaptive Systems II. Lecture Notes in Computer Science, vol. 7475, Springer, 1--32.Google ScholarCross Ref
- de Oliveira, F. A., Sharrock, R., and Ledoux, T. 2012. Synchronization of multiple autonomic control loops: Application to cloud computing. In COORDINATION. Lecture Notes in Computer Science, vol. 7274, Springer, 29--43. Google ScholarDigital Library
- Favre, J.-M. 2005. Foundations of model (driven) (reverse) engineering: Models -- episode I: Stories of the fidus papyrus and of the Solarus. In Language Engineering for Model-Driven Software Development, Number 04101, Dagstuhl Seminar Proceedings. IBFI.Google Scholar
- Findeisen, W., Bailey, F., Brdys, M., Malinowski, K., Tatjewski, P., and Wozniak, A. 1980. Control and Coordination in Hierarchical Systems. J. Wiley.Google Scholar
- Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., and Gjorven, E. 2006. Using architecture models for runtime adaptability. IEEE Softw. 23, 2, 62--70. Google ScholarDigital Library
- France, R. and Rumpe, B. 2007. Model-driven development of complex software: A research roadmap. In Proceedings of the Workshop on the Future of Software Engineering. IEEE, 37--54. Google ScholarDigital Library
- Gacek, C., Giese, H., and Hadar, E. 2008. Friends or Foes? -- A conceptual analysis of self-adaptation and it change management. In Proceedings of the Workshop on Software Engineering for Adaptive and Self-Managing Systems. ACM, 121--128. Google ScholarDigital Library
- Garlan, D., Cheng, S.-W., Huang, A.-C., Schmerl, B., and Steenkiste, P. 2004. Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37, 10, 46--54. Google ScholarDigital Library
- Gat, E. 1997. On Three-Layer Architectures. MIT/AAAI Press.Google Scholar
- Gueye, S. M. K., De Palma, N., and Rutten, E. 2012. Coordinating energy-aware administration loops using discrete control. In Proceedings of the 8th International Conference on Autonomic and Autonomous Systems. IARIA, 99--106.Google Scholar
- Hanysz, M. 2013. Integrating offline and online adaptations of self-adaptive software systems. M.S. thesis, Hasso Plattner Institute, University of Potsdam, Germany.Google Scholar
- Heaven, W., Sykes, D., Magee, J., and Kramer, J. 2009. A case study in goal-driven architectural adaptation. In Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, vol. 5525, Springer, 109--127. Google ScholarDigital Library
- Hebig, R., Giese, H., and Becker, B. 2010. Making control loops explicit when architecting self-adaptive systems. In Proceedings of the 2nd International Workshop on Self-Organizing Architectures. ACM, 21--28. Google ScholarDigital Library
- Hellerstein, J. L., Diao, Y., Parekh, S., and Tilbury, D. M. 2004. Feedback Control of Computing Systems. John Wiley & Sons. Google ScholarDigital Library
- Hestermeyer, T., Oberschelp, O., and Giese, H. 2004. Structured information processing for self-optimizing mechatronic systems. In Proceedings of the 1st International Conference on Informatics in Control, Automation and Robotics. INSTICC Press, 230--237.Google Scholar
- Isermann, R., Lachmann, K.-H., and Matko, D. 1992. Adaptive Control Systems. Prentice Hall International Series in Systems and Control Engineering, Prentice Hall, New York. Google ScholarDigital Library
- Kephart, J. O., Chan, H., Das, R., Levine, D. W., Tesauro, G., Rawson, F., and Lefurgy, C. 2007. Coordinating multiple autonomic managers to achieve specified power-performance tradeoffs. In Proceedings of the 4th International Conference on Autonomic Computing. IEEE, 24--33. Google ScholarDigital Library
- Kephart, J. O. and Chess, D. 2003. The vision of autonomic computing. Computer 36, 1, 41--50. Google ScholarDigital Library
- Kokar, M. M., Baclawski, K., and Eracar, Y. A. 1999. Control theory-based foundations of self-controlling software. Intell. Syst. Appl. 14, 3, 37--45. Google ScholarDigital Library
- Kramer, J. and Magee, J. 2007. Self-managed systems: An architectural challenge. In Proceedings of the Workshop on the Future of Software Engineering. IEEE, 259--268. Google ScholarDigital Library
- Maes, P. 1987. Concepts and experiments in computational reflection. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications. ACM, 147--155. Google ScholarDigital Library
- McKinley, P., Sadjadi, S. M., Kasten, E. P., and Cheng, B. H. 2004. Composing adaptive software. IEEE Computer 37, 7, 56--64. Google ScholarDigital Library
- Morin, B., Barais, O., Jézéquel, J.-M., Fleurey, F., and Solberg, A. 2009a. Models@ Run.time to support dynamic adaptation. Computer 42, 10, 44--51. Google ScholarDigital Library
- Morin, B., Barais, O., Nain, G., and Jézéquel, J.-M. 2009b. Taming dynamically adaptive systems using models and aspects. In Proceedings of the 31st International Conference on Software Engineering. IEEE, 122--132. Google ScholarDigital Library
- Morin, B., Ledoux, T., Hassine, M. B., Chauvel, F., Barais, O., and Jézéquel, J.-M. 2009c. Unifying runtime adaptation and design evolution. In Proceedings of the 9th International Conference on Computer and Information Technology. IEEE, 104--109. Google ScholarDigital Library
- Müller, H. A., Pezzè, M., and Shaw, M. 2008. Visibility of control in adaptive systems. In Proceedings of the 2nd International Workshop on Ultra-Large-Scale Software-Intensive Systems. ACM, 23--26. Google ScholarDigital Library
- Object Management Group. 2011. OMG Unified Modeling Language (OMG UML), Superstructure, Version 2.4.1.Google Scholar
- Rouvoy, R., Barone, P., Ding, Y., Eliassen, F., Hallsteinsen, S., Lorenzo, J., Mamelli, A., and Scholz, U. 2009. MUSIC: Middleware support for self-adaptation in ubiquitous and service-oriented environments. In Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, vol. 5525, Springer, 164--182. Google ScholarDigital Library
- Salehie, M. and Tahvildari, L. 2009. Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4, 2, 1--42. Google ScholarDigital Library
- Schmidt, D., White, J., and Gokhale, A. 2008. Simplifying autonomic enterprise Java Bean applications via model-driven engineering and simulation. Softw. Syst. Model. 7, 1, 3--23.Google Scholar
- Shaw, M. 1995. Beyond objects: A software design paradigm based on process control. ACM SIGSOFT Softw. Engin. Notes 20, 1, 27--38. Google ScholarDigital Library
- Tajalli, H., Garcia, J., Edwards, G., and Medvidovic, N. 2010. PLASMA: A plan-based layered architecture for software model-driven adaptation. In Proceedings of the International Conference on Automated Software Engineering. ACM, 467--476. Google ScholarDigital Library
- Vogel, T. 2013. Modular Rice University Bidding System (mRUBiS). http://www.mdelab.de (Last accessed 12/13).Google Scholar
- Vogel, T. and Giese, H. 2010. Adaptation and abstract runtime models. In Proceedings of the Workshop on Software Engineering for Adaptive and Self-Managing Systems. ACM, 39--48. Google ScholarDigital Library
- Vogel, T. and Giese, H. 2012a. A language for feedback loops in self-adaptive systems: Executable runtime megamodels. In Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE, 129--138.Google Scholar
- Vogel, T. and Giese, H. 2012b. Requirements and assessment of languages and frameworks for adaptation models. In Models in Software Engineering. Lecture Notes in Computer Science, vol. 7167, Springer, 167--182. Google ScholarDigital Library
- Vogel, T. and Giese, H. 2013. Model-driven engineering of adaptation engines for self-adaptive software: Executable runtime megamodels. Tech. rep. 66, Hasso Plattner Institute at the University of Potsdam, Germany.Google Scholar
- Vogel, T., Neumann, S., Hildebrandt, S., Giese, H., and Becker, B. 2010. Incremental model synchronization for efficient run-time monitoring. In Models in Software Engineering. Lecture Notes in Computer Science, vol. 6002, Springer, 124--139. Google ScholarDigital Library
- Vogel, T., Seibel, A., and Giese, H. 2011. The role of models and megamodels at runtime. In Models in Software Engineering. Lecture Notes in Computer Science, vol. 6627, Springer, 224--238. Google ScholarDigital Library
- Vromant, P., Weyns, D., Malek, S., and Andersson, J. 2011. On interacting control loops in self-adaptive systems. In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. ACM, 202--207. Google ScholarDigital Library
- Weyns, D., Malek, S., and Andersson, J. 2012. FORMS: Unifying reference model for formal specification of distributed self-adaptive systems. ACM Trans. Auton. Adapt. Syst. 7, 1, 8:1--8:61. Google ScholarDigital Library
- Weyns, D., Schmerl, B., Grassi, V., Malek, S., Mirandola, R., Prehofer, C., Wuttke, J., Andersson, J., Giese, H., and Goeschka, K. 2013. On patterns for decentralized control in self-adaptive systems. In Software Engineering for Self-Adaptive Systems II. Lecture Notes in Computer Science, vol. 7475, Springer, 76--107.Google ScholarCross Ref
Index Terms
- Model-Driven Engineering of Self-Adaptive Software with EUREMA
Recommendations
Model-driven engineering
During the last decade a new trend of approaches has emerged, which considers models not just documentation artefacts, but also central artefacts in the software engineering field, allowing the creation or automatic execution of software systems ...
Model-driven engineering with domain-specific meta-modelling languages
Domain-specific modelling languages are normally defined through general-purpose meta-modelling languages like the MOF. While this is satisfactory for many model-driven engineering (MDE) projects, several researchers have identified the need for domain-...
A language for feedback loops in self-adaptive systems: executable runtime megamodels
SEAMS '12: Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsThe development of self-adaptive software requires the engineering of proper feedback loops where an adaptation logic controls the underlying software. The adaptation logic often describes the adaptation by using runtime models representing the ...
Comments