Skip to main content

Challenges in Composing and Decomposing Assurances for Self-Adaptive Systems

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

Abstract

Self-adaptive software systems adapt to changes in the environment, in the system itself, in their requirements, or in their business objectives. Typically, these systems attempt to maintain system goals at run time and often provide assurance that they will meet their goals under dynamic and uncertain circumstances. While significant research has focused on ways to engineer self-adaptive capabilities into both new and legacy software systems, less work has been conducted on how to assure that self-adaptation maintains system goals. For traditional, especially safety-critical software systems, assurance techniques decompose assurances into sub-goals and evidence that can be provided by parts of the system. Existing approaches also exist for composing assurances, in terms of composing multiple goals and composing assurances in systems of systems. While some of these techniques may be applied to self-adaptive systems, we argue that several significant challenges remain in applying them to self-adaptive systems in this chapter. We discuss how existing assurance techniques can be applied to composing and decomposing assurances for self-adaptive systems, highlight the challenges in applying them, summarize existing research to address some of these challenges, and identify gaps and opportunities to be addressed by future research.

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. Ali, R., Griggio, A., Franzén, A., Dalpiaz, F., Giorgini, P.: Optimizing monitoring requirements in self-adaptive systems. In: Bider, I., Halpin, T., Krogstie, J., Nurcan, S., Proper, E., Schmidt, R., Soffer, P., Wrycza, S. (eds.) BPMDS/EMMSAD -2012. LNBIP, vol. 113, pp. 362–377. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31072-0_25

    Chapter  Google Scholar 

  2. Barna, C., Shtern, M., Smit, M., Tzerpos, V., Litoiu, M.: Mitigating dos attacks using performance model-driven adaptive algorithms. ACM Trans. Auton. Adapt. Syst. 9(1), 3:1–3:26 (2014)

    Article  Google Scholar 

  3. Bate, I., Kelly, T.: Architectural considerations in the certification of modular systems. In: Anderson, S., Felici, M., Bologna, S. (eds.) SAFECOMP 2002. LNCS, vol. 2434, pp. 321–333. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45732-1_31

    Chapter  Google Scholar 

  4. Bloomfield, R., Bishop, P.: Safety and assurance cases: past, present and possible future - an Adelard perspective. In: Dale, C., Anderson, T. (eds.) Making Systems Safer, pp. 51–67. Springer, London (2010). https://doi.org/10.1007/978-1-84996-086-1_4

  5. Bloomfield, R., Peter, B., Jones, C., Froome, P.: ASCAD – Adelard Safety Case Development Manual. Adelard, 3 Coborn Road, London E3 2DA, UK (1998)

    Google Scholar 

  6. Brun, Y., Bang, J.Y., Edwards, G., Medvidovic, N.: Self-adapting reliability in distributed software systems. IEEE Trans. Softw. Eng. (TSE) (2015) (in press)

    Google Scholar 

  7. Brun, Y., Edwards, G., Bang, J.Y., Medvidovic, N.: Smart redundancy for distributed computation. In: Proceedings of the 31st International Conference on Distributed Computing Systems (ICDCS), Minneapolis, MN, USA, pp. 665–676, June 2011, https://doi.org/10.1109/ICDCS.2011.25

  8. Brun, Y., Medvidovic, N.: Fault and adversary tolerance as an emergent property of distributed systems’ software architectures. In: Proceedings of the 2nd International Workshop on Engineering Fault Tolerant Systems (EFTS), Dubrovnik, Croatia, pp. 38–43, September 2007, https://doi.org/10.1145/1316550.1316557

  9. Brun, Y., Medvidovic, N.: An architectural style for solving computationally intensive problems on large networks. In: Proceedings of Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Minneapolis, MN, USA, May 2007, https://doi.org/10.1109/SEAMS.2007.4

  10. Brun, Y., Medvidovic, N.: Keeping data private while computing in the cloud. In: Proceedings of the 5th International Conference on Cloud Computing (CLOUD), Honolulu, HI, USA, pp. 285–294, June 2012, https://doi.org/10.1109/CLOUD.2012.126

  11. Brun, Y., Medvidovic, N.: Entrusting private computation and data to untrusted networks. IEEE Trans. Dependable Secure Comput. (TDSC), 10(4), 225–238 (2013), https://doi.org/10.1109/TDSC.2013.13

  12. Brun, Y., Reishus, D.: Path finding in the tile assembly model. Theoret. Comput. Sci. 410(15), 1461–1472 (2009), https://doi.org/10.1016/j.tcs.2008.12.008

  13. Casanova, P., Garlan, D., Schmerl, B., Abreu, R.: Diagnosing architectural run-time failures. In: Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, 20–21 May 2013 (2013)

    Google Scholar 

  14. Casanova, P., Garlan, D., Schmerl, B., Abreu, R.: Diagnosing unobserved components in self-adaptive systems. In: 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Hyderabad, India, 2–3 June 2014 (2014)

    Google Scholar 

  15. Cheng, B.H.C., Sawyer, P., Bencomo, N., Whittle, J.: A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 468–483. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04425-0_36

    Chapter  Google Scholar 

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

  17. Cheng, S.-W., Garlan, D., Schmerl, B.: Architecture-based self-adaptation in the presence of multiple objectives. In: Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Shanghai, China, 21–22 May 2006 (2006)

    Google Scholar 

  18. Cheng, S.-W., Garlan, D., Schmerl, B.: Evaluating the effectiveness of the rainbow self-adaptive system. In: Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2009), Vancouver, BC, Canada, May 2009

    Google Scholar 

  19. Cheng, S.-W., Garlan, D., Schmerl, B., Sousa, J.A.P., Spitznagel, B., Steenkiste, P.: Using architectural style as a basis for self-repair. In: Bosch, J., Gentleman, M., Hofmeister, C., Kuusela, J. (eds.) Proceedings of the 3rd Working IEEE/IFIP Conference on Software Architecture, 25–31 August 2002, pp. 45–59. Kluwer Academic Publishers (2002)

    Google Scholar 

  20. Cohen, D.M., Dalal, S.R., Fredman, M.L., Patton, G.C.: The AETG system: an approach to testing based on combinatorial design. IEEE Trans. Software Eng. 23(7), 437–444 (1997)

    Article  Google Scholar 

  21. Cohen, M.B., Dwyer, M.B., Shi, J.: Constructing interaction test suites for highly-configurable systems in the presence of constraints: a greedy approach. IEEE Trans. Software Eng. 34(5), 633–650 (2008)

    Article  Google Scholar 

  22. Cordy, M., Classen, A., Heymans, P., Legay, A., Schobbens, P.-Y.: Model checking adaptive software with featured transition systems. In: Cámara, J., de Lemos, R., Ghezzi, C., Lopes, A. (eds.) Assurances for Self-Adaptive Systems. LNCS, vol. 7740, pp. 1–29. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36249-1_1

    Chapter  Google Scholar 

  23. Elkhodary, A., Esfahani, N., Malek, S.: FUSION: a framework for engineering self-tuning self-adaptive software systems. In: Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2010, pp. 7–16 (2010)

    Google Scholar 

  24. Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: 33rd International Conference on Software Engineering (ICSE), pp. 341–350, May 2011

    Google Scholar 

  25. Filieri, A., Tamburrelli, G.: Probabilistic verification at runtime for self-adaptive systems. In: Cámara, J., de Lemos, R., Ghezzi, C., Lopes, A. (eds.) Assurances for Self-Adaptive Systems. LNCS, vol. 7740, pp. 30–59. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36249-1_2

    Chapter  Google Scholar 

  26. Franco, J., Correia, F., Barbosa, R., Zenha-Rela, M., Schmerl, B., Garlan, D.: Improving self-adaptation through software architecture-based stochastic modeling. J. Syst. Softw. 42(1), 75–99 (2016)

    Google Scholar 

  27. Fredericks, E.M., DeVries, B., Cheng, B.H.C.: Towards run-time adaptation of test cases for self-adaptive systems in the face of uncertainty. In: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2014, pp. 17–26. ACM, New York (2014)

    Google Scholar 

  28. Garlan, D., Cheng, S.-W., Huang, A.-C., Schmerl, B., Steenkiste, P.: Rainbow: architecture-based self adaptation with reusable infrastructure. IEEE Comput. 37(10), October 2004

    Google Scholar 

  29. Garvin, B.J., Cohen, M.B., Dwyer, M.B.: Failure avoidance in configurable systems through feature locality. In: Cámara, J., de Lemos, R., Ghezzi, C., Lopes, A. (eds.) Assurances for Self-Adaptive Systems. LNCS, vol. 7740, pp. 266–296. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36249-1_10

    Chapter  Google Scholar 

  30. Goal Structuring Notation (GSN) community standard version 1, November 2011, http://goalstructingnotation.info

  31. Hawkins, R., Clegg, K., Alexander, R., Kelly, T.: Using a software safety argument pattern catalogue: two case studies. In: Flammini, F., Bologna, S., Vittorini, V. (eds.) SAFECOMP 2011. LNCS, vol. 6894, pp. 185–198. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24270-0_14

    Chapter  Google Scholar 

  32. Hellerstein, J.L., Diao, Y., Parekh, S., Tilbury, D.M.: Feedback Control of Computing Systems. Wiley, Chichester (2004)

    Book  Google Scholar 

  33. High, K.M., Kelly, T.P., Mcdermid, J.A.: Safety case construction and reuse using patterns. In: 16th International Conference on Computer Safety and Reliability, SAFECOMP 1997, pp. 55–69. Springer, London (1997). https://doi.org/10.1007/978-1-4471-0997-6_5

  34. Huber, N., Hoorn, A., Koziolek, A., Brosig, F., Kounev, S.: Modeling run-time adaptation at the system architecture level in dynamic service-oriented environments. SOCA 8(1), 73–89 (2014)

    Article  Google Scholar 

  35. Jennings, N.R.: An agent-based approach for building complex software systems. Commun. ACM 44(4), 35–41 (2001)

    Article  Google Scholar 

  36. Kelly, P.: Managing complex safety cases. In: Redmill, F., Anderson, T. (eds.) Current Issues in Safety-Critical Systems, pp. 99–115. Springer, London (2003), https://doi.org/10.1007/978-1-4471-0653-1_6

  37. Kelly, T., Weaver, R.: The goal structuring notation - a safety argument notation. In: Proceedings of Dependable Systems and Networks 2004 Workshop on Assurance Cases (2004)

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  39. Litoiu, M.: A performance analysis method for autonomic computing systems. ACM Trans. Auton. Adapt. Syst. 2(1), March 2007

    Google Scholar 

  40. Püschel, G., Götz, S., Wilke, C., Aßmann, U.: Towards systematic model-based testing of self-adaptive software. In: ADAPTIVE 2013, The Fifth International Conference on Adaptive and Self-Adaptive Systems and Applications, pp. 65–70 (2013)

    Google Scholar 

  41. Puviani, M., Cabri, G., Zambonelli, F.: A taxonomy of architectural patterns for self-adaptive systems. In: International C* Conference on Computer Science and Software Engineering, C3S2E13, Porto, Portugal, pp. 77–85, July 2013

    Google Scholar 

  42. Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4(2) (2009)

    Google Scholar 

  43. Schmerl, B., Cámara, J., Gennari, J., Garlan, D., Casanova, P., Moreno, G.A., Glazier, T.J., Barnes, J.M.: Architecture-based self-protection: composing and reasoning about denial-of-service mitigations. In: HotSoS 2014: 2014 Symposium and Bootcamp on the Science of Security, Raleigh, NC, USA, 8–9 April 2014 (2014)

    Google Scholar 

  44. Silva Souza, V.E., Lapouchnian, A., Robinson, W.N., Mylopoulos, J.: Awareness requirements for adaptive systems. In: Proceeding of the 6th International Symposium on Software Engineering for Adaptive and Self-managing Systems (SEAMS 2011), pp. 60–69. ACM, New York (2011)

    Google Scholar 

  45. Tamura, G., et al.: Towards practical runtime verification and validation of self-adaptive software 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. 108–132. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_5

    Chapter  Google Scholar 

  46. Van Lamsweerde, A.: Goal-oriented requirements engineering: a guided tour. In: Proceedings of the Fifth IEEE International Symposium on Requirements Engineering, RE 2001, pp. 249–262. IEEE Computer Society, Washington, DC (2001)

    Google Scholar 

  47. Voss, S., Schätz, B., Khalil, M., Carlan, C.: Towards modular certification using integrated model-based safety cases. In: Proceedings of VeriSure: Verification and Assurance (2013)

    Google Scholar 

  48. Watanabe, T., Yonezawa, A.: Reflection in an object-oriented concurrent language. In: ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 306–315 (1988)

    Google Scholar 

  49. Weyns, D., Iftikhar, M.U., de la Iglesia, D.G., Ahmad, T.: A survey of formal methods in self-adaptive systems. In: Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering, C3S2E 2012, pp. 67–79. ACM, New York (2012)

    Google Scholar 

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

  51. Ye, F., Kelly, T.: Contract-based justification for cots component within safety critical applications. In: Cant, T. (ed.) Ninth Australian Workshop on Safety-Related Programmable Systems (SCS 2004). CRPIT, vol. 47, pp. 13–22. ACS, Brisbane (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bradley Schmerl .

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

Schmerl, B. et al. (2017). Challenges in Composing and Decomposing Assurances for Self-Adaptive Systems. 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_3

Download citation

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

  • 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