Data structures and algorithm analysis in C (2nd ed.)
Data structures and algorithm analysis in C (2nd ed.)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Contaminated garbage collection
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Communications of the ACM
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
Automated discovery of scoped memory regions for real-time Java
Proceedings of the 3rd international symposium on Memory management
The Real-Time Specification for Java
The Real-Time Specification for Java
The Java Programming Language
Advanced Functional Programming, Second International School-Tutorial Text
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Ownership types for safe region-based memory management in real-time Java
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Purely functional data structures
Purely functional data structures
Region analysis and transformation for Java programs
Proceedings of the 4th international symposium on Memory management
Static determination of allocation rates to support real-time garbage collection
LCTES '05 Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
A type system to assure scope safety within safety-critical Java modules
JTRES '06 Proceedings of the 4th international workshop on Java technologies for real-time and embedded systems
Hi-index | 0.00 |
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™ (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.