Skip to main content

Engineering Self-adaptive Systems: From Experiences with MUSA to a General Design Process

  • Conference paper
  • First Online:
Engineering Multi-Agent Systems (EMAS 2018)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 11375))

Included in the following conference series:

  • 473 Accesses

Abstract

Designing and developing complex self-adaptive systems require design processes having specific features fitting and representing the complexity of these systems. Changing requirements, users’ needs and dynamic environment have to be taken in consideration, also considering that, due of the self-adaptive nature of the system, the solution is not fixed at design time but it is a run-time outcome. Traditional design approach and life cycles are not suitable to design software systems where requirements continuously change at runtime.

A new design process paradigm is needed to design such systems. In this Chapter, we present a retrospective analysis based on three projects developed in the last five years with the middleware MUSA in order to identify specific features of the design process for supporting continuous change and self-adaptation. The result is a general approach allowing to reduce the gap between design time and run-time.

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 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.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

Notes

  1. 1.

    Available at: http://www.fipa.org/specs/fipa00086.

References

  1. Andersson, J., et al.: Software engineering processes for self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 51–75. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_3

    Chapter  Google Scholar 

  2. Aßmann, U., Götz, S., Jézéquel, J.-M., Morin, B., Trapp, M.: A reference architecture and roadmap for Models@run.time systems. In: Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds.) Models@run.time. LNCS, vol. 8378, pp. 1–18. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08915-7_1

    Chapter  Google Scholar 

  3. Baresi, L., Ghezzi, C.: The disappearing boundary between development-time and run-time. In: Proceedings of the FSE/SDP workshop on Future of software engineering research, pp. 17–22. ACM (2010)

    Google Scholar 

  4. Baresi, L., Guinea, S.: A3: self-adaptation capabilities through groups and coordination. In: Proceedings of the 4th India Software Engineering Conference, pp. 11–20. ACM (2011)

    Google Scholar 

  5. Baresi, L., Guinea, S., Shahzada, A.: SeSaMe: towards a semantic self adaptive middleware for smart spaces. In: Cossentino, M., El Fallah Seghrouchni, A., Winikoff, M. (eds.) EMAS 2013. LNCS (LNAI), vol. 8245, pp. 1–18. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45343-4_1

    Chapter  Google Scholar 

  6. Blair, G., Bencomo, N., France, R.B.: Models@ run.time. Computer 42(10), 22–27 (2009)

    Article  Google Scholar 

  7. Bonjean, N., Gleizes, M.-P., Chella, A., Migeon, F., Cossentino, M., Seidita, V.: Metamodel-based metrics for agent-oriented methodologies. In: Proceedings of the 11th International Conference on Autonomous Agents and Multiagent Systems-Volume 2, pp. 1065–1072. International Foundation for Autonomous Agents and Multiagent Systems (2012)

    Google Scholar 

  8. Braberman, V., D’Ippolito, N., Kramer, J., Sykes, D., Uchitel, S.: Morph: a reference architecture for configuration and behaviour self-adaptation. In: Proceedings of the 1st International Workshop on Control Theory for Software Engineering, pp. 9–16. ACM (2015)

    Google Scholar 

  9. Buckley, J., Mens, T., Zenger, M., Rashid, A., Kniesel, G.: Towards a taxonomy of software change. J. Softw. Maint. Evol. Res. Pract. 17(5), 309–332 (2005)

    Article  Google Scholar 

  10. Calinescu, R., Gerasimou, S., Banks, A.: Self-adaptive software with decentralised control loops. In: Egyed, A., Schaefer, I. (eds.) FASE 2015. LNCS, vol. 9033, pp. 235–251. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46675-9_16

    Chapter  Google Scholar 

  11. Calinescu, R., Weyns, D., Gerasimou, S., Iftikhar, M.U., Habli, I., Kelly, T.: Engineering trustworthy self-adaptive software with dynamic assurance cases. IEEE Trans. Softw. Eng. 44(11), 1039–1069 (2018)

    Article  Google Scholar 

  12. Chella, A., Cossentino, M., Sabatucci, L., Seidita, V.: Agile passi: an agile process for designing agents. Int. J. Comput. Syst. Sci. Eng. 21(2), 133–144 (2006)

    Google Scholar 

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

  14. Cheng, S.-W.: Rainbow: cost-effective software architecture-based self-adaptation. ProQuest (2008)

    Google Scholar 

  15. Cossentino, M.: From requirements to code with the passi methodology. Agent-Oriented Methodol. 3690, 79–106 (2005)

    Article  Google Scholar 

  16. Cossentino, M., Gaud, N., Hilaire, V., Galland, S., Koukam, A.: ASPECS: an agent-oriented software process for engineering complex systems. Auton. Agents Multi-Agent Syst. 20(2), 260–304 (2010)

    Article  Google Scholar 

  17. Cossentino, M., Sabatucci, L., Seidita, V.: Towards an approach for engineering complex systems: agents and agility. In: Proceedings of the 18th Workshop on “From Objects to Agents”, 1867, pp. 1–6 (2017)

    Google Scholar 

  18. Curbera, F.: Component contracts in service-oriented architectures. Computer 40(11), 74–80 (2007)

    Article  Google Scholar 

  19. De La Iglesia, D.G., Calderón, J.F., Weyns, D., Milrad, M., Nussbaum, M.: A self-adaptive multi-agent system approach for collaborative mobile learning. IEEE Trans. Learn. Technol. 8(2), 158–172 (2015)

    Article  Google Scholar 

  20. Fernandez-Marquez, J.L., Serugendo, G.D.M., Montagna, S.: BIO-CORE: bio-inspired self-organising mechanisms core. In: Hart, E., Timmis, J., Mitchell, P., Nakamo, T., Dabiri, F. (eds.) BIONETICS 2011. LNICST, vol. 103, pp. 59–72. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32711-7_5

    Chapter  Google Scholar 

  21. Gelfond, M., Lifschitz, V.: Action languages. Comput. Inf. Sci. 3(16), 1–41 (1998)

    Google Scholar 

  22. Haesevoets, R., Weyns, D., Holvoet, T.: Architecture-centric support for adaptive service collaborations. ACM Trans. Softw. Eng. Methodol. (TOSEM) 23(1), 2 (2014)

    Article  Google Scholar 

  23. Inverardi, P.: Software of the future is the future of software? In: Montanari, U., Sannella, D., Bruni, R. (eds.) TGC 2006. LNCS, vol. 4661, pp. 69–85. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-75336-0_5

    Chapter  Google Scholar 

  24. Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: 2007 Future of Software Engineering, FOSE 2007, pp. 259–268. IEEE (2007)

    Google Scholar 

  25. Malek, S., Mikic-Rakic, M., Medvidovic, N.: A decentralized redeployment algorithm for improving the availability of distributed systems. In: Dearle, A., Eisenbach, S. (eds.) CD 2005. LNCS, vol. 3798, pp. 99–114. Springer, Heidelberg (2005). https://doi.org/10.1007/11590712_8

    Chapter  Google Scholar 

  26. Namiot, D., Sneps-Sneppe, M.: On micro-services architecture. Int. J. Open Inf. Technol. 2(9), 24–27 (2014)

    Google Scholar 

  27. Omicini, A., Ricci, A., Viroli, M.: Artifacts in the A&A meta-model for multi-agent systems. Auton. Agents Multi-Agent Syst. 17(3), 432–456 (2008)

    Article  Google Scholar 

  28. Ribino, P., Cossentino, M., Lodato, C., Lopes, S., Sabatucci, L., Seidita, V.: Ontology and goal model in designing bdi multi-agent systems. WOA@ AI* IA, 1099, 66–72 (2013)

    Google Scholar 

  29. Rouvoy, R., et al.: MUSIC: middleware support for self-adaptation in ubiquitous and service-oriented environments. 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. 164–182. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_9

    Chapter  Google Scholar 

  30. Rushby, J.: A safety-case approach for certifying adaptive systems. In: AIAA Infotech@ Aerospace Conference and AIAA Unmanned... Unlimited Conference, page 1992 (2009)

    Google Scholar 

  31. Sabatucci, L., Cossentino, M.: From means-end analysis to proactive means-end reasoning. In: Proceedings of 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, 18–19 May 2015

    Google Scholar 

  32. Sabatucci, L., Cossentino, M., Lodato, C., Lopes, S., Seidita, V.: A possible approach for implementing self-awareness in JASON. EUMAS 13, 68–81 (2013)

    Google Scholar 

  33. Sabatucci, L., Lodato, C., Lopes, S., Cossentino, M.: Towards self-adaptation and evolution in business process. In: AIBP@ AI* IA, pp. 1–10. Citeseer (2013)

    Google Scholar 

  34. Sabatucci, L., Lodato, C., Lopes, S., Cossentino, M.: Highly customizable service composition and orchestration. In: Dustdar, S., Leymann, F., Villari, M. (eds.) ESOCC 2015. LNCS, vol. 9306, pp. 156–170. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-24072-5_11

    Chapter  Google Scholar 

  35. Sabatucci, L., Lopes, S., Cossentino, M.: A goal-oriented approach for self-configuring mashup of cloud applications. In: 2015 International Conference on Cloud and Autonomic Computing (ICCAC) (2016)

    Google Scholar 

  36. Sabatucci, L., Lopes, S., Cossentino, M.: Self-configuring cloud application mashup with goals and capabilities. Clust. Comput. 20(3), 2047–2063 (2017)

    Article  Google Scholar 

  37. Sabatucci, L., Ribino, P., Lodato, C., Lopes, S., Cossentino, M.: GoalSPEC: a goal specification language supporting adaptivity and evolution. In: Cossentino, M., El Fallah Seghrouchni, A., Winikoff, M. (eds.) EMAS 2013. LNCS (LNAI), vol. 8245, pp. 235–254. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45343-4_13

    Chapter  Google Scholar 

  38. Schmidt, D.C.: Model-driven engineering. IEEE Comput. Soc. 39(2), 25 (2006)

    Article  Google Scholar 

  39. Sommerville, I., et al.:: Software engineering. Addison-Wesley, Reading (2007)

    MATH  Google Scholar 

  40. Weyns, D., Georgeff, M.: Self-adaptation using multiagent systems. IEEE Softw. 27(1), 86–91 (2010)

    Article  Google Scholar 

  41. Weyns, D., Haesevoets, R., Helleboogh, A., Holvoet, T., Joosen, W.: The macodo middleware for context-driven dynamic agent organizations. ACM Trans. Auton. Adapt. Syst. (TAAS) 5(1), 3 (2010)

    Google Scholar 

  42. Weyns, D., et al.: On patterns for decentralized control in self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 76–107. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_4

    Chapter  Google Scholar 

  43. Zambonelli, F., Castelli, G., Mamei, M., Rosi, A.: Programming self-organizing pervasive applications with SAPERE. In: Zavoral, F., Jung, J., Badica, C. (eds.) Intelligent Distributed Computing VII. Studies in Computational Intelligence, vol. 511. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-01571-2_12

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Luca Sabatucci .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Cossentino, M., Sabatucci, L., Seidita, V. (2019). Engineering Self-adaptive Systems: From Experiences with MUSA to a General Design Process. In: Weyns, D., Mascardi, V., Ricci, A. (eds) Engineering Multi-Agent Systems. EMAS 2018. Lecture Notes in Computer Science(), vol 11375. Springer, Cham. https://doi.org/10.1007/978-3-030-25693-7_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-25693-7_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-25692-0

  • Online ISBN: 978-3-030-25693-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics