Skip to main content

Engineering Adaptive Embedded Software: Managing Complexity and Evolution

  • Chapter
  • First Online:
Model-Based Design of Adaptive Embedded Systems

Part of the book series: Embedded Systems ((EMSY,volume 22))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    In listings, scheDL language keywords are shown in bold.

  2. 2.

    A video demonstrating the application of our method in the case study can be found at the Octopus homepage of the University of Twente: http://www.utwente.nl/ewi/trese/research_projects/Octopus.doc/.

  3. 3.

    This is a property of the chosen optimisation algorithm: When the solution space of the MOO problem is empty, this algorithm drops constraints until there is a solution. Additional configuration of this algorithm is done so that it drops the 100 W power margin constraint first. This property is not part of the MO2 method; the method leaves open what should happen when the solution space of the MOO problem is empty.

References

  1. 20-sim tooling. http://www.20sim.com. Accessed Aug 2012

  2. Banker, R.D., Datar, S.M., Kemerer, C.F., Zweig, D.: Software complexity and maintenance costs. Commun. ACM 36, 81–94 (1993)

    Article  Google Scholar 

  3. Broenink, J.F.: Modelling, simulation and analysis with 20-sim. Journal A 38, 22–25 (1997)

    Google Scholar 

  4. Brucker, P.: Scheduling Algorithms, 3rd edn. Springer, Berlin (2001)

    Book  MATH  Google Scholar 

  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. Collette, Y., Siarry, P.: Multiobjective Optimization: Principles and Case Studies. Springer, Berlin (2003)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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. de Roo, A.J.: Managing software complexity of adaptive systems. Ph.D. thesis, University of Twente, Enschede (2012)

    Google Scholar 

  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. 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. Elrad, T., Fillman, R.E., Bader, A.: Aspect-oriented programming. Commun. ACM 44, 29–32 (2001)

    Article  Google Scholar 

  15. Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.): Aspect-Oriented Software Development. Addison-Wesley, Boston (2005)

    Google Scholar 

  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. Hatley, D.J., Pirbhai, I.A.: Strategies for real-time system specification. Dorset House, New York (1987)

    Google Scholar 

  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. 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. Keeney, R.L., Raiffa, H.: Decisions with Multiple Objectives: Preferences and Value Tradeoffs. Wiley, New York (1976)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  22. Kleijn, C.: 20-sim 4.1 Reference Manual (2009)

    Google Scholar 

  23. Matlab/Simulink (2010). http://www.mathworks.com/products/simulink/. Accessed May 2012

  24. Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37, 316–344 (2005)

    Article  Google Scholar 

  25. Object Management Group: OMG Unified Modeling Language (OMG UML), Infrastructure, V2.1.2 (2007). http://www.omg.org/spec/UML/2.1.2/Infrastructure/PDF. Accessed Aug 2012

  26. Pareto, V.: Cours D’Économie Politique. F. Rouge, Lausanne (1896)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  28. van de Laar, P., Punter, T. (eds.): Views on Evolvability of Embedded Systems. Springer, Dordrecht (2011)

    Google Scholar 

  29. van Engelen, R., Voeten, J. (eds.): Ideals: Evolvability of Software-Intensive High-Tech Systems. Embedded Systems Institute, Eindhoven (2007)

    Google Scholar 

  30. Ward, P.T., Mellor, S.J.: Structured development for real-time systems: Introduction & tools. Yourdon Press, Englewood Cliffs (1985)

    Google Scholar 

  31. Winston, W.L.: Operations research: applications and algorithms, 4th edn. Thomson Brooks/Cole, Stamford (2004)

    Google Scholar 

Download references

Acknowledgements

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kardelen Hatun .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media New York

About this chapter

Cite this chapter

Hatun, K., de Roo, A., Bergmans, L., Bockisch, C., Akşit, M. (2013). Engineering Adaptive Embedded Software: Managing Complexity and Evolution. In: Basten, T., Hamberg, R., Reckers, F., Verriet, J. (eds) Model-Based Design of Adaptive Embedded Systems. Embedded Systems, vol 22. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-4821-1_8

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-4821-1_8

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-4820-4

  • Online ISBN: 978-1-4614-4821-1

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics