Java finalizers perform clean-up and finalisation of objects at garbage collection time. In real-time Java profiles the use of finalizers is either discouraged (RTSJ, Ravenscar Java) or even disallowed (JSR-302), mainly because of the unpredictability of finalizers and in particular their impact on the schedulability analysis. In this paper we show that a controlled scoped memory model results in a structured and predictable execution of finalizers, more reminiscent of C++ destructors than Java finalizers. Furthermore, we incorporate finalizers into a (conservative) schedulability analysis for Predictable Java programs. Finally, we extend the SARTS tool for automated schedulability analysis of Java bytecode programs to handle finalizers in a fully automated way.
|Title of host publication||Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems : ACM International Conference Proceeding Series|
|Number of pages||7|
|Publisher||Association for Computing Machinery|
|Publication status||Published - 2010|
- model checking