Issue No. 11 - Nov. (2018 vol. 44)
Radu Calinescu , Department of Computer Science, University of York, York, United Kingdom
Danny Weyns , Department of Computer Science, Katholieke Universiteit Leuven, Leuven, Belgium
Simos Gerasimou , Department of Computer Science, University of York, York, United Kingdom
Muhammad Usman Iftikhar , Department of Computer Science, Linnaeus University, Växjö, Sweden
Ibrahim Habli , Department of Computer Science, University of York, York, United Kingdom
Tim Kelly , Department of Computer Science, University of York, York, United Kingdom
Building on concepts drawn from control theory,
self-adaptive software handles environmental and internal uncertainties by dynamically adjusting its architecture and parameters in response to events such as workload changes and component failures. Self-adaptive software is increasingly expected to meet strict functional and non-functional requirements in applications from areas as diverse as manufacturing, healthcare and finance. To address this need, we introduce a methodology for the systematic ENgineering of TRUstworthy Self-adaptive sofTware (ENTRUST). ENTRUST uses a combination of (1) design-time and runtime modelling and verification, and (2) industry-adopted assurance processes to develop trustworthy self-adaptive software and assurance cases arguing the suitability of the software for its intended application. To evaluate the effectiveness of our methodology, we present a tool-supported instance of ENTRUST and its use to develop proof-of-concept self-adaptive software for embedded and service-based systems from the oceanic monitoring and e-finance domains, respectively. The experimental results show that ENTRUST can be used to engineer self-adaptive software systems in different application domains and to generate dynamic assurance cases for these systems.
Software systems, Control systems, Runtime, Monitoring, Computer architecture, Adaptive systems
R. Calinescu, D. Weyns, S. Gerasimou, M. U. Iftikhar, I. Habli and T. Kelly, "Engineering Trustworthy Self-Adaptive Software with Dynamic Assurance Cases," in IEEE Transactions on Software Engineering, vol. 44, no. 11, pp. 1039-1069, 2018.