As real-time and embedded systems become increasingly large and complex, the traditional strictly static approach to memory management begins to prove untenable. The challenge is to provide a dynamic memory model that guarantees tight and bounded time and space requirements without overburdening the developer with memory concerns. This paper provides an analysis of memory management approaches in order to characterise the tradeoffs across three semantic domains: space, time and a characterisation of memory usage information such as the lifetime of objects. A unified approach to distinguishing the merits of each memory model highlights the relationship across these three domains, thereby identifying the class of applications that benefit from targeting a particular model. Crucially, an initial investigation of this relationship identifies the direction future research must take in order to address the requirements of the next generation of complex embedded systems. Some initial suggestions are made in this regard and the memory model proposed in the Real-Time Specification for Java is evaluated in this context.

BibTex Entry

@inproceedings{Borg2006a,
 address = {Dresden, Germany},
 author = {Andrew Borg and Andy Wellings and Christopher Gill and Ron K. Cytron},
 booktitle = {18th Euromicro Conference on Real-Time Systems (ECRTS'06)},
 month = {jul},
 pages = {237--250},
 title = {Real-Time Memory Management: Life and Times},
 year = {2006}
}