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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In listings, scheDL language keywords are shown in bold.
- 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.
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
20-sim tooling. http://www.20sim.com. Accessed Aug 2012
Banker, R.D., Datar, S.M., Kemerer, C.F., Zweig, D.: Software complexity and maintenance costs. Commun. ACM 36, 81–94 (1993)
Broenink, J.F.: Modelling, simulation and analysis with 20-sim. Journal A 38, 22–25 (1997)
Brucker, P.: Scheduling Algorithms, 3rd edn. Springer, Berlin (2001)
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)
Collette, Y., Siarry, P.: Multiobjective Optimization: Principles and Case Studies. Springer, Berlin (2003)
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)
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)
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)
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)
de Roo, A.J.: Managing software complexity of adaptive systems. Ph.D. thesis, University of Twente, Enschede (2012)
Edgeworth, F.Y.: Mathematical Psychics: An Essay on the Application of Mathematics to the Moral Sciences. C. Kegan Paul, London (1881)
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)
Elrad, T., Fillman, R.E., Bader, A.: Aspect-oriented programming. Commun. ACM 44, 29–32 (2001)
Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.): Aspect-Oriented Software Development. Addison-Wesley, Boston (2005)
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)
Hatley, D.J., Pirbhai, I.A.: Strategies for real-time system specification. Dorset House, New York (1987)
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)
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)
Keeney, R.L., Raiffa, H.: Decisions with Multiple Objectives: Preferences and Value Tradeoffs. Wiley, New York (1976)
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)
Kleijn, C.: 20-sim 4.1 Reference Manual (2009)
Matlab/Simulink (2010). http://www.mathworks.com/products/simulink/. Accessed May 2012
Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37, 316–344 (2005)
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
Pareto, V.: Cours D’Économie Politique. F. Rouge, Lausanne (1896)
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)
van de Laar, P., Punter, T. (eds.): Views on Evolvability of Embedded Systems. Springer, Dordrecht (2011)
van Engelen, R., Voeten, J. (eds.): Ideals: Evolvability of Software-Intensive High-Tech Systems. Embedded Systems Institute, Eindhoven (2007)
Ward, P.T., Mellor, S.J.: Structured development for real-time systems: Introduction & tools. Yourdon Press, Englewood Cliffs (1985)
Winston, W.L.: Operations research: applications and algorithms, 4th edn. Thomson Brooks/Cole, Stamford (2004)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)