Lean and efficient system software product lines: where aspects beat objects

  • Authors:
  • Daniel Lohmann;Olaf Spinczyk;Wolfgang Schröder-Preikschat

  • Affiliations:
  • Computer Science 4 – Distributed Systems and Operating Systems, Friedrich-Alexander-University Erlangen-Nuremberg, Germany;Computer Science 4 – Distributed Systems and Operating Systems, Friedrich-Alexander-University Erlangen-Nuremberg, Germany;Computer Science 4 – Distributed Systems and Operating Systems, Friedrich-Alexander-University Erlangen-Nuremberg, Germany

  • Venue:
  • Transactions on Aspect-Oriented Software Development II
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software development in the domain of embedded and deeply embedded systems is dominated by cost pressure and extremely limited hardware resources. As a result, modern concepts for separation of concerns and software reuse are widely ignored, as developers worry about the thereby induced memory and performance overhead. Especially object-oriented programming (OOP) is still little in demand. For the development of highly configurable fine-grained system software product lines, however, separation of concerns (SoC) is a crucial property. As the overhead of object-orientation is not acceptable in this domain, we propose aspect-oriented programming (AOP) as an alternative. Compared to OOP, AOP makes it possible to reach similar or even better separation of concerns with significantly smaller memory footprints. In a case study for an embedded system product line the memory costs for SoC could be reduced from 148–236% to 2–10% by using AOP instead of OOP.