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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
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)
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)
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)
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)
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)
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)
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)
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)
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)
Calinescu, R.: Run-time connector synthesis for autonomic systems of systems. Journal On Advances in Intelligent Systems 2(2-3), 376–386 (2009)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Collins, J., Ketter, W., Gini, M.: Flexible decision control in an autonomous trading agent. Electronic Commerce Research & Appl. 8(2), 91–105 (2009)
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)
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)
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)
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)
Feng, G., Lozano, R.: Adaptive Control Systems. Elsevier (1999)
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)
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
Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjorven, E.: Using architecture models for runtime adaptability. IEEE Software 23, 62–70 (2006)
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)
Garlan, D., Schmerl, B.R.: Using architectural models at runtime: Research challenges. In: European Workshop Software Architecture, pp. 200–205 (2004)
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)
Ghini, V., Ferretti, S., Panzieri, F.: M-Hippocrates: Enabling Reliable and Interactive Mobile Health Services. IT Professional 14(3), 29–35 (2012)
Hartenstein, H., Laberteaux, K.P. (eds.): VANET: Vehicular Applications and Inter-Networking Technologies. John Wiley & Sons (2009)
Huebscher, M.C., McCann, J.A.: A survey of autonomic computing—degrees, models, and applications. ACM Comp. Surveys 40(3), 1–28 (2008)
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)
Izumi, K., Toriumi, F., Matsui, H.: Evaluation of automated-trading strategies using an artificial market. Neurocomputing 72(16-18), 3469–3476 (2009)
Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Computer Journal 36(1), 41–50 (2003)
Kovatchev, B.: Closed loop control for type 1 diabetes. British Medical Journal 342, d1911 (2011)
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)
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)
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)
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)
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)
Leucker, M., Schallhart, C.: A brief account of runtime verification. Journal of Logic and Algebraic Programming 78(5), 293–303 (2009)
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)
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)
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)
Meyer, G.: Traders flummoxed by natural gas ‘flash crash’. Financial Times (June 9, 2011)
Morin, B., Barais, O., Jezequel, J.-M., Fleurey, F., Solberg, A.: Models@run.time to support dynamic adaptation. Computer 42, 44–51 (2009)
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
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)
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
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)
Rushby, J.: Runtime Certification. In: Leucker, M. (ed.) RV 2008. LNCS, vol. 5289, pp. 21–35. Springer, Heidelberg (2008)
Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4(2), 1–42 (2009)
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)
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)
Zheng, T., Woodside, M., Litoiu, M.: Performance model estimation and tracking using optimal filters. IEEE Transactions on Software Engineering 34(3), 391–406 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Calinescu, R. (2013). Emerging Techniques for the Engineering of Self-Adaptive High-Integrity Software. In: Cámara, J., de Lemos, R., Ghezzi, C., Lopes, A. (eds) Assurances for Self-Adaptive Systems. Lecture Notes in Computer Science, vol 7740. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36249-1_11
Download citation
DOI: https://doi.org/10.1007/978-3-642-36249-1_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-36248-4
Online ISBN: 978-3-642-36249-1
eBook Packages: Computer ScienceComputer Science (R0)