Skip to main content

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

  • Conference paper
  • First Online:
Software Engineering for Self-Adaptive Systems III. Assurances

Part of the book series: Lecture Notes in Computer Science ((LNPSE,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.

We acknowledge financial support for this work from ANPCYT PICT 2012-0724, ANPCYT PICT 2011-1774, ANPCYT PICT 2013-2341, UBACYT 036, UBACYT 0384, CONICET PIP 11220110100596CO, MEALS 295261, PIDDEF 04/ESP/15/BAA.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  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. 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

    Article  MathSciNet  Google Scholar 

  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)

    Article  Google Scholar 

  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. Parekh, S.: Feedback control techniques for performance management of computing systems. Ph.D. dissertation, Seattle, WA, USA (2010)

    Google Scholar 

  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. Nau, D., Ghallab, M., Traverso, P.: Automated Planning: Theory & Practice. Morgan Kaufmann Publishers Inc., San Francisco (2004)

    MATH  Google Scholar 

  8. Ramadge, P.J., Wonham, W.M.: The control of discrete event systems. Proc. IEEE 77(1), 81–98 (1989)

    Article  MATH  Google Scholar 

  9. Kang, S., Garlan, D.: Architecture-based planning of software evolution. Int. J. Softw. Eng. Knowl. Eng. 24(2), 211–242 (2014)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. 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. 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. 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

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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

    Chapter  Google Scholar 

  18. Leva, A., Maggio, M., Papadopoulos, A.V., Terraneo, F.: Control-Based Operating System Design, Ser. Control Engineering Series, IET (2013)

    MATH  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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. 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. 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. Bennaceur, A., Inverardi, P., Issarny, V., Spalazzese, R.: Automated synthesis of connectors to support software evolution. ERCIM News 2012, 88 (2012)

    Google Scholar 

  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

    Chapter  Google Scholar 

  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. 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. 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. 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. 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

    Article  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  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. 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. 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. 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. 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. Jackson, M.: Software Requirements & Specifications: A Lexicon of Practice, Principles and Prejudices. ACM Press/Addison-Wesley Publishing Co., New York (1995)

    Google Scholar 

  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

    Chapter  Google Scholar 

  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. Heitmeyer, C.L.: Software Cost Reduction. John Wiley & Sons Inc. (2002). https://doi.org/10.1002/0471028959.sof307

  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–90039

    Article  MathSciNet  MATH  Google Scholar 

  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. 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. 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. 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. 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. 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

    Chapter  Google Scholar 

  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. 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. 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. 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. Poole, D.L., Mackworth, A.K.: Artificial Intelligence: Foundations of Computational Agents. Cambridge University Press, New York (2010)

    Book  MATH  Google Scholar 

  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. 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

    MATH  Google Scholar 

  56. Allen, A.O.: Probability, Statistics, and Queueing Theory with Computer Science Applications. Academic Press Inc., Orlando (1978)

    MATH  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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

    Chapter  Google Scholar 

  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

    Chapter  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  63. Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)

    Article  MathSciNet  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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

    Chapter  Google Scholar 

  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. 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. 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

    Article  Google Scholar 

  70. Vogel, T., Giese, H.: Model-driven engineering of self-adaptive software with Eurema. ACM Trans. Auton. Adapt. Syst. 8(4), 1801–1833 (2014)

    Article  Google Scholar 

  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. 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. 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. 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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nicolas D’Ippolito .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Braberman, V., D’Ippolito, N., Kramer, J., Sykes, D., Uchitel, S. (2017). An Extended Description of MORPH: A Reference Architecture for Configuration and Behaviour Self-Adaptation. In: de Lemos, R., Garlan, D., Ghezzi, C., Giese, H. (eds) Software Engineering for Self-Adaptive Systems III. Assurances. Lecture Notes in Computer Science(), vol 9640. Springer, Cham. https://doi.org/10.1007/978-3-319-74183-3_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-74183-3_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-74182-6

  • Online ISBN: 978-3-319-74183-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics