Streamlining object-oriented software for deeply embedded applications

Most of today's computer systems are embedded and a substantial amount of them are deeply embedded systems with very limited resources. Object-oriented software is rarely to be found in those systems. We discuss reasons why object orientation is seldom used in this area. We also propose a set of design and implementation techniques based on modern object-oriented methods, which reconcile the reusability and flexibility of object-oriented software with the required efficiency of deeply embedded systems.

[1]  Thomas Breitbach,et al.  PANDA - Supporting Distributed Programming in C++ , 1993, ECOOP.

[2]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[3]  Danilo Beuche,et al.  The PURE family of object-oriented operating systems for deeply embedded systems , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[4]  Wolfgang Schröder-Preikschat,et al.  Design Rationale of the PURE Object-Oriented Embedded Operation System , 1998, DIPES.

[5]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[6]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[7]  Roy H. Campbell,et al.  Choices (class hierarchical open interface for custom embedded systems) , 1987, OPSR.

[8]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[9]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[10]  Vinny Cahill Flexibility in Object-Oriented Operating Systems : A Review , 1996 .

[11]  Wolfgang Schröder-Preikschat The logical design of parallel operating systems , 1994, Prentice Hall series in innovative technology.

[12]  Karel Driesen,et al.  The direct cost of virtual function calls in C++ , 1996, OOPSLA '96.

[13]  Wolfgang Schröder-Preikschat,et al.  Efficient Object-Oriented Software with Design Patterns , 1999, GCSE.

[14]  Krzysztof Czarnecki,et al.  Generative programming - principles and techniques of software engineering based on automated configuration and fragment-based component models , 1999 .

[15]  CampbellRoy,et al.  Choices (class hierarchical open interface for custom embedded systems) , 1987 .

[16]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[17]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .