Generic Architectures for Individual Self-aware Computing Systems

  • Holger Giese
  • Thomas Vogel
  • Ada Diaconescu
  • Sebastian Götz
  • Kirstie L. Bellman
Chapter

Abstract

Making computing systems self-aware calls for appropriate architectural designs of such systems that allow developers to explicitly decide and reason about the system’s self-awareness capabilities. In this context, a critical issue is the development of appropriate reflections that enable self-awareness and that impact the architectural design. This chapter, therefore, discusses generic architectures for pre-reflective, reflective, and meta-reflective self-awareness as well as various forms of constructing reflections while focusing on an individual system as opposed to a collective of self-aware computing systems. Finally, we discuss the presented ideas with respect to existing control schemes and architectural styles for self-adaptive software that seem to be promising for the architectural design of self-aware computing systems.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Jeffrey O. Kephart and David M. Chess. The vision of autonomic computing. Computer, 36(1):41–50, 2003.Google Scholar
  2. 2.
    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
  3. 3.
    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
  4. 4.
    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
  5. 5.
    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
  6. 6.
    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
  7. 7.
    Mazeiar Salehie and Ladan Tahvildari. Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst., 4(2):14:1–14:42, 2009.Google Scholar
  8. 8.
    Anant Agarwal and Bill Harrod. Organic computing. Technical Report White paper, MIT and DARPA, 2006.Google Scholar
  9. 9.
    Christian Muller-Schloer, Hartmut Schmeck, and Theo Ungerer, editors. Organic Computing - A Paradigm Shift for Complex Systems. Birkhuser, 2011.Google Scholar
  10. 10.
    John E. Kelly and Steve Hamm. Smart machines : IBM’s Watson and the era of cognitive computing. Columbia Business School Publishing, 2013.Google Scholar
  11. 11.
    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
  12. 12.
    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
  13. 13.
    Samuel Kounev. Self-Aware Software and Systems Engineering: A Vision and Research Roadmap. In GI Softwaretechnik-Trends, 31(4), November 2011, ISSN 0720-8928, Karlsruhe, Germany, 2011.Google Scholar
  14. 14.
    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
  15. 15.
    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.Google Scholar
  16. 16.
    L.D. Paulson. DARPA creating self-aware computing. Computer, 36(3):24, 2003.Google Scholar
  17. 17.
    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
  18. 18.
    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
  19. 19.
    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
  20. 20.
    G. Blair, N. Bencomo, and R.B. France. Models@ run.time. Computer, 42(10):22–27, Oct 2009.Google Scholar
  21. 21.
    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, Oslo, Norway, October 3-8, 2010, Reports and Revised Selected Papers, volume 6627 of Lecture Notes in Computer Science (LNCS), pages 224–238. Springer, 2011.Google Scholar
  22. 22.
    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
  23. 23.
    M.T. Cox. Metacognition in computation: A selected research review. Art. Int., 169(2):104–141, 2005.Google Scholar
  24. 24.
    Janet Metcalfe and Arthur P. Shimamura, editors. Metacognition: Knowing about knowing. MIT Press, Cambridge, MA, USA, 1994.Google Scholar
  25. 25.
    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
  26. 26.
    Peter R. Lewis, Arjun Chandra, Shaun Parsons, Edward Robinson, Kyrre Glette, Rami Bahsoon, Jim Torresen, and Xin Yao. A survey of self-awareness and its application in computing systems. In Proc. Int. Conference on Self-Adaptive and Self-Organizing Systems Workshops (SASOW), pages 102–107. IEEE, 2011.Google Scholar
  27. 27.
    Jeremy Pitt, editor. The Computer After Me: Awareness and Self-awareness in Autonomic Systems. Imperial College Press, 2014.Google Scholar
  28. 28.
    Julia Schaumeier, Jeremy Pitt, and Giacomo Cabri. A tripartite analytic framework for characterising awareness and self-awareness in autonomic systems research. In Proc. of the Sixth IEEE Conference on Self-Adaptive and Self-Organizing Systems Workshops (SASOW), pages 157–162. IEEE, 2012.Google Scholar
  29. 29.
    Mary Shaw and David Garlan. An Introduction to Software Architecture. volume 2, pages 1–39. World Scientific Publishing Company, 1993.Google Scholar
  30. 30.
    Jeff Kramer and Jeff Magee. Self-Managed Systems: an Architectural Challenge. In FOSE ’07: 2007 Future of Software Engineering, pages 259–268. IEEE, 2007.Google Scholar
  31. 31.
    Mary Shaw. Beyond objects: A software design paradigm based on process control. ACM SIGSOFT Software Engineering Notes, 20(1):27–38, 1995.Google Scholar
  32. 32.
    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
  33. 33.
    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
  34. 34.
    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
  35. 35.
    Wladyslaw Findeisen, Fred N. Bailey, Mieczyslaw Brdys, Krzysztof Malinowski, Piotr Tatjewski, and Adam Wozniak. Control and Coordination in Hierarchical Systems. International series on applied systems analysis. J. Wiley, 1980.Google Scholar
  36. 36.
    Karl J. strm and Richard M. Murray. Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press, 2008.Google Scholar
  37. 37.
    Karl J. strm and Bjrn Wittenmark. Adaptive Control. Dover Publications Inc., 2 edition, 2008.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
  • Kirstie L. Bellman
    • 4
  1. 1.Hasso Plattner Institute for Software Systems Engineering at the University of PotsdamPotsdamGermany
  2. 2.Telécom ParisTech, Equipe S3, Departement INFRESParisFrance
  3. 3.TU DresdenDresdenGermany
  4. 4.Aerospace Integration Science Center, The Aerospace CorporationEl SegundoUSA

Personalised recommendations