Making Object Oriented Efficient for Embedded System Applications

Nowadays, with the growing complexity of embedded systems, it is necessary to use techniques and methodologies that in the same time increase the software productivity, while being still able to manipulate physical embedded systems constraints like memory footprint, real-time behavior, power dissipation and so on. Object-oriented modeling and design is a widely-known methodology in software engineering. This paradigm may satisfy the software portability and maintainability requirements, but it presents an overhead in terms of memory, performance and code size. This paper proposes a pragmatic approach, consisting in the use design space exploration tool (DESEJOS Tool) to allow an automatic selection of the best object organization. This tool tries to transform, in an automatic way, as many dynamic objects to static ones, in the goal to reduce execution time, while maintaining memory costs as low as possible. Experimental results are presented and demonstrate that a one can increase by 24% the performance of an MP3 player while paying just 0.3% increase in memory size

[1]  George Lawton Moving Java into Mobile Phones , 2002, Computer.

[2]  Elliot K. Kolodner,et al.  Heap profiling for space-efficient Java , 2001, PLDI '01.

[3]  Mahmut T. Kandemir,et al.  Heap compression for memory-constrained Java environments , 2003, OOPSLA.

[4]  Benjamin G. Zorn,et al.  BIT: A Tool for Instrumenting Java Bytecodes , 1997, USENIX Symposium on Internet Technologies and Systems.

[5]  Deekap Mulchandani Java for Embedded Systems , 1998, IEEE Internet Comput..

[6]  Alexander Chatzigeorgiou,et al.  Evaluating Performance and Power of Object-Oriented Vs. Procedural Programming in Embedded Processors , 2002, Ada-Europe.

[7]  Luigi Carro,et al.  Object Orientation Problems When Applied to the Embedded Systems Domain , 2005, IESS.

[8]  Tien-Fu Chen,et al.  Dynamic memory management for real-time embedded Java chips , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[9]  Mahmut T. Kandemir,et al.  Tuning garbage collection for reducing memory system energy in an embedded java environment , 2002, TECS.

[10]  Rafael Dueire Lins,et al.  Garbage collection: algorithms for automatic dynamic memory management , 1996 .

[11]  Hans Toetenel,et al.  Embedded Software Engineering: The State of the Practice , 2003, IEEE Softw..

[12]  Luigi Carro,et al.  Making Java Work for Microcontroller Applications , 2001, IEEE Des. Test Comput..

[13]  Edward A. Lee,et al.  What's Ahead for Embedded Software? , 2000, Computer.