Abstract
Java has recently joined C and C++ as a relatively high-level language suitable for developing real-time applications. Java's garbage collection, while generally a useful feature, can be problematic for real-time applications if collection occurs with unpredictable frequency and latency. The Real-Time Specification for Java#8482; (RTSJ) incorporates a scoped-memory model, akin to regions, that is not subject to garbage collection. However, applications are subject to strict rules concerning how objects can reference each other in scoped memory. Unfortunately, almost all extant Java code, including Java's vast and useful runtime libraries, will not execute properly in scoped-memory areas without significant modification. In this paper, we show that programs written in a pure functional programming language can be executed in a provably safe manner using scoped memory in RTSJ. This new connection allows extant implementations of important abstract data types to migrate safely to RTSJ. We also explore the effect of RTSJ's referencing rules on the asymptotic, real-time behavior of some abstract data types.
| Original language | English |
|---|---|
| Pages | 73-82 |
| Number of pages | 10 |
| DOIs | |
| State | Published - 2007 |
| Event | 5th International Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES 2007 - Vienna, Australia Duration: Sep 26 2007 → Sep 28 2007 |
Conference
| Conference | 5th International Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES 2007 |
|---|---|
| Country/Territory | Australia |
| City | Vienna |
| Period | 09/26/07 → 09/28/07 |
Keywords
- Functional programming
- Memory management
- Performance analysis
- Programming languages
- Real-time Java
- Scoped memory