Abstract

The Real-Time Specification for Java (RTSJ) introduces a new memory management model which avoids interfering with the garbage collection process. Two types of memory areas are provided - immortal and scoped. Using this memory management model is not straightforward, since many issues need to be considered. A developer has to decide on the objects that will be allocated in immortal or scoped memory areas and on the memory space required at runtime. On the other hand, reference checks between memory areas constrain the design of the real-time applications and increase the complexity of the development process. In previous work, a new RTSJ case study was implemented and discussed using different scoped memory models. The case study showed the complexity of using the new RTSJ memory model and the space overhead incurred by immortal memory. In this paper, dynamic code slicing is employed as a debugging technique to explore constant increases in immortal memory. Two programming design patterns are presented for decreasing immortal memory overheads generated by specific data structures. Experimental results showed a significant decrease in immortal memory consumption at runtime. The work therefore provides a new approach for assisting developers in debugging and optimising scoped and immortal memory implementation

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.