Skip to Main content Skip to Navigation

Synthèse de gestionnaires mémoire pour applications Java temps-réel embarquées

Abstract : In this thesis, we address the problem of dynamic memory management in real-time embedded Java systems. When programming in C or C++, all memory management is done explicitly by the programmer, inducing numerous execution faults because of hazardous use of memory operations. This greatly increases software development costs, because such errors are very hard to debug. The Java language tackles this problem by offering automatic memory management, thanks to the use of a garbage collector. However, garbage collection is often deemed to be unsuited to a real-time embedded context, because of its unpredictable execution times. This problem hinders the spread of modern languages like Java in the world of real-time embedded systems.
To settle the problem of execution times, we propose to use a region-based memory manager. The idea is to group objects of similar lifetimes into memory regions, which are deallocated as a whole. This paradigm offers predictable execution times for all memory operations. We propose a static analysis algorithm that predicts connections between objects, so that every data structure is grouped into one region. The analysis also produces results describing the memory behaviour of the program, helping the developer to write his code in a style suitable for region-based memory management.
We implemented an automatic region allocator in the virtual machine of the JITS project, dedicated to bringing full Java support to resource-constrained embedded devices. Experiments show that for most programming patterns, our system behaves as efficiently as a garbage collector, while retaining predictable execution times. Our analysis tool is furthermore able to provide useful feedback to the programmer to pinpoint problematic constructs.
Complete list of metadatas

Cited literature [157 references]  Display  Hide  Download
Contributor : Guillaume Salagnac <>
Submitted on : Monday, June 16, 2008 - 6:07:06 PM
Last modification on : Thursday, November 19, 2020 - 3:58:01 PM
Long-term archiving on: : Friday, September 28, 2012 - 4:06:19 PM


  • HAL Id : tel-00288426, version 1




Guillaume Salagnac. Synthèse de gestionnaires mémoire pour applications Java temps-réel embarquées. Informatique [cs]. Université Joseph-Fourier - Grenoble I, 2008. Français. ⟨tel-00288426⟩



Record views


Files downloads