Open AccessBook
Real-time Java : platform programming
Peter Dibble
- 01 Jan 2002
118
TL;DR: This chapter discusses the architecture of the Java Virtual Machine, the Real-Time Java Platform, and the implementation of the RTSJ, which aims to provide an easy-to-understand guide to real-time Java programming.
read more
Abstract: Preface. Introduction. 1. Landscape. Java Technology and Real Time. Real-Time Programming Requirements. Java and Embedded Real Time. Definition of Real Time. Precision of Measurement. Consistency. Utility Function Curve. Java's Problem Domain. Real-Time Java's Problem Domain. Summary. 2. Architecture of the Java Virtual Machine. Write Once, Run Anywhere: Maybe. JVM Components. Class Loading. Bytecode Interpreter. Security Manager. Garbage Collector. Thread Management. Input/Output. Graphics. Interpreter Implementation. Standard Interpreter. Optimized Interpreter. JIT. Snippets. Compilation to Independent Process. Native Methods. Compilation to a Native Method. Compilation to the JIT Interface. 3. Hardware Architecture. Worst-Case Execution of One Instruction. Worst-Case Scenario. Practical Measures. Management of Troublesome Hardware. Managing Demand Paging. Managing DMA. Managing Cache. Managing Address Translation Cache. Managing Interrupts. Effects on the JVM. 4. Garbage Collection. Reference Counting. Basic Garbage Collection. Mark and Sweep. Defragmentation. Copying Collectors. Incremental Collection. Incremental Garbage Collection in Practice. Generational Garbage Collection. Intergenerational References. Large Object Store. Real-Time Issues. 5. Priority Scheduling. Scheduling Terms. Execution Sequences. Preemption. The Seductive Charm of Nonpreemptive Scheduling. Fixed versus Dynamic Priority. Priority Inversion. Why 32 Priorities? Problems with Priority Scheduling. 6. Scheduling with Deadlines. Underlying Mechanism. Scope of the Scheduler. Some Systems. Earliest Deadline First (EDF). Least Laxity. Periodic Scheduling. Aperiodic Servers. Handling Overload. Timing Is Usually Probabilistic. 7. Rate Monotonic Analysis. Theorems. Liu and Layland's Theorem. A Graphical Approach. Lehoczky, Sha, and Ding's Theorem. Restrictions. Independent Tasks. Deadlines Equal to Periods. Multiprocessor Systems. 8. Introduction to the Real-Time Java Platform. A Brief History of Real-Time Java. Major Features of the Specification. Threads and Scheduling. Garbage Collection. Asynchronous Event Handlers. Asynchronous Transfer of Control. Memory Allocation. Memory Access. Implementation. RTSJ Hello World. 9. Closures. The Language Construct. Java Closures. Closure Structure. Closures in the RTSJ. Limitations of Closures. Readability. Local Variables. Constructors. Nesting. 10. High-Resolution Time. Resolution. The "clock". HighResolutionTime Base Class. Absolute Time. Relative Time. Rational Time. 11. Async Events. Binding a Happening to an Event. Basic Async Event Operation. Async Events without Happenings. Time Triggering. Fault Triggering. Software Event Triggering. Implementation Discussion. 12. Real-Time Threads. Creation. Scheduling. Inversion Handling. Fixed Priority. Feasibility. Periodic Threads without Handlers. Feasibility Analysis. Periodic Threads with Handlers. Interactions with Normal Threads. Changing the Scheduler. 13. Non-Heap Memory. The Advantage of Non-Heap Memory. The Allocation Regimes. Rules. Mechanisms for Allocating Immortal Memory. Mechanisms for Allocating from Scoped Memory. Allocation Time. Creating Scoped Memory. Allocation Mechanisms. Finalizers. Using Nested Scoped Memory. The Scope Stack (Tree). The DAG. Practical Use of Nested Scopes. Every Nested Scope Involves Two Memory Areas. Pitfalls. Using executeInArea. Using Standard Classes. Using Shared Scoped Memory. The Scope Stack Revisited. Scope Portals. Fine Print. Quick Examples. 14. Non-Heap Access. Interaction with Scheduler. Rules. Samples. Final Remarks. Notes. 15. More Async Events. Async Events and the Scheduler. The createReleaseParameters Method. Bound Async Event Handlers. Async Event Handlers and Non-Heap Memory. No-Heap Event Handlers vs. No-Heap Threads. Scheduling. Minimum Interarrival Time. Async Event Handlers and Threads. Special Async Events. 16. Reusing Immortal Memory. Using Fixed-Object Allocators. Carrier Objects. Limitations. Recycling RT Threads. Recycling Async Event Handlers. 17. Asynchronous Transfer of Control. Thread Interrupt in Context. Asynchronous Interrupt Firing. The Timed Class. The interrupt Method. The fire Method. In Summary. Replacement Rules. Rules for Async Exception Propagation. Oblivious catch. Nonmatching doInterruptible. Matching doInterruptible. Internals. Application Handling for Asynchronous Interrupts. Noninterruptible Code. Special Issues for Synchronized blocks. Legacy Code. Use of ATC for Thread Termination. 18. Physical Memory. Physical and Virtual Memory. Physical Memory Manager. Memory Type. Removable Memory. Immortal Physical Memory. Scoped Physical Memory. 19. Raw Memory Access. Security. Peek and Poke. Get/Set Methods. Mapping. The RawMemoryFloatAccess Class. 20. Synchronization without Locking. Principles of Wait-Free Queues. Constructors. Common Methods. The Wait-Free Write Queue. Methods. Sharing the Wait-Free Queue. The Wait-Free Read Queue. The Extra Constructor. Methods. The Wait-Free Double-Ended Queue. Methods. No-Wait Queues and Memory. Implementation Notes. 21. Recommended Practice. Powerful and Easy-to-Use Features of the RTSJ. Real-Time Threads. Periodic Threads. Asynchronous Event Handlers. High-Resolution Time. Happenings. Very Powerful and Dangerous Features of the RTSJ. Simple. Leaky. Viral. Very Powerful and Finicky Features of the RTSJ. Scoped Memory. No-Heap Asynchronous Event Handlers. No-Heap Real-Time Threads. Asynchronously Interrupted Exceptions. Selection of Priorities. Index.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
On the Move to Meaningful Internet Systems 2004: OTM 2004 Workshops
Robert Meersman,Zahir Tari,Angelo Corsaro +2 more
- 01 Jan 2004
TL;DR: In this paper, the Spanish Ministry of Education and the Regional Government of Murcia have supported the work of the authors of this paper, with reference PB/8/FS/02.
Real-time Java in control and automation: a model driven development approach
Kleanthis Thramboulidis,A. Zoupas +1 more
- 19 Sep 2005
TL;DR: The proposed approach favours deployment and re-deployment of distributed control applications and exploits the real-time specification for Java to meet their stringent nonfunctional requirements.
57
An evaluation of aspect-oriented programming for Java-based real-time systems development
Shiu Lun Tsang,Siobhán Clarke,Elisa Baniassad +2 more
- 14 May 2004
TL;DR: This paper presents research comparing the system properties of two systems: a real-time sentient traffic simulator and its aspect-oriented equivalent, and an evaluation of AOP is presented indicating both benefits and drawbacks.
A patterns catalog for RTSJ software designs
TL;DR: This survey provides descriptions of design patterns for use with the Real-Time Specification for Java, and discusses a pattern which integrates scoped memory usage with periodic real-time threads.
40
References
•Proceedings Article
Referential integrity
C. J. Date
- 09 Sep 1981
TL;DR: In this paper, a proposal for dealing with the problem of referential integrity in a relational framework is described in some detail, consistent with a more general integrity scheme also sketched briefly in the paper.
158
Real-Time Operating Systems
TL;DR: It is argued that the small, proprietary kernels are predictable, but offer little help to the real-time systems designer and implementor in producing predictable applications.
150
Performance of real-time bus scheduling algorithms
John P. Lehoczky,Lui Sha +1 more
- 01 May 1986
TL;DR: This paper addresses several problems of hard real-time bus scheduling, including the evaluation of scheduling algorithms and the issues of message packet pacing, preemption, priority granularity and buffering.
130
Hurry up and wait: Observations and tips about the practice of chat reference
TL;DR: Practical suggestions for doing chat reference, including setting up, using language, interviewing techniques, and composing responses to in-person, phone, and email reference techniques are offered.
30
•Journal Article
Real-Time Computing with IEEE Futurebus+
21