Managing Software Complexity of Adaptive Systems

Arjan de Roo

    Research output: ThesisPhD Thesis - Research UT, graduation UT

    91 Downloads (Pure)

    Abstract

    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 languageUndefined
    Awarding Institution
    • University of Twente
    Supervisors/Advisors
    • Akşit, Mehmet , Supervisor
    • Bergmans, Lodewijk, Advisor
    • Sözer, Hasan, Advisor
    Award date2 Feb 2012
    Place of PublicationEnschede, The Netherlands
    Publisher
    Print ISBNs978-90-365-3319-5
    DOIs
    Publication statusPublished - 2 Feb 2012

    Keywords

    • METIS-290643
    • IR-79570
    • EWI-22804

    Cite this

    de Roo, A. (2012). Managing Software Complexity of Adaptive Systems. Enschede, The Netherlands: University of Twente. https://doi.org/10.3990/1.9789036533195