Advertisement

Patterns for Self-Adaptation in Cyber-Physical Systems

  • Angelika Musil
  • Juergen Musil
  • Danny Weyns
  • Tomas Bures
  • Henry Muccini
  • Mohammad Sharaf
Chapter

Abstract

Engineering Cyber-Physical Systems (CPS) is challenging, as these systems have to handle uncertainty and change during operation. A typical approach to deal with uncertainty is enhancing the system with self-adaptation capabilities. However, realizing self-adaptation in CPS, and consequently also in Cyber-Physical Production Systems (CPPS) as a member of the CPS family, is particularly challenging due to the specific characteristics of these systems, including the seamless integration of computational and physical components, the inherent heterogeneity and large-scale of such systems, and their open-endedness.

In this chapter we survey CPS studies that apply the promising design strategy of combining different self-adaptation mechanisms across the technology stack of the system. Based on the survey results, we derive recurring adaptation patterns that structure and consolidate design knowledge. The patterns offer problem-solution pairs to engineers for the design of future CPS and CPPS with self-adaptation capabilities. Finally, the chapter outlines the potential of collective intelligence systems for CPPS and their engineering based on the survey results.

Keywords

Collective intelligence systems Cyber-physical systems Patterns Self-adaptation Software architecture Systematic study 

Notes

Acknowledgements

This work was supported by the Christian Doppler Forschungsgesellschaft, the Federal Ministry of Science, Research and Economy, the National Foundation for Research, Technology and Development in Austria, and Technische Universität Wien research funds.

References

  1. Acatech – National Academy of Science and Engineering: Cyber-Physical Systems: driving force for innovation in mobility, health, energy and production. Tech. rep., http://www.acatech.de/fileadmin/user_upload/Baumstruktur_nach_Website/Acatech/root/de/Publikationen/Stellungnahmen/acatech_POSITION_CPS_Englisch_WEB.pdf (2011)Google Scholar
  2. Barenji, R.V., Barenji, A.V., Hashemipour, M.: A multi-agent RFID-enabled distributed control system for a flexible manufacturing shop. Int. J. Adv. Manuf. Technol. 71 (9), 1773–1791 (2014)CrossRefGoogle Scholar
  3. Bauernhansl, T., ten Hompel, M., Vogel-Heuser, B. (eds.): Industrie 4.0 in Produktion, Automatisierung und Logistik. Springer, New York (2014)Google Scholar
  4. Bures, T., Gerostathopoulos, I., Hnetynka, P., Keznikl, J., Kit, M., Plasil, F.: DEECO: an ensemble-based component system. In: Proceedings of the 16th International ACM Sigsoft Symposium on Component-based Software Engineering (CBSE ’13), pp. 81–90. Association for Computing Machinery, New York (2013)Google Scholar
  5. Bures, T., Weyns, D., Berger, C., Biffl, S., Daun, M., Gabor, T., Garlan, D., Gerostathopoulos, I., Julien, C., Krikava, F., Mordinyi, R., Pronios, N.: Software engineering for smart Cyber-Physical Systems – towards a research agenda. ACM SIGSOFT Softw. Eng. Notes 40 (6), 28–32 (2015)CrossRefGoogle Scholar
  6. Calinescu, R., Grunske, L., Kwiatkowska, M., Mirandola, R., Tamburrelli, G.: Dynamic QoS management and optimization in service-based systems. IEEE Trans. Softw. Eng. 37 (3), 387–409 (2011)CrossRefGoogle Scholar
  7. Cheng, S.W., Garlan, D., Schmerl, B.: Architecture-based Self-adaptation in the presence of multiple objectives. In: Proceedings of the International Workshop on Self-adaptation and Self-managing Systems (SEAMS ’06), pp. 2–8. Association for Computing Machinery, New York (2006)Google Scholar
  8. De Wolf, T., Holvoet, T.: Emergence and Self- Organisation: a statement of similarities and differences. In: Proceedings of the 2nd International Workshop on Engineering Self-Organising Applications, pp. 96–110 (2004)Google Scholar
  9. De Wolf, T., Holvoet, T.: Design patterns for decentralised coordination in Self-organising emergent systems. In: Brueckner, S.A., Hassas, S., Jelasity, M., Yamins, D. (eds.) Engineering Self-Organising Systems – 4th International Workshop on Engineering Self-Organising Applications (ESOA ’06). Lecture Notes in Computer Science, vol. 4335, pp. 28–49. Springer, Berlin/Heidelberg (2007)Google Scholar
  10. Di Marzo Serugendo, G., Gleizes, M.P., Karageorgos, A.: Self-organisation and emergence in MAS: an overview. Informatica 30 (1), 45–54 (2006)zbMATHGoogle Scholar
  11. Esfahani, N., Malek, S.: Uncertainty in Self-adaptive software systems. In: De Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. Lecture Notes in Computer Science, vol. 7475, pp. 214–238. Springer, Berlin/Heidelberg (2013)Google Scholar
  12. Fatima, S.S., Wooldridge, M., Jennings, N.R.: Multi-issue negotiation with deadlines. J. Artif. Intell. Res. 27 (1), 381–417 (2006)MathSciNetzbMATHGoogle Scholar
  13. Fernandez-Marquez, J.L., Di Marzo Serugendo, G., Montagna, S., Viroli, M., Arcos, J.L.: Description and composition of bio-inspired design patterns: a complete overview. Nat. Comput. 12 (1), 43–67 (2013)MathSciNetCrossRefGoogle Scholar
  14. Garlan, D.: Software engineering in an uncertain world. In: Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research (FoSER ’10), pp. 125–128. Association for Computing Machinery, New York (2010)Google Scholar
  15. Garlan, D., Cheng, S.W., Huang, A.C., Schmerl, B., Steenkiste, P.: Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37 (10), 46–54 (2004)CrossRefGoogle Scholar
  16. Gupta, A., Pandey, O.J., Shukla, M., Dadhich, A., Ingle, A., Gawande, P.: Towards context-aware smart mechatronics networks: integrating swarm intelligence and ambient intelligence. In: Proceedings of the International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT ’14), pp. 64–69. IEEE, Piscataway, NJ (2014)Google Scholar
  17. Heylighen, F.: Stigmergy as a universal coordination mechanism I: definition and components. Cogn. Syst. Res. 38, 4–13 (2016)CrossRefGoogle Scholar
  18. Hölzl, M., Gabor, T.: Continuous collaboration: a case study on the development of an adaptive Cyber-Physical System. In: Proceedings of the IEEE/ACM 1st International Workshop on Software Engineering for Smart Cyber-Physical Systems (SEsCPS ’15), pp. 19–25. IEEE, Piscataway, NJ (2015)Google Scholar
  19. Hu, G., Tay, W., Wen, Y.: Cloud robotics: architecture, challenges and applications. IEEE Netw. 26 (3), 21–28 (2012)CrossRefGoogle Scholar
  20. Jazdi, N., Maga, C., Göhner, P., Ehben, T., Tetzner, T., Löwen, U.: Improved systematisation in plant engineering and industrial solutions business – increased efficiency through domain engineering. at-Automatisierungstechnik 58 (9), 524–532 (2010)Google Scholar
  21. Juziuk, J., Weyns, D., Holvoet, T.: Design patterns for multi-agent systems: a systematic literature review. In: Shehory, O., Sturm, A. (eds.) Agent-Oriented Software Engineering, pp. 79–99. Springer, Berlin/Heidelberg (2014)Google Scholar
  22. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36 (1), 41–50 (2003)MathSciNetCrossRefGoogle Scholar
  23. Kit, M., Gerostathopoulos, I., Bures, T., Hnetynka, P., Plasil, F.: An architecture framework for experimentations with self-adaptive Cyber-Physical Systems. In: Proceedings of the IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS ’15), pp. 93–96. IEEE, Piscataway, NJ (2015)Google Scholar
  24. Kitchenham, B.A., Charters, S.: Guidelines for performing systematic literature reviews in software engineering. Tech. Rep. EBSE-2007-01, Software Engineering Group, School of Computer Science and Mathematics, Keele University, UK, and Department of Computer Science, University of Durham, UK. http://www.cs.auckland.ac.nz/~norsaremah/2007GuidelinesforperformingSLRinSEv2.3.pdf (2007)
  25. Kitchenham, B.A., Budgen, D., Pearl Brereton, O.: Using mapping studies as the basis for further research – A participant-observer case study. Inf. Softw. Technol. 53 (6), 638–651 (2011)CrossRefGoogle Scholar
  26. Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: Future of Software Engineering (FOSE ’07), pp. 259–268. IEEE Computer Society, Los Alamitos, CA (2007)Google Scholar
  27. Kumar, N., Singh, M., Zeadally, S., Rodrigues, J.J.P.C., Rho, S.: Cloud-assisted context-aware vehicular Cyber-Physical System for PHEVs in smart grid. IEEE Syst. J. PP (99), 1–12 (2015)Google Scholar
  28. Leitão, P.: Agent-based distributed manufacturing control: a state-of-the-art survey. Eng. Appl. Artif. Intel. 22 (7), 979–991 (2009)CrossRefGoogle Scholar
  29. Mahdavi-Hezavehi, S., Avgeriou, P., Weyns, D.: A classification framework of uncertainty in architecture-based Self-adaptive systems with multiple quality requirements. In: Mistrik, I., Ali, N., Kazman, R., Grundy, J., Schmerl, B. (eds.) Managing Trade-offs in Adaptable Software Architectures, pp. 45–78. Morgan Kaufmann, Cambridge (2016)Google Scholar
  30. Mamei, M., Menezes, R., Tolksdorf, R., Zambonelli, F.: Case studies for Self-organization in computer science. J. Syst. Archit. 52 (8–9), 443–460 (2006)CrossRefGoogle Scholar
  31. Meszaros, G., Doble, J.: A pattern language for pattern writing. In: Martin, R.C., Riehle, D., Buschmann, F. (eds.) Pattern Languages of Program Design 3, pp. 529–574. Addison-Wesley Longman Publishing Co., Inc., Reading, MA (1997)Google Scholar
  32. Minsky, N.H., Murata, T.: On manageability and robustness of open multi-agent systems. In: Lucena, C., Garcia, A., Romanovsky, A., Castro, J., Alencar, P.S.C. (eds.) Software Engineering for Multi-Agent Systems II. Lecture Notes in Computer Science, vol. 2940, pp. 189–206. Springer, Berlin/Heidelberg (2004)Google Scholar
  33. Muccini, H., Sharaf, M., Weyns, D.: Self-adaptation for Cyber-Physical Systems: a systematic literature review. In: Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS ’16), pp. 75–81. Association for Computing Machinery, New York (2016)Google Scholar
  34. Mukherjee, S., Chaudhury, S.: C-MAP: framework for multi-agent planning in Cyber physical systems. In: proceedings of the 5th International Conference on Pattern Recognition and Machine Intelligence (PReMI ’13). Lecture Notes in Computer Science, vol. 8251, pp. 237–242. Springer, Berlin/Heidelberg (2013)Google Scholar
  35. Musil, J., Musil, A., Biffl, S.: Introduction and challenges of environment architectures for collective intelligence systems. In: Weyns, D., Michel, F. (eds.) Agent Environments for Multi-Agent Systems IV. Lecture Notes in Computer Science, vol. 9068, pp. 76–94. Springer International Publishing, Cham (2015a)CrossRefGoogle Scholar
  36. Musil, J., Musil, A., Biffl, S.: SIS: an architecture pattern for collective intelligence systems. In: Proceedings of the 20th European Conference on Pattern Languages of Programs (EuroPLoP ’15), pp. 20:1–20:12. Association for Computing Machinery, New York (2015b)Google Scholar
  37. Musil, J., Musil, A., Weyns, D., Biffl, S.: An architecture framework for collective intelligence systems. In: Proceedings of the 12th Working IEEE/IFIP Conference on Software Architecture (WICSA ’15), pp. 21–30. IEEE, Piscataway, NJ (2015c)Google Scholar
  38. Musil, A., Musil, J., Biffl, S.: Major variants of the SIS architecture pattern for collective intelligence systems. In: Proceedings of the 21st European Conference on Pattern Languages of Programs (EuroPLoP ’16), pp. 30:1–30:11. Association for Computing Machinery, New York (2016a)Google Scholar
  39. Musil, A., Musil, J., Biffl, S.: Towards collective intelligence system architectures for supporting multi-disciplinary engineering of Cyber-physical production systems. In: Proceedings of the 1st International Workshop on Cyber-Physical Production Systems (CPPS ’16), pp 1–4. IEEE, Piscataway, NJ (2016b)Google Scholar
  40. Musil, A., Musil, J., Weyns, D., Bures, T., Muccini, H., Sharaf, M.: Protocol for: patterns for Self-adaptation in Cyber-Physical Systems – a systematic mapping study. Tech. rep., IFS-CDL 16-02, Vienna University of Technology. http://qse.ifs.tuwien.ac.at/publication/IFS-CDL-16-02.pdf (2016c)
  41. Nasri, M., Farhangi, H., Palizban, A., Moallem, M.: Multi-agent control system for real-time adaptive VVO/CVR in smart substation. In: Proceedings of the IEEE Electrical Power and Energy Conference (EPEC ’12), pp. 1–7. IEEE, Piscataway, NJ (2012)Google Scholar
  42. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: Proceedings of the 20th International Conference on Software Engineering (ICSE ’98), pp. 177–186, IEEE Computer Society, Washington, DC (1998)Google Scholar
  43. Patikirikorala, T., Colman, A., Han, J., Wang, L.: A systematic survey on the design of Self-adaptive software systems using control engineering approaches. In: Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS ’12), pp. 33–42. IEEE, Piscataway, NJ (2012)Google Scholar
  44. Perez-Palacin, D., Mirandola, R.: Uncertainties in the modeling of Self-adaptive systems: a taxonomy and an example of availability evaluation. In: Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering (ICPE ’14), pp. 3–14. Association for Computing Machinery, New York (2014)Google Scholar
  45. Ramirez, A.J., Cheng, B.H.C.: Design patterns for developing dynamically adaptive systems. In: Proceedings of the ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS ’10), pp. 49–58. Association for Computing Machinery, New York (2010)Google Scholar
  46. Ramirez, A.J., Jensen, A.C., Cheng, B.H.C.: A taxonomy of uncertainty for dynamically adaptive systems. In: Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS ’12), pp. 99–108. IEEE, Piscataway, NJ (2012)Google Scholar
  47. Sarma, S., Muck, T., Shoushtari, M., BanaiyanMofrad, A., Dutt, N.: Cross-layer virtual/physical sensing and actuation for resilient heterogeneous many-core SaCs. In: Proceedings of the 21st Asia and South Pacific Design Automation Conference (ASP-DAC ’16), pp. 395–402. IEEE, Piscataway, NJ (2016)Google Scholar
  48. Vogel-Heuser, B., Diedrich, C., Pantförder, D., Göhner, P.: Coupling heterogeneous production systems by a multi-agent based cyber-physical production system. In: Proceedings of the 12th IEEE International Conference on Industrial Informatics (INDIN ’14), pp. 713–719. IEEE, Piscataway, NJ (2014)Google Scholar
  49. Wan, J., Zhang, D., Zhao, S., Yang, L.T., Lloret, J.: Context-aware vehicular Cyber-Physical Systems with cloud support: architecture, challenges, and solutions. IEEE Commun. Mag. 52 (8), 106–113 (2014)CrossRefGoogle Scholar
  50. Wang, F.Y.: The emergence of intelligent enterprises: from CPS to CPSS. IEEE Intell. Syst. 25 (4), 85–88 (2010)CrossRefGoogle Scholar
  51. Weyns, D.: Architecture-based design of multi-agent systems. Springer, Berlin/Heidelberg (2010)CrossRefzbMATHGoogle Scholar
  52. Weyns, D.: Software engineering of Self-adaptive systems: an organised tour and future challenges. In: Taylor, R., Kang, K.C., Cha, S. (eds.) Handbook of Software Engineering, Springer (2017, to appear)Google Scholar
  53. Weyns, D., Ahmad, T.: Claims and evidence for architecture-based Self-adaptation: a systematic literature review. In: Proceedings of the 7th European Conference on Software Architecture (ECSA ’13), pp. 249–265. Springer, New York (2013)Google Scholar
  54. Weyns, D., Georgeff, M.: Self-adaptation using multiagent systems. IEEE Softw. 27 (1), 86–91 (2010)CrossRefGoogle Scholar
  55. Weyns, D., Boucké, N., Holvoet, T.: A field-based versus a protocol-based approach for adaptive task assignment. Auton. Agent. Multi-Agent Syst. 17 (2), 288–319 (2008)CrossRefGoogle Scholar
  56. Weyns, D., Malek, S., Andersson, J.: FORMS: unifying reference model for formal specification of distributed Self-adaptive systems. ACM Trans. Auton. Adap. Syst. 7 (1), 8:1–8:61 (2012)Google Scholar
  57. Weyns, D., Iftikhar, M.U., Söderlund, J.: Do external feedback loops improve the design of Self-adaptive systems? A controlled experiment. In: Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS ’13), pp. 3–12. IEEE, Piscataway, NJ (2013a)Google Scholar
  58. Weyns, D., Schmerl, B., Grassi, V., Malek, S., Mirandola, R., Prehofer, C., Wuttke, J., Andersson, J., Giese, H., Göschka, K.M.: 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. Lecture Notes in Computer Science, vol. 7475, pp. 76–107, Springer, Berlin/Heidelberg (2013b)Google Scholar
  59. Winkler, D., Musil, J., Musil, A., Biffl, S.: Collective intelligence-based quality assurance: combining inspection and risk assessment to support process improvement in multi-disciplinary engineering. In: Kreiner, C., O’Connor, R.V., Poth, A., Messnarz, R. (eds.) Systems, Software and Services Process Improvement: Proceedings of the 23rd European System, Software and Service Process Improvement and Innovation Conference (EuroSPI ’16). Communications in Computer and Information Science, vol. 633, pp. 163–175. Springer International Publishing, Cham (2016)Google Scholar
  60. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin/Heidelberg (2012)CrossRefzbMATHGoogle Scholar
  61. Wooldridge, M.: Multi-Agent Systems: An Introduction. Wiley, Harlow (2001)Google Scholar
  62. Xiong, G., Zhu, F., Liu, X., Dong, X., Huang, W., Chen, S., Zhao, K.: Cyber-Physical-Social system in intelligent transportation. IEEE/CAA J. Automat. Sin. 2 (3), 320–333 (2015)MathSciNetCrossRefGoogle Scholar
  63. Yu, C., Jing, S., Li, X.: An architecture of Cyber Physical System based on service. In: Proceedings of the International Conference on Computer Science and Service System (CSSS ’12), pp. 1409–1412. IEEE, Piscataway, NJ (2012)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Angelika Musil
    • 1
  • Juergen Musil
    • 1
  • Danny Weyns
    • 2
    • 3
  • Tomas Bures
    • 4
  • Henry Muccini
    • 5
  • Mohammad Sharaf
    • 5
  1. 1.Institute of Software Technology and Interactive SystemsTechnische Universität WienWienAustria
  2. 2.Department of Computer ScienceKU LeuvenLeuvenBelgium
  3. 3.Department of Computer ScienceLinnaeus UniversityVäxjöSweden
  4. 4.Department of Distributed and Dependable SystemsCharles University PraguePragueCzechia
  5. 5.DISIM DepartmentUniversity of L’AquilaL’AquilaItaly

Personalised recommendations