Managing Software Complexity of Adaptive Systems
Embedded systems are expected to behave optimally under changing circumstances and they have to satisfy varying customer needs. Hence, they have to be runtime adaptive. Large part of the control logic of such embedded systems is implemented in software. 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 complexity. This complexity reduces software quality with respect to several quality criteria such as reliability, maintainability and reusability. We introduce two techniques to address this challenge and manage the complexity in adaptive systems. First, we present a novel technique to compose domain-specific models of physical characteristics (physical models) with control software modules written in a general-purpose programming language. Second, we demonstrate a structured method to include multi-objective optimization solutions in the architecture of embedded control software. This method prevents tailored solutions and tight coupling of optimization algorithms with control software modules. An industrial case study is used for demonstrating these techniques.
Bio:Hasan Sözer received his B.Sc. and M.Sc. degrees in computer engineering from Bilkent University, Turkey, in 2002 and 2004, respectively. He received his Ph.D. degree in 2009 from the University of Twente, The Netherlands. From 2002 until 2005, he worked as a software engineer at Aselsan Inc. in Turkey. From 2009 until 2011, he worked as a post-doctoral researcher at the University of Twente. He is currently an assistant professor at Özyeğin University.