Advertisement

An Extended Description of MORPH: A Reference Architecture for Configuration and Behaviour Self-Adaptation

  • Victor Braberman
  • Nicolas D’IppolitoEmail author
  • Jeff Kramer
  • Daniel Sykes
  • Sebastian Uchitel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9640)

Abstract

An architectural approach to self-adaptive systems involves runtime change of system configuration (i.e., the system’s components, their bindings and operational parameters) and behaviour update (i.e., component orchestration). The architecture should allow for both configuration and behaviour changes selected from pre-computed change strategies and for synthesised change strategies at run-time to satisfy changes in the environment, changes in the specified goals of the system or in response to failures or degradation in quality attributes, such as performance, of the system itself. Although controlling configuration and behaviour at runtime has been discussed and applied to architectural adaptation, architectures for self-adaptive systems often compound these two aspects reducing the potential for adaptability. In this work we provide an extended description of our proposal for a reference architecture that allows for coordinated yet transparent and independent adaptation of system configuration and behaviour.

References

  1. 1.
    Sykes, D., Heaven, W., Magee, J., Kramer, J.: From goals to components: a combined approach to self-management. In: Proceedings of the 2008 International Workshop on Software Engineering for Adaptive and Self-managing Systems, SEAMS 2008, pp. 1–8. ACM, New York (2008)Google Scholar
  2. 2.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003).  https://doi.org/10.1109/MC.2003.1160055 MathSciNetCrossRefGoogle Scholar
  3. 3.
    Garlan, D., Cheng, S., Huang, A., Schmerl, B.R., Steenkiste, P.: Rainbow: architecture-based self-adaptation with reusable infrastructure. IEEE Comput. 37(10), 46–54 (2004)CrossRefGoogle Scholar
  4. 4.
    Filieri, A., Hoffmann, H., Maggio, M.: Automated design of self-adaptive software with control-theoretical formal guarantees. In: Jalote, P., Briand, L.C., van der Hoek, A. (eds.) 36th International Conference on Software Engineering, ICSE 2014, Hyderabad, India, 31 May–07 June 2014, ACM, 2014, pp. 299–310.  https://doi.org/10.1145/2568225.2568272
  5. 5.
    Parekh, S.: Feedback control techniques for performance management of computing systems. Ph.D. dissertation, Seattle, WA, USA (2010)Google Scholar
  6. 6.
    Baresi, L., Guinea, S.: Dynamo and self-healing BPEL compositions. In: Companion to the Proceedings of the 29th International Conference on Software Engineering, ICSE COMPANION 2007, pp. 69–70. IEEE Computer Society, Washington, DC.  https://doi.org/10.1109/ICSECOMPANION.2007.31
  7. 7.
    Nau, D., Ghallab, M., Traverso, P.: Automated Planning: Theory & Practice. Morgan Kaufmann Publishers Inc., San Francisco (2004)zbMATHGoogle Scholar
  8. 8.
    Ramadge, P.J., Wonham, W.M.: The control of discrete event systems. Proc. IEEE 77(1), 81–98 (1989)CrossRefzbMATHGoogle Scholar
  9. 9.
    Kang, S., Garlan, D.: Architecture-based planning of software evolution. Int. J. Softw. Eng. Knowl. Eng. 24(2), 211–242 (2014)CrossRefGoogle Scholar
  10. 10.
    Arshad, N., Heimbigner, D., Wolf, A.L.: Deployment and dynamic reconfiguration planning for distributed software systems. Softw. Qual. J. 15(3), 265–281 (2007)CrossRefGoogle Scholar
  11. 11.
    Tajalli, H., Garcia, J., Edwards, G., Medvidovic, N.: Plasma: a plan-based layered architecture for software model-driven adaptation. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ASE 2010, pp. 467–476. ACM, New York (2010).  https://doi.org/10.1145/1858996.1859092
  12. 12.
    D’Ippolito, N., Braberman, V.A., Piterman, N., Uchitel, S.: Synthesizing nonanomalous event-based controllers for liveness goals. ACM Trans. Softw. Eng. Methodol. 22(1), 9 (2013)Google Scholar
  13. 13.
    Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: International Conference on Software Engineering, ISCE 2007, Workshop on the Future of Software Engineering, FOSE 2007, 23–25 May 2007, Minneapolis, MN, USA, pp. 259–268 (2007)Google Scholar
  14. 14.
    Dashofy, E.M., van der Hoek, A., Taylor, R.N.: Towards architecture-based self-healing systems. In: Proceedings of the First Workshop on Self-healing Systems, WOSS 2002, pp. 21–26. ACM, New York (2002)Google Scholar
  15. 15.
    Batista, T., Joolia, A., Coulson, G.: Managing dynamic reconfiguration in component-based systems. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 1–17. Springer, Heidelberg (2005).  https://doi.org/10.1007/11494713_1 CrossRefGoogle Scholar
  16. 16.
    Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., Wolf, A.L.: An architecture-based approach to self-adaptive software. IEEE Intell. Syst. 14(3), 54–62 (1999)CrossRefGoogle Scholar
  17. 17.
    Inverardi, P., Tivoli, M.: Software architecture for correct components assembly. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 92–121. Springer, Heidelberg (2003).  https://doi.org/10.1007/978-3-540-39800-4_6 CrossRefGoogle Scholar
  18. 18.
    Leva, A., Maggio, M., Papadopoulos, A.V., Terraneo, F.: Control-Based Operating System Design, Ser. Control Engineering Series, IET (2013)zbMATHGoogle Scholar
  19. 19.
    Kramer, J., Magee, J.: The evolving philosophers problem: dynamic change management. IEEE Trans. Softw. Eng. 16(11), 1293–1306 (1990).  https://doi.org/10.1109/32.60317 CrossRefGoogle Scholar
  20. 20.
    Vandewoude, Y., Ebraert, P., Berbers, Y., D’Hondt, T.: Tranquility: a low disruptive alternative to quiescence for ensuring safe dynamic updates. IEEE Trans. Softw. Eng. 33(12), 856–868 (2007).  https://doi.org/10.1109/TSE.2007.70733 CrossRefGoogle Scholar
  21. 21.
    Ghezzi, C., Greenyer, J., La Manna, V.P.: Synthesizing dynamically updating controllers from changes in scenario-based specifications. In: Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2012, pp. 145–154. IEEE Press, Piscataway (2012). http://dl.acm.org/citation.cfm?id=2666795.2666819
  22. 22.
    Sykes, D., Magee, J., Kramer, J.: FlashMob: distributed adaptive self-assembly. In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2011, pp. 100–109. ACM, New York (2011)Google Scholar
  23. 23.
    Di Marco, A., Inverardi, P., Spalazzese, R.: Synthesizing self-adaptive connectors meeting functional and performance concerns. In: Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2013, pp. 133–142. IEEE Press, Piscataway (2013)Google Scholar
  24. 24.
    Bennaceur, A., Inverardi, P., Issarny, V., Spalazzese, R.: Automated synthesis of connectors to support software evolution. ERCIM News 2012, 88 (2012)Google Scholar
  25. 25.
    Issarny, V., Bennaceur, A., Bromberg, Y.-D.: Middleware-layer connector synthesis: beyond state of the art in middleware interoperability. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 217–255. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-21455-4_7 CrossRefGoogle Scholar
  26. 26.
    D’Ippolito, N., Fischbein, D., Chechik, M., Uchitel, S.: MTSA: the modal transition system analyser. In: 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), 15–19 September 2008, L’Aquila, Italy, pp. 475–476. IEEE (2008).  https://doi.org/10.1109/ASE.2008.78
  27. 27.
    D’Ippolito, N., Braberman, V.A., Piterman, N., Uchitel, S.: Synthesis of live behaviour models for fallible domains. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, HI, USA, 21–28 May 2011, pp. 211–220 (2011)Google Scholar
  28. 28.
    D’Ippolito, N., Braberman, V.A., Piterman, N., Uchitel, S.: The modal transition system control problem. In: FM 2012: Formal Methods - Proceedings of 18th International Symposium, Paris, France, 27–31 August 2012, pp. 155–170 (2012)Google Scholar
  29. 29.
    D’Ippolito, N., Braberman, V.A., Kramer, J., Magee, J., Sykes, D., Uchitel, S.: Hope for the best, prepare for the worst: multi-tier control for adaptive systems. In: Jalote, P., Briand, L.C., van der Hoek, A. (eds.) 36th International Conference on Software Engineering, ICSE 2014, Hyderabad, India, 31 May–07 June 2014, pp. 688–699. ACM (2014)Google Scholar
  30. 30.
    Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972).  https://doi.org/10.1145/361598.361623 CrossRefGoogle Scholar
  31. 31.
    Braberman, V.A., D’Ippolito, N., Kramer, J., Sykes, D., Uchitel, S.: MORPH: a reference architecture for configuration and behaviour self-adaptation. In: Filieri, A., Maggio, M. (eds.) Proceedings of the 1st International Workshop on Control Theory for Software Engineering, CTSE@SIGSOFT FSE 2015, Bergamo, Italy, 31 August–04 September 2015, pp. 9–16. ACM (2015).  https://doi.org/10.1145/2804337.2804339
  32. 32.
    Hirsch, D., Kramer, J., Magee, J., Uchitel, S.: Modes for software architectures. In: Gruhn, V., Oquendo, F. (eds.) EWSA 2006. LNCS, vol. 4344, pp. 113–126. Springer, Heidelberg (2006).  https://doi.org/10.1007/11966104_9 CrossRefGoogle Scholar
  33. 33.
    McVeigh, A., Kramer, J., Magee, J.: Evolve: tool support for architecture evolution. In: Taylor, R.N., Gall, H., Medvidovic, N. (eds.) Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, HI, USA, 21–28 May 2011, pp. 1040–1042. ACM (2011).  https://doi.org/10.1145/1985793.1985990
  34. 34.
    McVeigh, A., Kramer, J., Magee, J.: Using resemblance to support component reuse and evolution, pp. 49–56 (2006).  https://doi.org/10.1145/1181195.1181206
  35. 35.
    Lamsweerde, A.V.: Goal-oriented requirements engineering: a guided tour. In: Proceedings of the Fifth IEEE International Symposium on Requirements Engineering, IEEE Computer Society Washington, DC, USA, p. 0249. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  36. 36.
    Yu, E.S.K.: Towards modeling and reasoning support for early-phase requirements engineering. In: Proceedings of the 3rd IEEE International Symposium on Requirements Engineering, RE 1997, pp. 226–235. IEEE Computer Society, Washington, DC (1997). http://dl.acm.org/citation.cfm?id=827255.827807
  37. 37.
    Jackson, M.: The world and the machine. In: Proceedings of the 17th International Conference on Software Engineering, ICSE 1995, pp. 283–292. ACM, New York (1995).  https://doi.org/10.1145/225014.225041
  38. 38.
    Jackson, M.: Software Requirements & Specifications: A Lexicon of Practice, Principles and Prejudices. ACM Press/Addison-Wesley Publishing Co., New York (1995)Google Scholar
  39. 39.
    Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying distributed software architectures. In: Schäfer, W., Botella, P. (eds.) ESEC 1995. LNCS, vol. 989, pp. 137–153. Springer, Heidelberg (1995).  https://doi.org/10.1007/3-540-60406-5_12 CrossRefGoogle Scholar
  40. 40.
    Garlan, D., Monroe, R., Wile, D.: ACME: an architecture description interchange language. In: Proceedings of the 1997 Conference of the Centre for Advanced Studies on Collaborative Research, CASCON 1997, p. 7. IBM Press (1997). http://dl.acm.org/citation.cfm?id=782010.782017
  41. 41.
    Heitmeyer, C.L.: Software Cost Reduction. John Wiley & Sons Inc. (2002).  https://doi.org/10.1002/0471028959.sof307
  42. 42.
    Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987).  https://doi.org/10.1016/0167-6423. 90035–90039MathSciNetCrossRefzbMATHGoogle Scholar
  43. 43.
    Sykes, D., Corapi, D., Magee, J., Kramer, J., Russo, A., Inoue, K.: Learning revised models for planning in adaptive systems. In: Proceedings of the 2013 International Conference on Software Engineering, Ser., ICSE 2013, pp. 63–71. IEEE Press, Piscataway (2013)Google Scholar
  44. 44.
    Hollnagel, E.: Human Reliability Analysis: Context and Control, A Volume in the Computers and People Series. Academic Press (1993). https://books.google.com.ar/books?id=jGtRAAAAMAAJ
  45. 45.
    de Lemos, R., Fields, B., Saeed, A.: Analysis of safety requirements in the context of system faults and human errors. In: Proceedings of the 1995 International Symposium and Workshop on Systems Engineering of Computer Based Systems, pp. 374–381 (1995)Google Scholar
  46. 46.
    Bertoli, P., Cimatti, A., Pistore, M., Roveri, M., Traverso, P.: MBP: a model based planner. In: Proceedings of the IJCAI 2001 Workshop on Planning under Uncertainty and Incomplete Information (2001)Google Scholar
  47. 47.
    Cimatti, A., Clarke, E.M., Giunchiglia, F., Roveri, M.: NUSMV: a new symbolic model checker. In: STTT, vol. 2, no. 4, pp. 410–425 (2000).  https://doi.org/10.1007/s100090050046
  48. 48.
    Pistore, M., Barbon, F., Bertoli, P., Shaparau, D., Traverso, P.: Planning and monitoring web service composition. In: Bussler, C., Fensel, D. (eds.) AIMSA 2004. LNCS (LNAI), vol. 3192, pp. 106–115. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-30106-6_11 CrossRefGoogle Scholar
  49. 49.
    Gat, E., Bonnasso, R.P., Murphy, R.: On three-layer architectures. In: Artificial Intelligence and Mobile Robots, pp. 195–210. AAAI Press (1997)Google Scholar
  50. 50.
    Braberman, V.A., D’Ippolito, N., Piterman, N., Sykes, D., Uchitel, S.: Controller synthesis: from modelling to enactment. In: 35th International Conference on Software Engineering, ICSE 2013, San Francisco, CA, USA, 18–26 May 2013, pp. 1347–1350 (2013)Google Scholar
  51. 51.
    Eighth IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2014, London, United Kingdom, 8–12 September 2014. IEEE (2014). http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6998166
  52. 52.
    Engels, G., Bencomo, N. (eds.): Proceedings of 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2014, Hyderabad, India, 2–3 June 2014. ACM (2014). http://dl.acm.org/citation.cfm?id=2593929
  53. 53.
    Poole, D.L., Mackworth, A.K.: Artificial Intelligence: Foundations of Computational Agents. Cambridge University Press, New York (2010)CrossRefzbMATHGoogle Scholar
  54. 54.
    da Silva, C.E., de Lemos, R.: A framework for automatic generation of processes for self-adaptive software systems. Informatica (Slovenia) 35(1), 3–13 (2011)Google Scholar
  55. 55.
    Cassandras, C.G., Lafortune, S.: Introduction to Discrete Event Systems, 2nd edn. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-0-387-68612-7 zbMATHGoogle Scholar
  56. 56.
    Allen, A.O.: Probability, Statistics, and Queueing Theory with Computer Science Applications. Academic Press Inc., Orlando (1978)zbMATHGoogle Scholar
  57. 57.
    Cimatti, A., Pistore, M., Roveri, M., Traverso, P.: Weak, strong, and strong cyclic planning via symbolic model checking. Artif. Intell. 147(1–2), 35–84 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  58. 58.
    Giannakopoulou, D., Păsăreanu, C.S.: Context synthesis. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 191–216. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-21455-4_6 CrossRefGoogle Scholar
  59. 59.
    Cobleigh, J.M., Giannakopoulou, D., PĂsĂreanu, C.S.: Learning assumptions for compositional verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003).  https://doi.org/10.1007/3-540-36577-X_24 CrossRefGoogle Scholar
  60. 60.
    Swanson, J., Cohen, M.B., Dwyer, M.B., Garvin, B.J., Firestone, J.: Beyond the rainbow: self-adaptive failure avoidance in configurable systems. In: Cheung, S., Orso, A., Storey, M.D. (eds.) Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (FSE-22), Hong Kong, China, 16–22 November 2014, pp. 377–388. ACM (2014).  https://doi.org/10.1145/2635868.2635915
  61. 61.
    Brun, Y., et al.: Engineering self-adaptive systems through feedback loops. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 48–70. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-02161-9_3 CrossRefGoogle Scholar
  62. 62.
    Diao, Y., Hellerstein, J.L., Parekh, S., Griffith, R., Kaiser, G.E., Phung, D.: A control theory foundation for self-managing computing systems. IEEE J. Sel. Areas Commun. 23(12), 2213–2222 (2006)CrossRefGoogle Scholar
  63. 63.
    Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)MathSciNetCrossRefGoogle Scholar
  64. 64.
    Lu, C., Lu, Y., Abdelzaher, T.F., Stankovic, J.A., Son, S.H.: Feedback control architecture and design methodology for service delay guarantees in web servers. IEEE Trans. Parallel Distrib. Syst. 17(9), 1014–1027 (2006)CrossRefGoogle Scholar
  65. 65.
    Kihl, M., Robertsson, A., Andersson, M., Wittenmark, B.: Control-theoretic analysis of admission control mechanisms for web server systems. World Wide Web 11(1), 93–116 (2008)CrossRefGoogle Scholar
  66. 66.
    Cheng, B.H.C., et al.: Software engineering for self-adaptive systems: a research roadmap. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-02161-9_1 CrossRefGoogle Scholar
  67. 67.
    Baresi, L., Pasquale, L.: Live goals for adaptive service compositions. In: Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2010, pp. 114–123. ACM, New York (2010).  https://doi.org/10.1145/1808984.1808997
  68. 68.
    Nakagawa, H., Ohsuga, A., Honiden, S.: Constructing self-adaptive systems using a KAOS model. In: Proceedings of the 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops, SASOW 2008, pp. 132–137. IEEE Computer Society, Washington, DC (2008).  https://doi.org/10.1109/SASOW.2008.35
  69. 69.
    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).  https://doi.org/10.1007/s00766-010-0101-0 CrossRefGoogle Scholar
  70. 70.
    Vogel, T., Giese, H.: Model-driven engineering of self-adaptive software with Eurema. ACM Trans. Auton. Adapt. Syst. 8(4), 1801–1833 (2014)CrossRefGoogle Scholar
  71. 71.
    Vromant, P., Weyns, D., Malek, S., Andersson, J.: On interacting control loops in self-adaptive systems. In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2011, pp. 202–207. ACM, New York (2011)Google Scholar
  72. 72.
    Cook, J.E., Dage, J.A.: Highly reliable upgrading of components. In: Proceedings of the 21st International Conference on Software Engineering, ICSE 1999, pp. 203–212. ACM, New York (1999).  https://doi.org/10.1145/302405.302466
  73. 73.
    Jalote, P., Briand, L.C., van der Hoek, A. (eds.): 36th International Conference on Software Engineering, ICSE 2014, Hyderabad, India, 31 May–07 June 2014. ACM (2014)Google Scholar
  74. 74.
    Bernardo, M., Issarny, V. (eds.): SFM 2011. LNCS, vol. 6659. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-21455-4 Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Victor Braberman
    • 1
  • Nicolas D’Ippolito
    • 1
    Email author
  • Jeff Kramer
    • 2
  • Daniel Sykes
    • 2
  • Sebastian Uchitel
    • 1
    • 2
  1. 1.Department of ComputingImperial College LondonLondonUK
  2. 2.CONICET and Departamento de Computación, FCENUniversidad de Buenos AiresBuenos AiresArgentina

Personalised recommendations