Abstract
In this chapter, we review the state of the art in self-aware computing systems with a particular focus on software architectures. Therefore, we compare existing approaches targeting computing systems with similar characteristics as self-aware systems to the architectural concepts for single and collective self-aware systems discussed in the previous chapters. These approaches are particularly reference architectures and architectural frameworks and languages. Based on this comparison, we discuss open challenges for architectures of self-aware computing systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Anant Agarwal and Bill Harrod. Organic computing. Technical Report White paper, MIT and DARPA, 2006.
Anant Agarwal, Jason Miller, Jonathan Eastep, David Wentziaff, and Harshad Kasture. Self-aware computing. Technical Report AFRL-RI-RS-TR-2009-161, MIT, 2009.
John R. Anderson, editor. The Architecture of Cognition. Harrvard University Press, 1983.
Uwe Aßmann, Sebastian Götz, Jean-Marc Jézéquel, Brice Morin, and Mario Trapp. A Reference Architecture and Roadmap for Models@run.time Systems. In Nelly Bencomo, Robert France, Betty H. C. Cheng, and Uwe Aßmann, editors, Models@run.time: Foundations, Applications, and Roadmaps, pages 1–18. Springer, 2014.
Ozalp Babaoglu, Mark Jelasity, Alberto Montresor, Christof Fetzer, Stefano Leonardi, Aad van Moorsel, and Maarten van Steen, editors. Self-star Properties in Complex Information Systems: Conceptual and Practical Foundations, volume 3460 of Lecture Notes in Computer Science (LNCS). Springer, 2005.
Kirstie L. Bellman and Christopher Landauer. Towards an Integration Science. Journal of Mathematical Analysis and Applications, 249(1):3–31, 2000.
Kirstie L. Bellman, Christopher Landauer, and Phyllis R. Nelson. Systems Engineering for Organic Computing: The Challenge of Shared Design and Control between OC Systems and their Human Engineers. In Organic Computing, pages 25–80. Springer, 2008.
Nelly Bencomo. Quantun: Quantification of uncertainty for the reassessment of requirements. In Proceedings of 23rd International Conference on Requirements Engineering (RE), pages 236–240. IEEE, 2015.
Nelly Bencomo, Amel Bennaceur, Paul Grace, Gordon S. Blair, and Valérie Issarny. The role of models@run.time in supporting on-the-fly interoperability. Computing, 95(3):167–190, 2013.
Nelly Bencomo, Jon Whittle, Pete Sawyer, Anthony Finkelstein, and Emmanuel Letier. Requirements reflection: Requirements as runtime entities. In Proceedings of the 32nd International Conference on Software Engineering - Vol. 2, ICSE ’10, pages 199–202. ACM, 2010.
Amel Bennaceur, Robert France, Giordano Tamburrelli, Thomas Vogel, Pieter J Mosterman, Walter Cazzola, Fbio M. Costa, Alfonso Pierantonio, Matthias Tichy, Mehmet Aksit, Pr Emmanuelson, Huang Gang, Nikolaos Georgantas, and David Redlich. Mechanisms for Leveraging Models at Runtime in Self-adaptive Software. In Nelly Bencomo, Robert France, Betty H.C. Cheng, and Uwe Assmann, editors, Models@run.time, volume 8378 of Lecture Notes in Computer Science (LNCS), pages 19–46. Springer, 2014.
Gordon Blair, Nelly Bencomo, and Robert France. Models@run.time. Computer, 42(10):22–27, 2009.
Victor Braberman, Nicolas D’Ippolito, Jeff Kramer, Daniel Sykes, and Sebastian Uchitel. Morph: A reference architecture for configuration and behaviour self-adaptation. In Proceedings of the 1st International Workshop on Control Theory for Software Engineering, CTSE 2015, pages 9–16. ACM, 2015.
Rodney A. Brooks, editor. Cambrian Intelligence: The Early History of the New AI. MIT Press, 1999.
Yuriy Brun, Giovanna Di Marzo Serugendo, Cristina Gacek, Holger Giese, Holger Kienle, Marin Litoiu, Hausi Müller, Mauro Pezzè, and Mary Shaw. Engineering Self-Adaptive Systems through Feedback Loops. In Betty H.C. Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, and Jeff Magee, editors, Software Engineering for Self-Adaptive Systems, volume 5525 of Lecture Notes in Computer Science (LNCS), pages 48–70. Springer, 2009.
Sven Burmester, Holger Giese, Eckehard Münch, Oliver Oberschelp, Florian Klein, and Peter Scheideler. Tool Support for the Design of Self-Optimizing Mechatronic Multi-Agent Systems. Journal on Software Tools for Technology Transfer (STTT), 10(3):207–222, 2008.
Sven Burmester, Holger Giese, and Oliver Oberschelp. Hybrid UML Components for the Design of Complex Self-optimizing Mechatronic Systems. In J. Braz, H. Araújo, A. Vieira, and B. Encarnacao, editors, Informatics in Control, Automation and Robotics I. Springer, 2006.
Sven Burmester, Holger Giese, and Wilhelm Schfer. Model-Driven Architecture for Hard Real-Time Systems: From Platform Independent Models to Code. In Proceedings of the European Conference on Model Driven Architecture - Foundations and Applications (ECMDA-FA), volume 3748 of Lecture Notes in Computer Science (LNCS), pages 25–40. Springer, 2005.
Radu Calinescu, Lars Grunske, Marta Z. Kwiatkowska, Raffaela Mirandola, and Giordano Tamburrelli. Dynamic qos management and optimization in service-based systems. IEEE Trans. Software Eng., 37(3):387–409, 2011.
Betty H.C. Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, Jeff Magee, Jesper Andersson, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Giovanna Di Marzo Serugendo, Schahram Dustdar, Anthony Finkelstein, Cristina Gacek, Kurt Geihs, Vincenzo Grassi, Gabor Karsai, Holger M. Kienle, Jeff Kramer, Marin Litoiu, Sam Malek, Raffaela Mirandola, Hausi Müller, Sooyong Park, Mary Shaw, Matthias Tichy, Massimo Tivoli, Danny Weyns, and Jon Whittle. Software Engineering for Self-Adaptive Systems: A Research Roadmap. In Betty H.C. Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, and Jeff Magee, editors, Software Engineering for Self-Adaptive Systems, volume 5525 of Lecture Notes in Computer Science (LNCS), pages 1–26. Springer, 2009.
Betty H.C. Cheng, Holger Giese, Paola Inverardi, Jeff Magee, and Rogério de Lemos, editors. Software Engineering for Self-Adaptive Systems, volume 5525 of Lecture Notes in Computer Science (LNCS). Springer, 2009.
Shang-Wen Cheng, VaheV. Poladian, David Garlan, and Bradley Schmerl. Improving architecture-based self-adaptation through resource prediction. In Betty H.C. Cheng, Rogerio de Lemos, Holger Giese, Paola Inverardi, and Jeff Magee, editors, Software Engineering for Self-Adaptive Systems, volume 5525 of Lecture Notes in Computer Science (LNCS), pages 71–88. Springer, 2009.
David M. Chess, Alla Segal, and Ian Whalley. Unity: Experiences with a prototype autonomic computing system. In Proceedings of the First International Conference on Autonomic Computing, ICAC ’04, pages 140–147. IEEE, 2004.
M.T. Cox. Metacognition in computation: A selected research review. Art. Int., 169(2):104–141, 2005.
Rogério de Lemos, Holger Giese, Hausi Müller, and Mary Shaw, editors. Software Engineering for Self-Adaptive Systems II, volume 7475 of Lecture Notes in Computer Science (LNCS). Springer, 2013.
Rogério de Lemos, Holger Giese, Hausi Müller, Mary Shaw, Jesper Andersson, Marin Litoiu, Bradley Schmerl, Gabriel Tamura, Norha M. Villegas, Thomas Vogel, Danny Weyns, Luciano Baresi, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Ron Desmarais, Schahram Dustdar, Gregor Engels, Kurt Geihs, Karl Goeschka, Alessandra Gorla, Vincenzo Grassi, Paola Inverardi, Gabor Karsai, Jeff Kramer, Antónia Lopes, Jeff Magee, Sam Malek, Serge Mankovskii, Raffaela Mirandola, John Mylopoulos, Oscar Nierstrasz, Mauro Pezzè, Christian Prehofer, Wilhelm Schäfer, Rick Schlichting, Dennis B. Smith, Joao P. Sousa, Ladan Tahvildari, Kenny Wong, and Jochen Wuttke. Software Engineering for Self-Adaptive Systems: A second Research Roadmap. In Rogério de Lemos, Holger Giese, Hausi Müller, and Mary Shaw, editors, Software Engineering for Self-Adaptive Systems II, volume 7475 of Lecture Notes in Computer Science (LNCS), pages 1–32. Springer, 2013.
Bassem Debbabi, Ada Diaconescu, and Philippe Lalanda. Controlling self-organising software applications with archetypes. In IEEE International Conference on Self-Adaptive and Self-Organizing Systems (SASO), pages 69–78. IEEE, 2012.
Marco Dorigo, Vito Trianni, Erol Şahin, Roderich Groß, Thomas H. Labella, Gianluca Baldassarre, Stefano Nolfi, Jean-Louis Deneubourg, Francesco Mondada, Dario Floreano, and Luca M. Gambardella. Evolving self-organizing behaviors for a swarm-bot. Autonomous Robots, 17:223–245, 2004.
Stephen Fickas and Martin S. Feather. Requirements monitoring in dynamic environments. In Proceedings of the Second IEEE International Symposium on Requirements Engineering (RE), pages 140–147. IEEE, 1995.
J. Floch, C. Fr, R. Fricke, K. Geihs, M. Wagner, J. Lorenzo, E. Soladana, S. Mehlhase, N. Paspallis, H. Rahnama, P.A. Ruiz, and U. Scholz. Playing music building context-aware and self-adaptive mobile applications. Software: Practice and Experience, 43(3):359–388, 2013.
Sylvain Frey, Ada Diaconescu, and Isabelle M. Demeure. Architectural Integration Patterns for Autonomic Management Systems. In Proceedings of the 9th IEEE International Conference and Workshops on the Engineering of Autonomic and Autonomous Systems (EASe 2012), 2012.
David Garlan, Shang-Wen Cheng, An-Cheng Huang, Bradley R. Schmerl, and Peter Steenkiste. Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer, 37(10):46–54, 2004.
K. Geihs, P. Barone, F. Eliassen, J. Floch, R. Fricke, E. Gjorven, S. Hallsteinsen, G. Horn, M. U. Khan, A. Mamelli, G. A. Papadopoulos, N. Paspallis, R. Reichle, and E. Stav. A comprehensive solution for application-level adaptation. Software: Practice and Experience, 39(4):385–422, 2009.
K. Geihs, C. Evers, R. Reichle, M. Wagner, and M. U. Khan. Development support for qos-aware service-adaptation in ubiquitous computing applications. In Proceedings of the 2011 ACM Symposium on Applied Computing, SAC ’11, pages 197–202. ACM, 2011.
Holger Giese, Nelly Bencomo, Liliana Pasquale, AndresJ. Ramirez, Paola Inverardi, Sebastian Wtzoldt, and Siobhan Clarke. Living with Uncertainty in the Age of Runtime Models. In Nelly Bencomo, Robert France, Betty H.C. Cheng, and Uwe Assmann, editors, Models@run.time, volume 8378 of Lecture Notes in Computer Science (LNCS), pages 47–100. Springer, 2014.
Holger Giese, Sven Burmester, Wilhelm Schäfer, and Oliver Oberschelp. Modular Design and Verification of Component-Based Mechatronic Systems with Online-Reconfiguration. In Proceedings of 12th ACM SIGSOFT Foundations of Software Engineering 2004 (FSE 2004), pages 179–188. ACM, 2004.
Holger Giese, Stefan Henkler, and Martin Hirsch. A multi-paradigm approach supporting the modular execution of reconfigurable hybrid systems. SIMULATION, 87(9):775–808, 2011.
Holger Giese and Wilhelm Schfer. Model-Driven Development of Safe Self-Optimizing Mechatronic Systems with MechatronicUML. In Javier Camara, Rogrio de Lemos, Carlo Ghezzi, and Antónia Lopes, editors, Assurances for Self-Adaptive Systems, volume 7740 of Lecture Notes in Computer Science (LNCS), pages 152–186. Springer, 2013.
Sebastian Götz, Claas Wilke, Sebastian Cech, and Uwe Aßmann. Sustainable ICTs and Management Systems for Green Computing, chapter Architecture and Mechanisms for Energy Auto Tuning, pages 45–73. IGI Global, June 2012.
Sebastian Götz, Claas Wilke, Sebastian Richly, and Uwe Aßmann. Approximating quality contracts for energy auto-tuning software. In Proceedings of First International Workshop on Green and Sustainable Software (GREENS 2012), 2012.
Sebastian Götz, Claas Wilke, Sebastian Richly, Georg Püschel, and Uwe Assmann. Model-driven self-optimization using integer linear programming and pseudo-boolean optimization. In Proceedings of The Fifth International Conference on Adaptive and Self-Adaptive Systems and Applications (ADAPTIVE), pages 55–64. XPS Press.
S. Hallsteinsen, K. Geihs, N. Paspallis, F. Eliassen, G. Horn, J. Lorenzo, A. Mamelli, and G. A. Papadopoulos. A development framework and methodology for self-adapting applications in ubiquitous computing environments. J. Syst. Softw., 85(12):2840–2859, December 2012.
B. Hayes-Roth. A blackboard architecture for control. In Artificial Intelligence, volume 26-3, pages 251–321, 1985.
Regina Hebig, Holger Giese, and Basil Becker. Making control loops explicit when architecting self-adaptive systems. In Proceedings of the Second International Workshop on Self-organizing Architectures, SOAR ’10, pages 21–28. ACM, 2010.
Thorsten Hestermeyer, Oliver Oberschelp, and Holger Giese. Structured Information Processing For Self-optimizing Mechatronic Systems. In Helder Araujo, Alves Vieira, Jose Braz, Bruno Encarnacao, and Marina Carvalho, editors, 1st International Conference on Informatics in Control, Automation and Robotics (ICINCO 2004), pages 230–237. INSTICC Press, 2004.
Julia Hielscher, Raman Kazhamiakin, Andreas Metzger, and Marco Pistore. A framework for proactive self-adaptation of service-based applications based on online testing. In Petri Mahonen, Klaus Pohl, and Thierry Priol, editors, Towards a Service-Based Internet, volume 5377 of Lecture Notes in Computer Science (LNCS), pages 122–133. Springer, 2008.
Henry Hoffmann, Martina Maggio, Marco D. Santambrogio, Alberto Leva, , and Anant Agarwal. Seec: A general and extensible framework for self-aware computing. Technical Report MIT-CSAIL-TR-2011-046, MIT CSAIL, 2011.
IBM. An Architectural Blueprint for Autonomic Computing, 2003. White Paper.
John E. Kelly and Steve Hamm. Smart machines : IBM’s Watson and the era of cognitive computing. Columbia Business School Publishing, 2013.
Jeffrey O. Kephart and David M. Chess. The vision of autonomic computing. Computer, 36(1):41–50, 2003.
Samuel Kounev. Self-Aware Software and Systems Engineering: A Vision and Research Roadmap. In GI Softwaretechnik-Trends, 31(4), 2011, Karlsruhe, Germany, 2011.
Samuel Kounev, Fabian Brosig, and Nikolaus Huber. The Descartes Modeling Language. Technical report, Department of Computer Science, University of Wuerzburg, October 2014.
Samuel Kounev, Nikolaus Huber, Fabian Brosig, and Xiaoyun Zhu. A Model-Based Approach to Designing Self-Aware IT Systems and Infrastructures. IEEE Computer Magazine, pages 53–61, July 2016.
Jeff Kramer and Jeff Magee. Self-Managed Systems: an Architectural Challenge. In FOSE ’07: 2007 Future of Software Engineering, pages 259–268. IEEE, 2007.
Christopher Landauer and Kirstie L. Bellman. Knowledge-Based Integration Infrastructure for Complex Systems. International Journal of Intelligent Control and Systems, 1(1):133–153, 1996.
Christopher Landauer and Kirstie L. Bellman. New architectures for constructed complex systems. Applied Mathematics and Computation, 120(1–3):149–163, 2001.
Peter R. Lewis, Arjun Chandra, Funmilade Faniyi, Kyrre Glette, Tao Chen, Rami Bahsoon, Jim Torresen, and Xin Yao. Architectural aspects of self-aware and self-expressive computing systems: From psychology to engineering. IEEE Computer, 48(8):62–70, 2015.
Pattie Maes. Concepts and experiments in computational reflection. In Conference Proceedings on Object-oriented Programming Systems, Languages and Applications, OOPSLA ’87, pages 147–155. ACM, 1987.
Jeff Magee and Jeff Kramer. Dynamic structure in software architectures. In Proceedings of the 4th ACM SIGSOFT Symposium on Foundations of Software Engineering, SIGSOFT ’96, pages 3–14. ACM, 1996.
Yoann Maurel, Philippe Lalanda, and Ada Diaconescu. Towards a service-oriented component model for autonomic management. 2014 IEEE International Conference on Services Computing, 0:544–551, 2011.
Janet Metcalfe and Arthur P. Shimamura, editors. Metacognition: Knowing about knowing. MIT Press, Cambridge, MA, USA, 1994.
Melanie Mitchell. Self-awareness and control in decentralized systems (Tech Report SS-05-04). In AAAI Spring Symposium on Metacognition in Computation, Menlo Park, 2005. AIII Press.
Hausi A. Müller, Mauro Pezzè, and Mary Shaw. Visibility of Control in Adaptive Systems. In Proceedings of the 2nd International Workshop on Ultra-large-scale Software-intensive Systems, ULSSIS ’08, pages 23–26. ACM, 2008.
Christian Muller-Schloer, Hartmut Schmeck, and Theo Ungerer, editors. Organic Computing - A Paradigm Shift for Complex Systems. Birkhuser, 2011.
A. Newell, P. S. Rosenbloom, and J. E. Laird. Symbolic architectures for cognition. In M. Posner, editor, Foundations of Cognitive Science, pages 93–132. MIT Press, 1989.
H. P. Nii. Blackboard systems, part one: The blackboard model of problem solving and the evolution of blackboard architectures. In AI Magazine, volume 7, pages 38–53, 1986.
L.D. Paulson. DARPA creating self-aware computing. Computer, 36(3):24, 2003.
J. Rothenberg. The nature of modeling. In Lawrence E. Widman, Kenneth A. Loparo, and Norman R. Nielsen, editors, Artificial Intelligence, Simulation & Modeling, pages 75–92. John Wiley & Sons, Inc., New York, NY, USA, 1989.
Romain Rouvoy, Frank Eliassen, Jacqueline Floch, Svein Hallsteinsen, and Erlend Stav. Composing components and services using a planning-based adaptation middleware. In Software Composition, pages 52–67. Springer, 2008.
Stuart J. Russell and Peter Norvig. Artificial Intelligence - A Modern Approach (3. internat. ed.). Pearson Education, 2010.
Mazeiar Salehie and Ladan Tahvildari. Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst., 4(2):1–42, 2009.
Hartmut Schmeck, Christian Müller-Schloer, Emre Çakar, Moez Mnif, and Urban Richter. Adaptivity and self-organization in organic computing systems. ACM Trans. Auton. Adapt. Syst., 5(3):10:1–10:32, 2010.
Mary Shaw. Beyond objects: A software design paradigm based on process control. ACM SIGSOFT Software Engineering Notes, 20(1):27–38, 1995.
Mary Shaw and David Garlan. An Introduction to Software Architecture. V. Ambriola and G. Tortora (ed.): Advances in Software Engineering and Knowledge Engineering, 2:1–39, 1993.
Thomas Vogel and Holger Giese. Adaptation and Abstract Runtime Models. In Proceedings of the 5th Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2010), pages 39–48. ACM, 2010.
Thomas Vogel and Holger Giese. Model-Driven Engineering of Self-Adaptive Software with EUREMA. ACM Trans. Auton. Adapt. Syst., 8(4):18:1–18:33, 2014.
Thomas Vogel and Holger Giese. On Unifying Development Models and Runtime Models. In Proceedings of the 9th International Workshop on Models@run.time, volume 1270 of CEUR Workshop Proceedings, pages 5–10. CEUR-WS.org, 2014.
Thomas Vogel, Andreas Seibel, and Holger Giese. The Role of Models and Megamodels at Runtime. In Juergen Dingel and Arnor Solberg, editors, Models in Software Engineering, volume 6627 of Lecture Notes in Computer Science (LNCS), pages 224–238. Springer, 2011.
Sebastian Wtzoldt and Holger Giese. Modeling Collaborations in Adaptive Systems of Systems. In Proceedings of the European Conference on Software Architecture Workshops, ECSAW. ACM, 2015.
Eric Yuan, Naeem Esfahani, and Sam Malek. Automated mining of software component interactions for self-adaptation. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2014, pages 27–36. ACM, 2014.
Franco Zambonelli, Nicola Bicocchi, Giacomo Cabri, Letizia Leonardi, and Mariachiara Puviani. On self-adaptation, self-expression, and self-awareness in autonomic service component ensembles. In Proc. of the Fifth IEEE Conference on Self-Adaptive and Self-Organizing Systems Workshops (SASOW), pages 108–113. IEEE, 2011.
Acknowledgements
This chapter is the result of stimulating discussions among the authors and other participants, especially Paola Inverardi and Peter Lewis, during the seminar on Model-driven Algorithms and Architectures for Self-Aware Computing Systems at Schloss Dagstuhl in January 2015 (http://www.dagstuhl.de/15041).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Giese, H. et al. (2017). State of the Art in Architectures for Self-aware Computing Systems. In: Kounev, S., Kephart, J., Milenkoski, A., Zhu, X. (eds) Self-Aware Computing Systems. Springer, Cham. https://doi.org/10.1007/978-3-319-47474-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-47474-8_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-47472-4
Online ISBN: 978-3-319-47474-8
eBook Packages: Computer ScienceComputer Science (R0)