Refactoring Real-Time Java Profiles

Hans Søndergaard, Bent Thomsen, Anders Peter Ravn, Rene Rydhof Hansen, Thomas Bøgholm

Publikation: Bidrag til bog/antologi/rapport/konference proceedingKonferenceartikel i proceedingForskningpeer review

3 Citationer (Scopus)


Just like other software, Java profiles benefits from refactoring when they have been used and have evolved for some time. This paper presents a refactoring of the Real-Time Specification for Java (RTSJ) and the Safety Critical Java (SCJ) profile (JSR-302). It highlights core concepts and makes it a suitable foundation for the proposed levels of SCJ. The ongoing work of specifying the SCJ profile builds on sub classing of RTSJ. This spurred our interest in a refactoring approach. It starts by extracting the common kernel of the specifications in a core package, which defines interfaces only. It is then possible to refactor SCJ with its three levels and RTSJ in such a way that each profile is in a separate package. This refactoring results in cleaner class hierarchies with no superfluous methods, well defined SCJ levels, elimination of SCJ annotations like @SCJAllowed, thus making the profiles easier to comprehend and use for application developers and students.
TitelObject/Component/Service-Oriented Real-Time Distributed Computing (ISORC), 2011 14th IEEE International Symposium on
Antal sider16
Publikationsdato28 mar. 2011
Sider109 - 116
StatusUdgivet - 28 mar. 2011


  • Refactoring
  • Safety Critical Java
  • Real-time Java
  • Real-time embedded systems


Søndergaard, H., Thomsen, B., Ravn, A. P., Hansen, R. R., & Bøgholm, T. (2011). Refactoring Real-Time Java Profiles. I Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC), 2011 14th IEEE International Symposium on (s. 109 - 116). IEEE.