Managing Software Complexity of Adaptive Systems

Arjan de Roo

Research output: ThesisPhD Thesis - Research UT, graduation UT

220 Downloads (Pure)


To survive under competitive pressure, embedded system companies build systems that can deal with changing customer needs and operating conditions, and deterioration of the hardware over the lifetime of the embedded system. Engineers face the challenge to design such adaptive systems, while keeping hardware costs low. To accomplish this, increasingly sophisticated control strategies are being designed and implemented in embedded systems. An example of such a sophisticated control strategy is runtime optimization of multiple system qualities, such as power consumption and productivity, and dynamically making trade-offs between such qualities (or objectives) based on (varying) user needs. Large part of the control logic of embedded systems is implemented in software. The implementation of sophisticated control strategies introduces additional complexity in embedded control software. Part of this complexity is inevitable: it is a result of essential complexity in the selected control strategy. However, the lack of structured methods to design and incorporate sophisticated control strategies in software and the lack of proper abstraction mechanisms in programming languages to express these strategies introduce accidental complexity in the software. Accidental complexity reduces software quality with respect to several quality criteria such as comprehensibility, reliability, maintainability and reusability. The subject of this thesis is how to manage the complexity introduced by sophisticated control strategies, and how to reduce the impact of this complexity on software quality. This thesis provides three main contributions. First, this thesis proposes a novel technique to compose domain-specific models of physical characteristics (physical models) with control software modules written in a general-purpose programming language. As such, it combines the benefits of domain-specific abstractions in a domain-specific modeling language with the freedom of a general-purpose programming language. Second, this thesis provides a method for runtime verification of models of physical characteristics that are utilized in embedded control software, as such models may be wrong or inaccurate. Third, this thesis presents a structured method to include multi-objective optimization solutions in the architecture of embedded control software. This method prevents tailored solutions and tight integration of optimization algorithms with control software modules.
Original languageEnglish
QualificationDoctor of Philosophy
Awarding Institution
  • University of Twente
  • Akşit, Mehmet, Supervisor
  • Bergmans, L., Co-Supervisor
  • Sözer, H., Co-Supervisor
Award date2 Feb 2012
Place of PublicationEnschede, The Netherlands
Print ISBNs978-90-365-3319-5
Publication statusPublished - 2 Feb 2012


Dive into the research topics of 'Managing Software Complexity of Adaptive Systems'. Together they form a unique fingerprint.

Cite this