Skip to main content

Incorporating Architecture-Based Self-Adaptation into an Adaptive Industrial Software System

Camara, Javier, Correia, Pedro, de Lemos, Rogerio, Garlan, David, Gomes, Pedro, Schmerl, Bradley, Ventura, Rafael (2015) Incorporating Architecture-Based Self-Adaptation into an Adaptive Industrial Software System. Journal of Systems and Software, . ISSN 0164-1212. (doi:10.1016/j.jss.2015.09.021)

PDF - Author's Accepted Manuscript
Download (591kB) Preview
Official URL


Complex software-intensive systems are increasingly relied upon for all kinds of activities in society, leading to the requirement that these systems should be resilient to changes that may occur to the system, its environment, or its goals. Traditionally, resilience has been achieved either through: (i)~low-level mechanisms embedded in the implementation (e.g., exception handling, timeouts, redundancies), which are unable to detect subtle but important anomalies (e.g., progressive performance degradation); or (ii)~human oversight, which is costly and unreliable. Architecture-based self-adaptation (ABSA) is regarded as a promising approach to improve the resilience and reduce the development/operation costs of such systems. Although researchers have illustrated the benefits of ABSA through a number of small-scale case studies, it remains to be seen whether ABSA is truly effective in handling changes at run-time in industrial-scale systems. intend to be representative of larger industrial systems, so it remains to be seen whether ABSA is truly effective in such settings. In this paper, we report on our experience applying an ABSA framework (Rainbow) to a large-scale commercial software system, called Data Acquisition and Control Service (DCAS), which is used to monitor and manage highly populated networks of devices in renewable energy production plants. In the approach followed, we have replaced some of the existing adaptive mechanisms embedded in DCAS by those advocated by ABSA proponents. This has allowed us to assess the development costs associated with the reengineering of adaptive mechanisms when using an ABSA solution, and to make effective comparisons, in terms of operational performance, between a baseline industrial system and one that uses ABSA. Our results show that using the ABSA concepts as embodied in Rainbow enabled an independent team of developers to: (i)~effectively implement the adaptation behavior required from such industrial systems; and (ii)~obtain important benefits in terms of maintainability and extensibility of adaptation mechanisms.

Item Type: Article
DOI/Identification number: 10.1016/j.jss.2015.09.021
Uncontrolled keywords: Architecture-based self-adaptation, Evolution, Middleware, Rainbow
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Sciences > School of Computing
Depositing User: Rogerio de Lemos
Date Deposited: 15 Oct 2015 15:48 UTC
Last Modified: 29 May 2019 16:09 UTC
Resource URI: (The current URI for this page, for reference purposes)
de Lemos, Rogerio:
  • Depositors only (login required):


Downloads per month over past year