Reconciling White-Box and Black-Box Perspectives on Behavioral Self-adaptation

  • Roberto Bruni
  • Andrea Corradini
  • Fabio Gadducci
  • Matthias Hölzl
  • Alberto Lluch Lafuente
  • Andrea Vandin
  • Martin Wirsing

Abstract

This paper proposes to reconcile two perspectives on behavioral adaptation commonly taken at different stages of the engineering of autonomic computing systems. Requirements engineering activities often take a black-box perspective: A system is considered to be adaptive with respect to an environment whenever the system is able to satisfy its goals irrespectively of the environment perturbations. Modeling and programming engineering activities often take a white-box perspective: A system is equipped with suitable adaptation mechanisms and its behavior is classified as adaptive depending on whether the adaptation mechanisms are enacted or not. The proposed approach reconciles black- and white-box perspectives by proposing several notions of coherence between the adaptivity as observed by the two perspectives: These notions provide useful criteria for the system developer to assess and possibly modify the adaptation requirements, models and programs of an autonomic system.

Keywords

Autonomic Computing Behavioral Adaptation Requirements Engineering Software Engineering Linear-time Properties Games 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abeywickrama, D.B., Bicocchi, N., Zambonelli, F.: SOTA: Towards a general model for self-adaptive systems. In: Reddy, S., Drira, K. (eds.) WETICE 2012, pp. 48–53. IEEE Computer Society Press, Los Alamitos (2012)Google Scholar
  2. 2.
    de Alfaro, L.: Game models for open systems. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 269–289. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    de Alfaro, L., Henzinger, T.A.: Interface automata. ACM SIGSOFT Software Engineering Notes, vol. 26(5), ESEC/SIGSOFT FSE 2001, pp. 109–120 (2001) CrossRefGoogle Scholar
  4. 4.
    Autonomic Service Component Ensembles (ASCENS), http://www.ascens-ist.eu
  5. 5.
    Broy, M., Leuxner, C., Sitou, W., Spanfelner, B., Winter, S.: Formalizing the notion of adaptive system behavior. In: Shin, S.Y., Ossowski, S. (eds.) SAC 2009, pp. 1029–1033. ACM Press, New York (2009)Google Scholar
  6. 6.
    Bruni, R., Corradini, A., Gadducci, F., Lluch Lafuente, A., Vandin, A.: Adaptable transition systems. In: Martí-Oliet, N., Palomino, M. (eds.) WADT 2012. LNCS, vol. 7841, pp. 95–110. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  7. 7.
    Bruni, R., Corradini, A., Gadducci, F., Lluch Lafuente, A., Vandin, A.: A conceptual framework for adaptation. In: de Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 240–254. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  8. 8.
    Bruni, R., Corradini, A., Gadducci, F., Lluch-Lafuente, A., Vandin, A.: Adaptation is a game. TinyToCS 2 (2013)Google Scholar
  9. 9.
    Bruni, R., Corradini, A., Gadducci, F., Lluch-Lafuente, A., Vandin, A.: Modelling and analyzing adaptive self-assembly strategies with Maude. Science of Computer Programming 99(1), 75–94 (2015)CrossRefGoogle Scholar
  10. 10.
    Bruni, R., Corradini, A., Gadducci, F., Lluch Lafuente, A., Vandin, A.: A white box perspective on adaptation. In: De Nicola, R., Hennicker, R. (eds.) Software, Services and Systems. LNCS, vol. 8950, Springer, Heidelberg (2015)Google Scholar
  11. 11.
    De Nicola, R., Latella, D., Lafuente, A.L., Loreti, M., Margheri, A., Massink, M., Morichetta, A., Pugliese, R., Tiezzi, F., Vandin, A.: The SCEL Language: Design, Implementation, Verification. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 3–71. Springer, Heidelberg (2015)Google Scholar
  12. 12.
    De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: The SCEL language. ACM Transactions on Autonomous and Adaptive Systems 9(2), 7:1–7:29 (2014)CrossRefGoogle Scholar
  13. 13.
    Hölzl, M., Gabor, T.: Reasoning and Learning for Awareness and Adaptation. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 249–290. Springer, Heidelberg (2015)Google Scholar
  14. 14.
    Hölzl, M., Koch, N., Puviani, M., Wirsing, M., Zambonelli, F.: The Ensemble Development Life Cycle and Best Practices for Collective Autonomic Systems. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 325–354. Springer, Heidelberg (2015)Google Scholar
  15. 15.
    Hölzl, M., Wirsing, M.: Towards a system model for ensembles. In: Agha, G., Danvy, O., Meseguer, J. (eds.) Formal Modeling: Actors, Open Systems, Biological Systems. LNCS, vol. 7000, pp. 241–261. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  16. 16.
    Isaacs, R.: Differential Games. Dover, New York (1965)Google Scholar
  17. 17.
    Kulkarni, S.S., Biyani, K.N.: Correctness of component-based adaptation. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 48–58. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Lints, T.: The essentials in defining adaptation. Aerospace and Electronic Systems 27(1), 37–41 (2012)CrossRefGoogle Scholar
  19. 19.
    Maschler, M., Solan, E., Zamir, S.: Game Theory. Cambridge University Press, Cambridge (2013)CrossRefMATHGoogle Scholar
  20. 20.
    Patsko, V.S., Turova, V.L.: Homicidal chauffeur game: History and modern studies. In: Breton, M., Szajowski, K. (eds.) Advances in Dynamic Games. Annals of the International Society of Dynamic Games, vol. 11, pp. 227–252. Birkhäuser, Basel (2011)CrossRefGoogle Scholar
  21. 21.
    Pinciroli, C., Bonani, M., Mondada, F., Dorigo, M.: Adaptation and Awareness in Robot Ensembles: Scenarios and Algorithms. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 471–494. Springer, Heidelberg (2015)Google Scholar
  22. 22.
    Ross, D.: Game theory. In: Zalta, E.N. (ed.) The Stanford Encyclopedia of Philosophy. Stanford University, Winter 2014 edn. (2014), http://plato.stanford.edu/archives/win2014/entries/game-theory/
  23. 23.
    Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems 4(2), 14:1–14:42 (2009)CrossRefGoogle Scholar
  24. 24.
    Salvaneschi, G., Ghezzi, C., Pradella, M.: Context-oriented programming: A programming paradigm for autonomic systems (v2). CoRR abs/1105.0069 (2012)Google Scholar
  25. 25.
    Šerbedžija, N.: The ASCENS Case Studies: Results and Common Aspects. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 451–469. Springer, Heidelberg (2015)Google Scholar
  26. 26.
    Vassev, E., Hinchey, M.: Engineering Requirements for Autonomy Features. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 379–403. Springer, Heidelberg (2015)Google Scholar
  27. 27.
    Zadeh, L.A.: On the definition of adaptivity. Proceedings of the IEEE 51(3), 469–470 (1963)CrossRefMathSciNetGoogle Scholar
  28. 28.
    Zhang, J., Goldsby, H., Cheng, B.H.C.: Modular verification of dynamically adaptive systems. In: Moreira, A., Schwanninger, C., Baillargeon, R., Grechanik, M. (eds.) AOSD 2009, pp. 161–172. ACM Press, New York (2009)Google Scholar
  29. 29.
    Zhao, Y., Ma, D., Li, J., Li, Z.: Model checking of adaptive programs with mode-extended linear temporal logic. In: EASe 2011, pp. 40–48. IEEE Computer Society Press, Los Alamitos (2011)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Roberto Bruni
    • 1
  • Andrea Corradini
    • 1
  • Fabio Gadducci
    • 1
  • Matthias Hölzl
    • 2
  • Alberto Lluch Lafuente
    • 3
  • Andrea Vandin
    • 4
  • Martin Wirsing
    • 2
  1. 1.Department of Computer ScienceUniversity of PisaItaly
  2. 2.Ludwig-Maximilians-UniversitätMünchenGermany
  3. 3.DTU ComputeTechnical University of DenmarkDenmark
  4. 4.Electronics and Computer ScienceUniversity of SouthamptonUK

Personalised recommendations