On the Connection Between Functional Programming Languages and Real-Time Java Scoped Memory

Source: Association for Computing Machinery

Favorite

Free registration required

Applications which run on real-time basis require predictable memory-management performance, which includes the cost of storage allocation, de-allocation, and (for the relevant languages) the frequency and latency of garbage collection. While real-time applications could be written in languages that do not offer garbage-collection capabilities, applications often come as mixture of hard and soft real-time components. Developers have explored ways to use Java for real-time programming, including its garbage collection, to the extent that it does not preclude real-time performance. To broaden the use of Java as a real-time programming language, the Real-Time for Java Expert Group issued the RTSJ, which provides extensions to Java in support of real-time programming without changing the basic structure of the language. Instead, new class libraries are added to realize real-time features (such as periodic threads and timers) and some extensions were introduced to the Java Virtual Machine (JVM) to enforce the memory management properties of the RTSJ discussed below. There are many implementations of RTSJ including TimeSys, JRate, and an implementation from Sun Microsystems. As in real time and academic communities, many are experimenting with RTSJ's scoped-memory areas and NHRTs. An additional approach to providing asymptotic time-complexity analysis for RTSJ scoped-memory areas and NHRTs was to migrate extant functional programming language implementations of important data structures to RTSJ whereas migration was direct consequence of the proof that programs written in a pure functional programming language can be executed in a provably safe manner in RTSJ when scoped-memory areas and NHRTs are used.
Format:PDF Size:267.60
Date:Sep 2007