Engineering Adaptive Embedded Software: Managing Complexity and Evolution

  • Kardelen Hatun
  • Arjan de Roo
  • Lodewijk Bergmans
  • Christoph Bockisch
  • Mehmet Akşit
Part of the Embedded Systems book series (EMSY, volume 22)


Software plays an increasingly important role in the development of electronic systems. In particular, software is used to control the behaviour of systems in advanced ways that enable system features that would not be feasible otherwise. Making such an embedded system adaptive can improve its performance in certain situations, or extend its applicability to a broader range of situations. In this chapter we explain why this is the case, and how adaptivity can provide a competitive advantage. However, realising and maintaining adaptive embedded software brings its own challenges, sometimes even so prohibitive that the benefits of adaptivity are given up. We explain how adaptivity compromises the ability to manage software complexity and the ability to maintain evolving embedded software. To improve on this, we present our approach of a systematic method towards the development of adaptive embedded software. Two case studies explain two concrete applications of this approach: The first application is a method and corresponding tool set for developing flexible (adaptive) schedulers. It is shown how to use this method to develop application-specific schedulers in a modular way, exploiting a domain-specific language for concisely describing schedulers. We demonstrate that evolving requirements can be handled conveniently. The second application is a method that supports the development of Multi-Objective Optimisations, especially for physical control problems. We discuss the software engineering challenges involved in developing such systems, and explain the various steps and domain-specific languages of the method. Then we illustrate how this method was applied to an industrial case.


Schedule Algorithm Control Software Application Module Industrial Case Study Power Margin 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



This work has been carried out as part of the Octopus project with Océ-Technologies B.V. under the responsibility of the Embedded Systems Institute. This project is partially supported by the Netherlands Ministry of Economic Affairs, Agriculture, and Innovation under the BSIK program.


  1. 1.
    20-sim tooling. Accessed Aug 2012
  2. 2.
    Banker, R.D., Datar, S.M., Kemerer, C.F., Zweig, D.: Software complexity and maintenance costs. Commun. ACM 36, 81–94 (1993)CrossRefGoogle Scholar
  3. 3.
    Broenink, J.F.: Modelling, simulation and analysis with 20-sim. Journal A 38, 22–25 (1997)Google Scholar
  4. 4.
    Brucker, P.: Scheduling Algorithms, 3rd edn. Springer, Berlin (2001)MATHCrossRefGoogle Scholar
  5. 5.
    Clements, P., Bachman, F., Bass, L., Ivers, D.G.J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond. Addison-Wesley, Boston (2002)Google Scholar
  6. 6.
    Collette, Y., Siarry, P.: Multiobjective Optimization: Principles and Case Studies. Springer, Berlin (2003)Google Scholar
  7. 7.
    Czarnecki, K.: Overview of generative software development. In: J.P. Banâtre, P. Fradet, J.L. Giavitto, O. Michel (eds.) Unconventional Programming Paradigms. Lecture Notes in Computer Science, vol. 3566, pp. 326–341. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Dashofy, E., Asuncion, H., Hendrickson, S., Suryanarayana, G., Georgas, J., Taylor, R.: Archstudio 4: An architecture-based meta-modelling environment. In: Companion to the Proceedings of the 29th International Conference on Software Engineering (ICSE’07), Minneapolis, pp. 67–68 (2007)Google Scholar
  9. 9.
    de Roo, A., Sözer, H., Akşit, M.: An architectural style for optimizing system qualities in adaptive embedded systems using multi-objective optimization. In: Proceedings of the 8th Working IEEE/IFIP Conference on Software Architecture (WICSA 2009), Cambridge, pp. 349–352 (2009)Google Scholar
  10. 10.
    de Roo, A., Sözer, H., Akşit, M.: Runtime verification of domain-specific models of physical characteristics in control software. In: Proceedings of the Fifth IEEE International Conference on Secure Software Integration and Reliability Improvement (SSIRI 2011), Dallas, pp. 41–50 (2011)Google Scholar
  11. 11.
    de Roo, A.J.: Managing software complexity of adaptive systems. Ph.D. thesis, University of Twente, Enschede (2012)Google Scholar
  12. 12.
    Edgeworth, F.Y.: Mathematical Psychics: An Essay on the Application of Mathematics to the Moral Sciences. C. Kegan Paul, London (1881)Google Scholar
  13. 13.
    Ehrgott, M., Gandibleux, X. (eds.): Multiple criteria optimization: state of the art annotated bibliographic surveys. International Series in Operations Research & Management Science, vol. 52. Kluwer Academic, Dordrecht (2002)Google Scholar
  14. 14.
    Elrad, T., Fillman, R.E., Bader, A.: Aspect-oriented programming. Commun. ACM 44, 29–32 (2001)CrossRefGoogle Scholar
  15. 15.
    Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.): Aspect-Oriented Software Development. Addison-Wesley, Boston (2005)Google Scholar
  16. 16.
    Glaßer, C., Reitwießner, C., Schmitz, H., Witek, M.: Approximability and hardness in multi-objective optimization. In: Programs, Proofs, Processes. Lecture Notes in Computer Science, vol. 6158, pp. 180–189. Springer, Heidelberg (2010)Google Scholar
  17. 17.
    Hatley, D.J., Pirbhai, I.A.: Strategies for real-time system specification. Dorset House, New York (1987)Google Scholar
  18. 18.
    Hatun, K., Bockisch, C., Sözer, H., Akşit, M.: A feature model and development approach for schedulers. In: Proceedings of the 1st Workshop on Modularity in Systems Software (MISS 2011), Porto de Galinhas, pp. 1–5 (2011)Google Scholar
  19. 19.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Tech. Rep. CMU/SEI-90-TR-21, Carnegie Mellon University, Software Engineering Institute, Pittsburgh, PA (1990)Google Scholar
  20. 20.
    Keeney, R.L., Raiffa, H.: Decisions with Multiple Objectives: Preferences and Value Tradeoffs. Wiley, New York (1976)Google Scholar
  21. 21.
    Kent, S.: Model driven engineering. In: M. Butler, L. Petre, K. Sere (eds.) Integrated Formal Methods. Lecture Notes in Computer Science, vol. 2335, pp. 286–298. Springer, Berlin (2002)CrossRefGoogle Scholar
  22. 22.
    Kleijn, C.: 20-sim 4.1 Reference Manual (2009)Google Scholar
  23. 23.
    Matlab/Simulink (2010). Accessed May 2012
  24. 24.
    Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37, 316–344 (2005)CrossRefGoogle Scholar
  25. 25.
    Object Management Group: OMG Unified Modeling Language (OMG UML), Infrastructure, V2.1.2 (2007). Accessed Aug 2012
  26. 26.
    Pareto, V.: Cours D’Économie Politique. F. Rouge, Lausanne (1896)Google Scholar
  27. 27.
    Selic, B.: Using UML for modeling complex real-time systems. In: F. Mueller, A. Bestavros (eds.) Languages, Compilers, and Tools for Embedded Systems. Lecture Notes in Computer Science, vol. 1474, pp. 250–260. Springer, Berlin (1998)CrossRefGoogle Scholar
  28. 28.
    van de Laar, P., Punter, T. (eds.): Views on Evolvability of Embedded Systems. Springer, Dordrecht (2011)Google Scholar
  29. 29.
    van Engelen, R., Voeten, J. (eds.): Ideals: Evolvability of Software-Intensive High-Tech Systems. Embedded Systems Institute, Eindhoven (2007)Google Scholar
  30. 30.
    Ward, P.T., Mellor, S.J.: Structured development for real-time systems: Introduction & tools. Yourdon Press, Englewood Cliffs (1985)Google Scholar
  31. 31.
    Winston, W.L.: Operations research: applications and algorithms, 4th edn. Thomson Brooks/Cole, Stamford (2004)Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Kardelen Hatun
    • 1
  • Arjan de Roo
    • 1
  • Lodewijk Bergmans
    • 1
  • Christoph Bockisch
    • 1
  • Mehmet Akşit
    • 1
  1. 1.Software Engineering group, Faculty of Electrical Engineering, Mathematics and Computer ScienceUniversity of TwenteEnschedeThe Netherlands

Personalised recommendations