Abstract
This work presents a new reference architecture for multi-layer autonomic systems called context-controlled autonomic controllers (ConAC). Usually, the principle of multiple system layers contradicts the principle of a global adaptation strategy, because system layers are considered to be black boxes. The presented architecture relies on an explicit context model, so a simple change of contexts can consistently vary the adaptation strategies for all layers. This reveals that explicit context modeling enables consistent meta-adaptation in multi-layer autonomic systems. The paper presents two application areas for the ConAC architecture, robotic co-working and energy-adaptive servers, but many other multi-layered system designs should benefit from it.
This project has received funding from the ECSEL Joint Undertaking under grant agreement No. 692480 (IoSense). This Joint Undertaking receives support from the EU Horizon 2020 research and innovation programme and Germany, Spain, Austria, Belgium, Slovakia. Also supported by the German Research Foundation (DFG) in the CRC 912 “Highly Adaptive Energy-Efficient Computing”, the project RISCOS, the Research Training Group “Role-based Software Infrastructures for continuous-context-sensitive Systems (RoSI)”, as well as the BMBF project OpenLicht.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
In the literature, autonomic controllers or autonomic managers run a Mape-k-loop with Measure-Analyze-Plan-Execute functions communicating via a KnowledgeBase to self-adapt a software system.
- 2.
Usually, hierarchic autonomic systems can be considered as a subclass of multi-layered systems, because the latter may share components on lower levels, i.e., their use relationship is a directed acyclic graph instead of a tree.
- 3.
ConAC is intended to be spelled
.
- 4.
A video is found on https://www.youtube.com/watch?v=zk3ruVSTwCo.
- 5.
We call the “layers” of a COP program its application slices, because, in this paper, layers are meant to be system layers.
- 6.
Again, mixin layers are application slices, while, in this paper, layers are system layers.
References
Abbas, N., Andersson, J.: Harnessing variability in product-lines of self-adaptive software systems. In: Schmidt, D.C. (ed.) Proceedings of the 19th International Conference on Software Product Line, SPLC 2015, 20–24 July 2015, Nashville, TN, USA, pp. 191–200. ACM (2015)
Aßmann, U., Piechnick, C., Püschel, G., Piechnick, M., Falkenberg, J., Werner, S.: Modelling the world of a smart room for robotic co-working. In: Pires, L.F., Hammoudi, S., Selic, B. (eds.) MODELSWARD 2017. CCIS, vol. 880, pp. 484–506. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94764-8_20
Barroso, L.A., Hölzle, U.: The case for energy-proportional computing. IEEE Comput. 40(12), 33–37 (2007)
Bencomo, N., Grace, P., Flores-Cortés, C., Hughes, D., Blair, G.: Genie: supporting the model driven development of reflective, component-based adaptive systems. In: Schäfer, W., Dwyer, M.B., Gruhn, V. (eds.) 30th International Conference on Software Engineering, ICSE 2008, 10–18 May 2008, Leipzig, Germany, pp. 811–814. ACM (2008)
Cámara, J., et al.: Self-aware computing systems: related concepts and research areas. In: Kounev, S., Kephart, J., Milenkoski, A., Zhu, X. (eds.) Self-Aware Computing Systems, pp. 17–49. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-47474-8_2
Capilla, R., Bosch, J., Trinidad, P., Ruiz Cortés, A., Hinchey, M.: An overview of dynamic software product line architectures and techniques: observations from research and industry. J. Syst. Softw. 91, 3–23 (2014)
Ewing, J.M.: Autonomic performance optimization with application to self-architecting software systems. Ph.D. thesis, George Mason University, Fairfax, Virginia, USA (2015). http://hdl.handle.net/1920/9702
Fettweis, G., Nagel, W., Lehner, W.: Pathways to servers of the future: highly adaptive energy efficient computing (HAEC). In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE 2012, San Jose, CA, USA, pp. 1161–1166. EDA Consortium (2012)
Goens, A., Khasanov, R., Castrillon, J., Hähnel, M., Smejkal, T., Härtig, H.: Tetris: a multi-application run-time system for predictable execution of static mappings. In: Proceedings of the 20th International Workshop on Software and Compilers for Embedded Systems, SCOPES 2017, New York, NY, USA, pp. 11–20. ACM (2017)
Greenwood, P., Blair, L.: A framework for policy driven auto-adaptive systems using dynamic framed aspects. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development II. LNCS, vol. 4242, pp. 30–65. Springer, Heidelberg (2006). https://doi.org/10.1007/11922827_2
Guinea, S., Kecskemeti, G., Marconi, A., Wetzstein, B.: Multi-layered monitoring and adaptation. In: Kappel, G., Maamar, Z., Motahari-Nezhad, H.R. (eds.) ICSOC 2011. LNCS, vol. 7084, pp. 359–373. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-25535-9_24
Haddadin, S., Suppa, M., Fuchs, S., Bodenmüller, T., Albu-Schäffer, A., Hirzinger, G.: Towards the robotic co-worker. In: Pradalier, C., Siegwart, R., Hirzinger, G. (eds.) Robotics Research. STAR, vol. 70, pp. 261–282. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19457-3_16
Heinis, T., Pautasso, C.: Automatic configuration of an autonomic controller: an experimental study with zero-configuration policies. In: Strassner, J., Dobson, S.A., Fortes, J.A.B., Goswami, K.K. (eds.) 2008 International Conference on Autonomic Computing, ICAC 2008, 2–6 June 2008, Chicago, Illinois, USA, pp. 67–76. IEEE Computer Society (2008)
Herrmann, S.: A precise model for contextual roles: the programming language ObjectTeams/Java. Appl. Ontol. 2(2), 181–207 (2007)
Hillemacher, S., et al.: Model-based development of self-adaptive autonomous vehicles using the SMARDT methodology. In: Hammoudi, S., Pires, L.F., Selic, B. (eds.) Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, 22–24 January 2018, Funchal, Madeira - Portugal, pp. 163–178. SciTePress (2018)
Hirschfeld, R., Costanza, P., Nierstrasz, O.M.: Context-oriented programming. J. Object Technol. 7(3), 125–151 (2008)
Huebscher, M.C., McCann, J.A.: A survey of autonomic computing - degrees, models, and applications. ACM Comput. Surv. 40(3), 7:1–7:28 (2008)
Kephart, J.O., et al.: Self-adaptation in collective self-aware computing systems. In: Kounev, S., Kephart, J., Milenkoski, A., Zhu, X. (eds.) Self-Aware Computing Systems. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-47474-8_13
Kiczales, G., et al.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0053381
Kissinger, T., Hähnel, M., Smejkal, T., Habich, D., Härtig, H., Lehner, W.: Energy-utility function-based resource control for in-memory database systems live. In: Proceedings of the 2018 International Conference on Management of Data, SIGMOD 2018, New York, NY, USA, pp. 1717–1720. ACM (2018)
Kramer, J., Magee, J.: Towards robust self-managed systems. Prog. Inform. 5, 1–4 (2008)
Kühn, T., Leuthäuser, M., Götz, S., Seidl, C., Aßmann, U.: A metamodel family for role-based modeling and programming languages. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds.) SLE 2014. LNCS, vol. 8706, pp. 141–160. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11245-9_8
Philippe, L., McCann, J.A., Diaconescu, A.: Autonomic Computing - Principles, Design and Implementation. Undergraduate Topics in Computer Science. Springer, London (2013). https://doi.org/10.1007/978-1-4471-5007-7
Litoiu, M., Woodside, M., Zheng, T.: Hierarchical model-based autonomic control of software systems. ACM SIGSOFT Softw. Eng. Notes 30(4), 1–7 (2005)
Ostermann, K.: Dynamically composable collaborations with delegation layers. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 89–110. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-47993-7_4
Pukhkaiev D., Götz, S.: BRISE: energy-efficient benchmark reduction. In: 2018 IEEE/ACM 6th International Workshop on Green and Sustainable Software (GREENS), pp. 23–30, May 2018
Püschel, G.: Testing self-adaptive systems - a model-based approach to resilience. Ph.D. thesis, Technische Universität Dresden, June 2018. http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-237791
Rosenmüller, M., Siegmund, N., Apel, S., Saake, G.: Flexible feature binding in software product lines. Autom. Softw. Eng. 18(2), 163–197 (2011)
Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4(2), 14:1–14:42 (2009)
Salvaneschi, G., Ghezzi, C., Pradella, M.: Context-oriented programming: aprogramming paradigm for autonomic systems. The Computing Research Repository (CoRR). abs/1105.0069 (2011)
Smaragdakis, Y., Batory, D.: Implementing layered designs with mixin layers. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 550–570. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0054107
Steimann, F.: On the representation of roles in object-oriented and conceptual modelling. Data Knowl. Eng. 35(1), 83–106 (2000)
VanHilst, M., Notkin, D.: Using role components in implement collaboration-based designs. SIGPLAN Notes 31(10), 359–369 (1996)
Weyns, D., et al.: On patterns for decentralized control in self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 76–107. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_4
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Aßmann, U. et al. (2019). Cross-Layer Adaptation in Multi-layer Autonomic Systems (Invited Talk). In: Catania, B., Královič, R., Nawrocki, J., Pighizzini, G. (eds) SOFSEM 2019: Theory and Practice of Computer Science. SOFSEM 2019. Lecture Notes in Computer Science(), vol 11376. Springer, Cham. https://doi.org/10.1007/978-3-030-10801-4_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-10801-4_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-10800-7
Online ISBN: 978-3-030-10801-4
eBook Packages: Computer ScienceComputer Science (R0)