Emerging Techniques for the Engineering of Self-Adaptive High-Integrity Software

  • Radu Calinescu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7740)

Abstract

The demand for cost effectiveness and increased flexibility has driven the fast-paced adoption of software systems in areas where requirement violations may lead to financial loss or loss of life. Many of these software systems need to deliver not only high integrity but also self adaptation to the continual changes that characterise such application areas. A challenge long solved by control theory for continuous-behaviour systems was thus reopened in the realm of software systems. Software engineering needs to embark on a quest for self-adaptive high-integrity software. This paper explains the growing need for software capable of both self-adaptation and high integrity, and explores the starting point for the quest to make it a reality. We overview emerging techniques for the engineering of self-adaptive high-integrity software, propose a service-based architecture that aims to integrate these techniques, and discuss opportunities for future research.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aijaz, A., Bochow, B., Dotzer, F., Festag, A., Gerlach, M., Kroh, R., Leinmuller, T.: Attacks on inter vehicle communication systems - an analysis. In: Proc. 3nd Intl. Workshop Intelligent Transportation, pp. 189–194 (2006)Google Scholar
  2. 2.
    Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to AspectJ. In: Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2005), pp. 345–364. ACM (2005)Google Scholar
  3. 3.
    Anliker, U., et al.: AMON: a wearable multiparameter medical monitoring and alert system. IEEE Transactions on Information Technology in Biomedicine 8(4), 415–427 (2004)CrossRefGoogle Scholar
  4. 4.
    Barringer, H., Havelund, K.: TraceContract: A Scala DSL for Trace Analysis. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 57–72. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  5. 5.
    Barringer, H., Havelund, K., Rydeheard, D., Groce, A.: Rule Systems for Runtime Verification: A Short Tutorial. In: Bensalem, S., Peled, D.A. (eds.) RV 2009. LNCS, vol. 5779, pp. 1–24. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  6. 6.
    Bauer, A., Leucker, M., Schallhart, C.: Model-based methods for the runtime analysis of reactive distributed systems. In: Proc. Australian Software Engineering Conference, pp. 243–252 (2006)Google Scholar
  7. 7.
    Bennaceur, A., Howar, F., Issarny, V., Johansson, R., Moschitti, A., Spalazzese, R., Steffen, B., Sykes, D.: Machine Learning for Emergent Middleware. In: Proceedings of the Joint Workshop on Intelligent Methods for Software System Engineering (2012)Google Scholar
  8. 8.
    Bertolino, A., Inverardi, P., Pelliccione, P., Tivoli, M.: Automatic synthesis of behavior protocols for composable web-services. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, pp. 141–150. ACM (2009)Google Scholar
  9. 9.
    Burton, S., Clark, J., Galloway, A., McDermid, J.: Automated V&V for high integrity systems, a targeted formal methods approach. In: NASA Langley Formal Methods Workshop (January 2000), ftp://ftp.cs.york.ac.uk/pub/hise/NASALangley.pdf (last retrieved on September 10, 2012)
  10. 10.
    Calinescu, R.: Run-time connector synthesis for autonomic systems of systems. Journal On Advances in Intelligent Systems 2(2-3), 376–386 (2009)Google Scholar
  11. 11.
    Calinescu, R.: When the requirements for adaptation and high integrity meet. In: Proceedings of the 8th Workshop on Assurances for Self-Adaptive Systems (ASAS 2011), pp. 1–4. ACM, New York (2011)CrossRefGoogle Scholar
  12. 12.
    Calinescu, R., Grunske, L., Kwiatkowska, M., Mirandola, R., Tamburrelli, G.: Dynamic QoS management and optimisation in service-based systems. IEEE Transactions on Software Engineering 37(3), 387–409 (2011)CrossRefGoogle Scholar
  13. 13.
    Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Communications of the ACM 55(9), 69–77 (2012)CrossRefGoogle Scholar
  14. 14.
    Calinescu, R., Johnson, K., Rafiq, Y.: Using observation ageing to improve Markovian model learning in QoS engineering. In: Proceedings 2nd ACM/SPEC International Conference on Performance Engineering, pp. 505–510 (2011)Google Scholar
  15. 15.
    Calinescu, R., Kikuchi, S.: Formal Methods @ Runtime. In: Calinescu, R., Jackson, E. (eds.) Monterey Workshop 2010. LNCS, vol. 6662, pp. 122–135. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  16. 16.
    Calinescu, R., Kwiatkowska, M.: CADS*: Computer-Aided Development of Self-* Systems. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 421–424. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  17. 17.
    Calinescu, R., Kwiatkowska, M.: Using quantitative analysis to implement autonomic IT systems. In: Proceedings of the 31st International Conference on Software Engineering (ICSE 2009), pp. 100–110 (2009)Google Scholar
  18. 18.
    Calinescu, R., Kikuchi, S., Johnson, K.: Using Compositional Verification to Manage Change in Large-Scale Complex IT Systems. In: Large-Scale Complex IT Systems - Development, Operation and Management. LNCS, vol. 7539, pp. 303–329. Springer (2012)Google Scholar
  19. 19.
    Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Di Marzo Serugendo, G., Dustdar, S., Finkelstein, A., Gacek, C., Geihs, K., Grassi, V., Karsai, G., Kienle, H.M., Kramer, J., Litoiu, M., Malek, S., Mirandola, R., Müller, H.A., Park, S., Shaw, M., Tichy, M., Tivoli, M., Weyns, D., Whittle, J.: 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)CrossRefGoogle Scholar
  20. 20.
    Cavallaro, L., Di Nitto, E., Pelliccione, P., Pradella, M., Tivoli, M.: Synthesizing adapters for conversational web-services from their WSDL interface. In: ICSE 2010 SEAMS: Workshop on Software Engineering for Adaptive and Self-Managing Systems, pp. 104–113 (2010)Google Scholar
  21. 21.
    Collins, J., Ketter, W., Gini, M.: Flexible decision control in an autonomous trading agent. Electronic Commerce Research & Appl. 8(2), 91–105 (2009)CrossRefGoogle Scholar
  22. 22.
    COM(2011) 144: European Commission. Roadmap to a Single European Transport Area Towards a competitive and resource efficient transport system (2011), http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=COM:2011:0144:FIN:EN:PDF (last retrieved on September 10, 2012)
  23. 23.
    Crow, J., Rushby, J.: Model-based reconfiguration: Diagnosis and recovery. NASA Contractor Report 4596, NASA Langley Research Center, Hampton, VA (Work performed by SRI International) (May 1994)Google Scholar
  24. 24.
    Easley, D., de Prado, M.M.L., O’Hara, M.: The microstructure of the ‘Flash Crash’: Flow toxicity, liquidity crashes and the probability of informed trading. Journal of Portofolio Management 37(2), 118–128 (2011)CrossRefGoogle Scholar
  25. 25.
    Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time adaptation. In: Proceedings of the 31st International Conference on Software Engineering, pp. 111–121. IEEE Computer Society Press (2009)Google Scholar
  26. 26.
    Feng, G., Lozano, R.: Adaptive Control Systems. Elsevier (1999)Google Scholar
  27. 27.
    Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: Proceedings of the 33rd International Conference on Software Engineering, IEEE Computer Society (2011)Google Scholar
  28. 28.
    Future Internet Assembly. Research Roadmap Towards Framework 8: Research Priorities for the Future Internet (2011), http://fisa.future-internet.eu/images/0/0c/Future_Internet_Assembly_Research_Roadmap_V1.pdf
  29. 29.
    Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjorven, E.: Using architecture models for runtime adaptability. IEEE Software 23, 62–70 (2006)CrossRefGoogle Scholar
  30. 30.
    Fritsch, S., Senart, A., Schmidt, D.C., Clarke, S.: Time-bounded adaptation for automotive system software. In: Proceedings of the 30th International Conference on Software Engineering, ICSE 2008, pp. 571–580. ACM, New York (2008)Google Scholar
  31. 31.
    Garlan, D., Schmerl, B.R.: Using architectural models at runtime: Research challenges. In: European Workshop Software Architecture, pp. 200–205 (2004)Google Scholar
  32. 32.
    Ghezzi, C.: Evolution, adaptation and the quest for incrementality. In: Preproceedings of the 17th Monterey Workshop on Development, Operation and Management of Large-Scale Complex IT Systems, pp. 79–88 (2012)Google Scholar
  33. 33.
    Ghini, V., Ferretti, S., Panzieri, F.: M-Hippocrates: Enabling Reliable and Interactive Mobile Health Services. IT Professional 14(3), 29–35 (2012)CrossRefGoogle Scholar
  34. 34.
    Hartenstein, H., Laberteaux, K.P. (eds.): VANET: Vehicular Applications and Inter-Networking Technologies. John Wiley & Sons (2009)Google Scholar
  35. 35.
    Huebscher, M.C., McCann, J.A.: A survey of autonomic computing—degrees, models, and applications. ACM Comp. Surveys 40(3), 1–28 (2008)CrossRefGoogle Scholar
  36. 36.
    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)CrossRefGoogle Scholar
  37. 37.
    Izumi, K., Toriumi, F., Matsui, H.: Evaluation of automated-trading strategies using an artificial market. Neurocomputing 72(16-18), 3469–3476 (2009)CrossRefGoogle Scholar
  38. 38.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Computer Journal 36(1), 41–50 (2003)CrossRefGoogle Scholar
  39. 39.
    Kovatchev, B.: Closed loop control for type 1 diabetes. British Medical Journal 342, d1911 (2011)Google Scholar
  40. 40.
    Kramer, G.C., Kinsky, M.P., Prough, D.S., Salinas, J., Sondeen, J.L., Hazel-Scerbo, M.L., Mitchell, C.E.: Closed-loop control of fluid therapy for treatment of hypovolemia. Journal of Trauma-Injury Infection & Critical Care 64(4), S333–S341 (2008)Google Scholar
  41. 41.
    Kwiatkowska, M.: Quantitative verification: Models, techniques and tools. In: Proc. 6th Joint Meeting of the European Software Engineering Conf. and the ACM SIGSOFT Symp. Foundations of Software Engineering, pp. 449–458. ACM Press (2007)Google Scholar
  42. 42.
    Kwiatkowska, M., Parker, D., Qu, H.: Incremental quantitative verification for Markov decision processes. In: Proceedings 2011 IEEE/IFIP International Conference Dependable Systems and Networks (2011)Google Scholar
  43. 43.
    Kyas, M., Prisacariu, C., Schneider, G.: Run-Time Monitoring of Electronic Contracts. In: Cha, S(S.), Choi, J.-Y., Kim, M., Lee, I., Viswanathan, M. (eds.) ATVA 2008. LNCS, vol. 5311, pp. 397–407. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  44. 44.
    Lee, U., Cheung, R., Gerla, M.: Emerging vehicular applications. In: Olariu, S., Weigle, M.C. (eds.) Vehicular Networks: From Theory to Practice. Chapman and Hall/CRC (2009)Google Scholar
  45. 45.
    Leucker, M., Schallhart, C.: A brief account of runtime verification. Journal of Logic and Algebraic Programming 78(5), 293–303 (2009)CrossRefMATHGoogle Scholar
  46. 46.
    Mastrototaro, J., Lee, S.: The Integrated MiniMed Paradigm Real-Time Insulin Pump and Glucose Monitoring System: Implications for Improved Patient Outcomes. Diabetes Technology & Therapeutics 11(s1), 37–43 (2009)CrossRefGoogle Scholar
  47. 47.
    Meredith, P., Roşu, G.: Runtime Verification with the RV System. In: Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G., Roşu, G., Sokolsky, O., Tillmann, N. (eds.) RV 2010. LNCS, vol. 6418, pp. 136–152. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  48. 48.
    Meyer, B.: Dependable Software. In: Kohlas, J., Meyer, B., Schiper, A. (eds.) Dependable Systems: Software, Computing, Networks. LNCS, vol. 4028, pp. 1–33. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  49. 49.
    Meyer, G.: Traders flummoxed by natural gas ‘flash crash’. Financial Times (June 9, 2011)Google Scholar
  50. 50.
    Morin, B., Barais, O., Jezequel, J.-M., Fleurey, F., Solberg, A.: Models@run.time to support dynamic adaptation. Computer 42, 44–51 (2009)CrossRefGoogle Scholar
  51. 51.
    Networked European Software and Services Initiative. Research Priorities for the next Framework Programme for Research and Technological Development FP8 (May 2011), http://www.nessi-europe.com/files/Docs/NESSI%20SRA_update_May_2011_V1-0.pdf
  52. 52.
    Wallace, D.R., Ippolito, L.M., Kuhn, D.R.: High Integrity Software Standards and Guidelines. NIST SP 500-204, National Institute of Standards and Technology, Gaithersburg, MD, 20899 (September 1992)Google Scholar
  53. 53.
    National Science Foundation. Cyberinfrastructure Framework for 21st Century Science and Engineering. A Vision and Strategy for Data in Science, Engineering, and Education (April 2012), http://www.nsf.gov/od/oci/cif21/DataVision2012.pdf
  54. 54.
    Pnueli, A., Zaks, A.: PSL Model Checking and Run-Time Verification Via Testers. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 573–586. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  55. 55.
    Rushby, J.: Runtime Certification. In: Leucker, M. (ed.) RV 2008. LNCS, vol. 5289, pp. 21–35. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  56. 56.
    Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4(2), 1–42 (2009)CrossRefGoogle Scholar
  57. 57.
    Sommerville, I., Cliff, D., Calinescu, R., Keen, J., Kelly, J.T., Kwiatkowska, M., McDermid, J., Paige, R.: Large-scale complex IT systems. Communications of the ACM 55(7), 71–77 (2012)CrossRefGoogle Scholar
  58. 58.
    Food, U.S.: Drug Administration — Center for Devices and Radiological Health. Infusion pump improvement initiative, White paper (April 2010), http://www.fda.gov/MedicalDevices/ProductsandMedicalProcedures/GeneralHospitalDevicesandSupplies/InfusionPumps/ucm205424.htm (last retrieved on September 10, 2012)
  59. 59.
    Zheng, T., Woodside, M., Litoiu, M.: Performance model estimation and tracking using optimal filters. IEEE Transactions on Software Engineering 34(3), 391–406 (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Radu Calinescu
    • 1
  1. 1.Department of Computer ScienceUniversity of YorkUK

Personalised recommendations