Self-Explanation in Adaptive Systems Based on Runtime Goal-Based Models

  • Kris WelshEmail author
  • Nelly Bencomo
  • Pete Sawyer
  • Jon Whittle
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8780)


The behaviour of self adaptive systems can be emergent, which means that the system’s behaviour may be seen as unexpected by its customers and its developers. Therefore, a self-adaptive system needs to garner confidence in its customers and it also needs to resolve any surprise on the part of the developer during testing and maintenance. We believe that these two functions can only be achieved if a self-adaptive system is also capable of self-explanation. We argue a self-adaptive system’s behaviour needs to be explained in terms of satisfaction of its requirements. Since self-adaptive system requirements may themselves be emergent, we propose the use of goal-based requirements models at runtime to offer self-explanation of how a system is meeting its requirements. We demonstrate the analysis of run-time requirements models to yield a self-explanation codified in a domain specific language, and discuss possible future work.


Self-explanation Self-adaptive Goals Claims 


  1. 1.
    Muir, B.M.: Trust in automation: Part I. theoretical issues in the study of trust and human intervention in automated systems. Ergonomics 37(11), 1905–1922 (1994)CrossRefGoogle Scholar
  2. 2.
    Gillieis, A.C., Hart, A.: Using kbs ideas in image processing - a case study in human computer interaction. In: Research and Development in Expert Systems V: Proceedings of Expert Systems ’88, pp. 258–268 (1988)Google Scholar
  3. 3.
    Sawyer, P., Bencomo, N., Whittle, J., Letier, E., Finkelstein, A.: Requirements-aware systems: a research agenda for re for self-adaptive systems. In: IEEE International Conference on Requirements Engineering, pp. 95–103 (2010)Google Scholar
  4. 4.
    Robinson, W.: A requirements monitoring framework for enterprise systems. Requir. Eng. 11(1), 17–41 (2005)CrossRefGoogle Scholar
  5. 5.
    Fickas, S., Feather, M.: Requirements monitoring in dynamic environments. In: Second IEEE International Symposium on Requirements Engineering (RE’95) (1995)Google Scholar
  6. 6.
    Grace, P., Hughes, D., Porter, B., Blair, G., Coulson, G., Taiani, F.: Experiences with open overlays: a middleware approach to network heterogeneity. In: Submitted to Eurosys 2008, Glasgow, UK (2008)Google Scholar
  7. 7.
    Coulson, G., Blair, G., Grace, P., Joolia, A., Lee, K., Ueyama, J., Sivaharan, T.: A generic component model for building systems software. ACM Trans. Comput. Syst. 26(1), 1–42 (2008)CrossRefGoogle Scholar
  8. 8.
    Garlan, D., Cheng, S.W., Huang, A.C., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Comput. 37(10), 46–54 (2004)CrossRefGoogle Scholar
  9. 9.
    Georgas, J.C., van der Hoek, A., Taylor, R.N.: Using architectural models at runtime to manage and visualize the adaptation process. In: Bencomo, N., Blair, G.S., France, R. (eds.) Models@run.time, Special Issue. IEEE Computer (2009)Google Scholar
  10. 10.
    Bencomo, N., Whittle, J., Sawyer, P., Finkelstein, A., Letier, E.: Requirements reflection: requirements as runtime entities. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE ’10, vol. 2, pp. 199–202. ACM, New York (2010)Google Scholar
  11. 11.
    Souza, V.E.S., Lapouchnian, A., Robinson, W.N., Mylopoulos, J.: Awareness requirements for adaptive systems. In: ICSE Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2011, Waikiki, Honolulu, HI, USA, 23–24 May 2011, pp. 60–69 (2011)Google Scholar
  12. 12.
    Welsh, K., Sawyer, P., Bencomo, N.: Towards requirements aware systems: Run-time resolution of design-time assumptions. In: Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (2011)Google Scholar
  13. 13.
    Welsh, K., Sawyer, P.: Requirements tracing to support change in dynamically adaptive systems. In: Glinz, M., Heymans, P. (eds.) REFSQ 2009. LNCS, vol. 5512, pp. 59–73. Springer, Heidelberg (2009) Google Scholar
  14. 14.
    Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering, vol. 5. Springer, Heidelberg (1999)Google Scholar
  15. 15.
    Yu, E.S.K.: Towards modeling and reasoning support for early-phase requirements engineering. In: RE ’97: Proceedings of the 3rd IEEE International Symposium on Requirements Engineering (RE’97), Washington, DC, USA (1997)Google Scholar
  16. 16.
    Welsh, K., Sawyer, P.: Understanding the scope of uncertainty in dynamically adaptive systems. In: Wieringa, R., Persson, A. (eds.) REFSQ 2010. LNCS, vol. 6182, pp. 2–16. Springer, Heidelberg (2010) Google Scholar
  17. 17.
    Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H.C., Bruel, J.M.: Relax: a language to address uncertainty in self-adaptive systems requirement. Requir. Eng. 15(2), 177–196 (2010)CrossRefGoogle Scholar
  18. 18.
    Andersson, J., de Lemos, R., Malek, S., Weyns, D.: Modeling dimensions of self-adaptive software systems. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Self-Adaptive Systems. LNCS, vol. 5525, pp. 27–47. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  19. 19.
    Goldsby, H.J., Sawyer, P., Bencomo, N., Hughes, D., Cheng, B.H.: Goal-based modeling of dynamically adaptive system requirements. In: 15th Annual IEEE International Conference on the Engineering of Computer Based Systems (ECBS) (2008)Google Scholar
  20. 20.
    Lim, B.Y., Dey, A.K., Avrahami, D.: Why and why not explanations improve the intelligibility of context-aware intelligent systems. In: Proceedings of the 27th International Conference on Human Factors in Computing Systems, CHI ’09, pp. 2119–2128. ACM, New York (2009)Google Scholar
  21. 21.
    Hughes, D., Greenwood, P., Coulson, G., Blair, G., Pappenberger, F., Smith, P., Beven, K.: Gridstix: Supporting flood prediction using embedded hardware and next generation grid middleware. In: 4th International Workshop on Mobile Distributed Computing (MDC’06), Niagara Falls, USA (2006)Google Scholar
  22. 22.
    Duggan, D., Bent, F.: Explaining type inference. Sci. Comput. Program. 27, 37–83 (1995)CrossRefGoogle Scholar
  23. 23.
    Van Baalen, J., Robinson, P., Lowry, M., Pressburger, T.: Explaining synthesized software. In: Proceedings of the 13th IEEE International Conference on Automated Software Engineering, ASE ’98, pp. 240-249. IEEE Computer Society, Washington DC, USA (1998)Google Scholar
  24. 24.
    Huang, X., Huang, X., Fiedler, A., Fiedler, A.: Proof verbalization as an application of NLG. In: Proceedings of the 15th International Joint Conference on Artificial Intelligence (IJCAI), pp. 965–970. Morgan Kaufmann (1997)Google Scholar
  25. 25.
    Bundy, A.: Automated theorem provers: a practical tool for the working mathematician? Ann. Math. Artif. Intell. 61, 3–14 (2011). doi: 10.1007/s10472-011-9248-8 MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Golan, M., Hanson, D.R.: Duel - a very high-level debugging language. In: USENIX Winter, pp. 107–118 (1993)Google Scholar
  27. 27.
    Yang, J., Soffa, M.L., Selavo, L., Whitehouse, K.: Clairvoyant: a comprehensive source-level debugger for wireless sensor networks. In: Proceedings of the 5th International Conference on Embedded Networked Sensor Systems, SenSys ’07, pp. 189–203. ACM, New York (2007)Google Scholar
  28. 28.
    Silva Souza, V.E., Lapouchnian, A., Robinson, W.N., Mylopoulos, J.: Awareness requirements for adaptive systems. Technical report, University of Trento (2010)Google Scholar
  29. 29.
    Baresi, L., Pasquale, L., Spoletini, P.: Fuzzy goals for requirements-driven adaptation. In: 2010 18th IEEE International Requirements Engineering Conference (RE), pp. 125–134 (2010)Google Scholar
  30. 30.
    Nakagawa, H., Ohsuga, A., Honiden, S.: Constructing self-adaptive systems using a kaos model. In: Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops, 2008, SASOW 2008, pp. 132–137 (2008)Google Scholar
  31. 31.
    Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20, 3–50 (1993)CrossRefzbMATHGoogle Scholar
  32. 32.
    Lehman, M.M., Ramil, J.F.: Software evolution: background, theory, practice. Inf. Process. Lett. 88, 33–44 (2003)CrossRefzbMATHGoogle Scholar
  33. 33.
    Anquetil, N., Grammel, B., Galvao, I., Noppen, J., Shakil, S., Arboleda, H., Rashid, A., Garcia, A.: Traceability for model driven, software product line engineering. In: ECMDA (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Kris Welsh
    • 1
    Email author
  • Nelly Bencomo
    • 2
  • Pete Sawyer
    • 3
  • Jon Whittle
    • 3
  1. 1.School of ComputingUniversity of KentCanterburyUK
  2. 2.School of Engineering and Applied ScienceAston UniversityBirminghamUK
  3. 3.School of Computing and CommunicationsLancaster UniversityLancasterUK

Personalised recommendations