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

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.

[1]  Kiyoshi Izumi,et al.  Evaluation of automated-trading strategies using an artificial market , 2009, Neurocomputing.

[2]  Radu Calinescu,et al.  Run-Time Connector Synthesis for Autonomic Systems of Systems , 2009 .

[3]  Radu Calinescu,et al.  Compositional Reverification of Probabilistic Safety Properties for Large-Scale Complex IT Systems , 2012, Monterey Workshop.

[4]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[5]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[6]  Franklin Farell Roadmap to a Single European Transport Area: Towards a competitive and resource efficient transport system , 2014 .

[7]  Matteo Pradella,et al.  Synthesizing adapters for conversational web-services from their WSDL interface , 2010, SEAMS '10.

[8]  Paul Lukowicz,et al.  AMON: a wearable multiparameter medical monitoring and alert system , 2004, IEEE Transactions on Information Technology in Biomedicine.

[9]  Fabio Panzieri,et al.  M-Hippocrates: Enabling Reliable and Interactive Mobile Health Services , 2012, IT Professional.

[10]  Radu Calinescu,et al.  Dynamic QoS Management and Optimization in Service-Based Systems , 2011, IEEE Transactions on Software Engineering.

[11]  Wolfram Schulte,et al.  FM 2011: Formal Methods - 17th International Symposium on Formal Methods, Limerick, Ireland, June 20-24, 2011. Proceedings , 2011, FM.

[12]  Valérie Issarny,et al.  Formal Methods for Eternal Networked Software Systems , 2011, Lecture Notes in Computer Science.

[13]  Maureen O'Hara,et al.  The Microstructure of the ‘Flash Crash’: Flow Toxicity, Liquidity Crashes and the Probability of Informed Trading , 2010 .

[14]  Carlo Ghezzi,et al.  Model evolution by run-time parameter adaptation , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[15]  Marin Litoiu,et al.  Performance Model Estimation and Tracking Using Optimal Filters , 2008, IEEE Transactions on Software Engineering.

[16]  Bradley R. Schmerl,et al.  Using Architectural Models at Runtime: Research Challenges , 2004, EWSA.

[17]  Mohamed Nassim Seghir,et al.  A Lightweight Approach for Loop Summarization , 2011, ATVA.

[18]  Amir Pnueli,et al.  PSL Model Checking and Run-Time Verification Via Testers , 2006, FM.

[19]  Marta Z. Kwiatkowska Quantitative verification: models techniques and tools , 2007, ESEC-FSE '07.

[20]  Julie A. McCann,et al.  A survey of autonomic computing—degrees, models, and applications , 2008, CSUR.

[21]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[22]  Radu Calinescu,et al.  Using observation ageing to improve markovian model learning in QoS engineering , 2011, ICPE '11.

[23]  B. Kovatchev Closed loop control for type 1 diabetes , 2011, BMJ : British Medical Journal.

[24]  Hannes Hartenstein,et al.  VANET: Vehicular Applications and Inter-Networking Technologies , 2010, VANET.

[25]  Paola Inverardi,et al.  Automatic synthesis of behavior protocols for composable web-services , 2009, ESEC/FSE '09.

[26]  Rushby John,et al.  Model-Based Reconfiguration: Diagnosis and Recovery , 1994 .

[27]  Martin Odersky,et al.  Scalable Programming Abstractions for XML Services , 2006, Research Results of the DICS Program.

[28]  John M. Rushby,et al.  Runtime Certification , 2008, RV.

[29]  Stephan Olariu,et al.  Vehicular Networks: From Theory to Practice , 2009 .

[30]  Rolf Isermann,et al.  Adaptive control systems , 1991 .

[31]  Frank Eliassen,et al.  Using architecture models for runtime adaptability , 2006, IEEE Software.

[32]  Carlo Ghezzi Evolution, Adaptation, and the Quest for Incrementality , 2012, Monterey Workshop.

[33]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[34]  Ondrej Lhoták,et al.  Adding trace matching with free variables to AspectJ , 2005, OOPSLA '05.

[35]  Carlo Ghezzi,et al.  Self-adaptive software needs quantitative verification at runtime , 2012, CACM.

[36]  David R. Kuhn,et al.  High integrity software standards and guidelines , 1992 .

[37]  Radu Calinescu,et al.  CADS*: Computer-Aided Development of Self-* Systems , 2009, FASE.

[38]  Bertrand Meyer,et al.  Dependable Software , 2006, Research Results of the DICS Program.

[39]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[40]  Tobias Nipkow,et al.  FM 2006: Formal Methods, 14th International Symposium on Formal Methods, Hamilton, Canada, August 21-27, 2006, Proceedings , 2006, FM.

[41]  Maria L. Gini,et al.  Flexible Decision Control in an Autonomous Trading Agent , 2007, Electron. Commer. Res. Appl..

[42]  Christian Johansen,et al.  Run-Time Monitoring of Electronic Contracts , 2008, ATVA.

[43]  Radu Calinescu,et al.  Large-scale complex IT systems , 2011, Commun. ACM.

[44]  Douglas C. Schmidt,et al.  Time-bounded adaptation for automotive system software , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[45]  John A. Clark,et al.  Automated V&V for high integrity systems, a targeted formal methods approach , 2000 .

[46]  Grigore Rosu,et al.  Runtime Verification with the RV System , 2010, RV.

[47]  Hongyang Qu,et al.  Incremental quantitative verification for Markov decision processes , 2011, 2011 IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN).

[48]  Radu Calinescu,et al.  Using quantitative analysis to implement autonomic IT systems , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[49]  John J. Mastrototaro,et al.  The integrated MiniMed Paradigm REAL-Time insulin pump and glucose monitoring system: implications for improved patient outcomes. , 2009, Diabetes technology & therapeutics.

[50]  Brice Morin,et al.  Models@ Run.time to Support Dynamic Adaptation , 2009, Computer.

[51]  Jose Salinas,et al.  Closed-loop control of fluid therapy for treatment of hypovolemia. , 2008, The Journal of trauma.

[52]  Radu Calinescu,et al.  Formal Methods @ Runtime , 2010, Monterey Workshop.

[53]  Walter F. Tichy,et al.  Proceedings 25th International Conference on Software Engineering , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[54]  Martin Leucker,et al.  A brief account of runtime verification , 2009, J. Log. Algebraic Methods Program..

[55]  M. Leucker,et al.  Model-based runtime analysis of distributed reactive systems , 2006, Australian Software Engineering Conference (ASWEC'06).

[56]  Yérom-David Bromberg,et al.  Middleware-Layer Connector Synthesis: Beyond State of the Art in Middleware Interoperability , 2011, SFM.

[57]  Howard Barringer,et al.  TraceContract: A Scala DSL for Trace Analysis , 2011, FM.

[58]  Radu Calinescu When the requirements for adaptation and high integrity meet , 2011, ASAS '11.

[59]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar] , 2009, Software Engineering for Self-Adaptive Systems.

[60]  Mario Gerla,et al.  Emerging Vehicular Applications , 2008 .

[61]  Alex Groce,et al.  Rule Systems for Runtime Verification: A Short Tutorial , 2009, RV.

[62]  Valérie Issarny,et al.  Machine Learning for Emergent Middleware , 2012, EternalS@ECAI.