Architectural Concepts for Self-aware Computing Systems

  • Holger Giese
  • Thomas Vogel
  • Ada Diaconescu
  • Sebastian Götz
  • Samuel Kounev
Chapter

Abstract

Self-awareness in a computing system is achieved by implementing a model-based learning, reasoning, and acting loop (LRA-M loop). Similar to the feedback loops for self-adaptive software, we argue that the LRA-M loop should be addressed during the architectural design of self-aware computing systems. This allows engineers to explicitly decide and reason about the system’s self-awareness capabilities. This chapter, therefore, introduces the relevant architectural concepts to address and make the LRA-M loop visible in the architectural design. Based on these concepts, we discuss how context-awareness, self-awareness, and meta-self-awareness become manifest in an architecture. Finally, we relate the presented architectural concepts to the definition and framework for self-aware computing systems introduced in the previous chapters.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Anant Agarwal and Bill Harrod. Organic computing. Technical Report White paper, MIT and DARPA, 2006.Google Scholar
  2. 2.
    Anant Agarwal, Jason Miller, Jonathan Eastep, David Wentziaff, and Harshad Kasture. Self-aware computing. Technical Report AFRL-RI-RS-TR-2009-161, MIT, 2009.Google Scholar
  3. 3.
    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.Google Scholar
  4. 4.
    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.Google Scholar
  5. 5.
    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.Google Scholar
  6. 6.
    Gordon Blair, Nelly Bencomo, and Robert France. Models@run.time. Computer, 42(10):22–27, 2009.Google Scholar
  7. 7.
    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.Google Scholar
  8. 8.
    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.Google Scholar
  9. 9.
    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.Google Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    M.T. Cox. Metacognition in computation: A selected research review. Art. Int., 169(2):104–141, 2005.Google Scholar
  13. 13.
    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.Google Scholar
  14. 14.
    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.Google Scholar
  15. 15.
    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.Google Scholar
  16. 16.
    Sylvain Frey, Ada Diaconescu, and Isabelle M. Demeure. Architectural Integration Patterns for Autonomic Management Systems. In Proc. of the 9th IEEE International Conference and Workshops on the Engineering of Autonomic and Autonomous Systems (EASe 2012), 2012.Google Scholar
  17. 17.
    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.Google Scholar
  18. 18.
    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.Google Scholar
  19. 19.
    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.Google Scholar
  20. 20.
    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.Google Scholar
  21. 21.
    John E. Kelly and Steve Hamm. Smart machines: IBM’s Watson and the era of cognitive computing. Columbia Business School Publishing, 2013.Google Scholar
  22. 22.
    Jeffrey O. Kephart and David M. Chess. The vision of autonomic computing. Computer, 36(1):41–50, 2003.Google Scholar
  23. 23.
    Samuel Kounev. Self-Aware Software and Systems Engineering: A Vision and Research Roadmap. In GI Softwaretechnik-Trends, 31(4), November 2011, Karlsruhe, Germany, 2011.Google Scholar
  24. 24.
    Jeff Kramer and Jeff Magee. Self-Managed Systems: an Architectural Challenge. In FOSE ’07: Future of Software Engineering, pages 259–268. IEEE, 2007.Google Scholar
  25. 25.
    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.Google Scholar
  26. 26.
    Janet Metcalfe and Arthur P. Shimamura, editors. Metacognition: Knowing about knowing. MIT Press, Cambridge, MA, USA, 1994.Google Scholar
  27. 27.
    Melanie Mitchell. Self-awareness and control in decentralized systems (Tech Report SS-05-04). In AAAI Spring Symp. on Metacognition in Computation, Menlo Park, 2005. AIII Press.Google Scholar
  28. 28.
    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.Google Scholar
  29. 29.
    Christian Muller-Schloer, Hartmut Schmeck, and Theo Ungerer, editors. Organic Computing - A Paradigm Shift for Complex Systems. Birkhuser, 2011.Google Scholar
  30. 30.
    Hausi A. Mller, Holger M. Kienle, and Ulrike Stege. Autonomic Computing Now You See It, Now You Don’t. In Andrea Lucia and Filomena Ferrucci, editors, Software Engineering: International Summer Schools, ISSSE 2006-2008, Salerno, Italy, Revised Tutorial Lectures, volume 5413 of Lecture Notes in Computer Science (LNCS), pages 32–54. Springer, 2009.Google Scholar
  31. 31.
    Object Management Group. OMG Systems Modeling Language (OMG SysML\(^{TM}\)), 2015. Version 1.4, formal/2015-06-03.Google Scholar
  32. 32.
    Object Management Group. OMG Unified Modeling Language\(^{TM}\) (OMG UML), 2015. Version 2.5, formal/2015-03-01.Google Scholar
  33. 33.
    L.D. Paulson. DARPA creating self-aware computing. Computer, 36(3):24, 2003.Google Scholar
  34. 34.
    Mazeiar Salehie and Ladan Tahvildari. Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst., 4(2):1–42, 2009.Google Scholar
  35. 35.
    Mary Shaw. Beyond objects: A software design paradigm based on process control. ACM SIGSOFT Software Engineering Notes, 20(1):27–38, 1995.Google Scholar
  36. 36.
    Mary Shaw and David Garlan. An Introduction to Software Architecture. volume 2, pages 1–39. World Scientific Publishing Company, 1993.Google Scholar
  37. 37.
    Vítor E. Silva Souza, Alexei Lapouchnian, William N. Robinson, and John Mylopoulos. Awareness requirements for adaptive systems. In Proc. of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pages 60–69. ACM, 2011.Google Scholar
  38. 38.
    Clemens Szyperski, Dirk Gruntz, and Stephan Murer. Component Software Beyond Object-Oriented Programming. Component Software. Addison-Wesley, New York, NY, USA, 2nd edition, 2002.Google Scholar
  39. 39.
    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, May 2010.Google Scholar
  40. 40.
    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.Google Scholar
  41. 41.
    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, Workshops and Symposia at MODELS 2010, Reports and Revised Selected Papers, volume 6627 of Lecture Notes in Computer Science (LNCS), pages 224–238. Springer, 2011.Google Scholar
  42. 42.
    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’14, pages 27–36. ACM, 2014.Google Scholar
  43. 43.
    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.Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Holger Giese
    • 1
  • Thomas Vogel
    • 1
  • Ada Diaconescu
    • 2
  • Sebastian Götz
    • 3
  • Samuel Kounev
    • 4
  1. 1.Hasso Plattner Institute for Software Systems Engineering at the University of PotsdamPotsdamGermany
  2. 2.Equipe S3, Departement INFRESTelécom ParisTechParisFrance
  3. 3.TU DresdenDresdenGermany
  4. 4.Department of Computer ScienceUniversity of WrzburgWürzburgGermany

Personalised recommendations