Scoped Types and Aspects for Real-Time Java

  • Chris Andreae
  • Yvonne Coady
  • Celina Gibbs
  • James Noble
  • Jan Vitek
  • Tian Zhao
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4067)


Real-time systems are notoriously difficult to design and implement, and, as many real-time problems are safety-critical, their solutions must be reliable as well as efficient and correct. While higher-level programming models (such as the Real-Time Specification for Java) permit real-time programmers to use language features that most programmers take for granted (objects, type checking, dynamic dispatch, and memory safety) the compromises required for real-time execution, especially concerning memory allocation, can create as many problems as they solve. This paper presents Scoped Types and Aspects for Real-Time Systems (STARS) a novel programming model for real-time systems. Scoped Types give programmers a clear model of their programs’ memory use, and, being statically checkable, prevent the run-time memory errors that bedevil models such as RTSJ. Our Aspects build on Scoped Types guarantees so that Real-Time concerns can be completely separated from applications’ base code. Adopting the integrated Scoped Types and Aspects approach can significantly improve both the quality and performance of a real-time Java systems, resulting in simpler systems that are reliable, efficient, and correct.


Memory Management Memory Area Gate Type Scope Type Scope Structure 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Andreae, C., Noble, J., Markstrum, S., Millstein, T.: A framework for implementing pluggable type systems (Submitted) (March 2006)Google Scholar
  2. 2.
    Baker, J., Cunei, A., Flack, C., Pizlo, F., Prochazka, M., Vitek, J., Armbuster, A., Pla, E., Holmes, D.: A real-time Java virtual machine for avionics. In: Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2006), IEEE Computer Society Press, Los Alamitos (2006)Google Scholar
  3. 3.
    Beebee Jr., W.S., Rinard, M.: An Implementation of Scoped Memory for Real-Time Java. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Bollella, G., Gosling, J., Brosgol, B., Dibble, P., Furr, S., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)Google Scholar
  5. 5.
    Boyapati, C., Salcianu, A., Beebee, W., Rinard, M.: Ownership types for safe region-based memory management in real-time Java. In: ACM Conference on Programming Language Design and Implementation (June 2003)Google Scholar
  6. 6.
    Bracha, G.: Pluggable type systems. In: OOPSLA 2004 Workshop on Revival of Dynamic Languages (2004)Google Scholar
  7. 7.
    Bracha, G., Griswold, D.: Strongtalk: Typechecking smalltalk in a production environment. In: In Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA) (September 1993)Google Scholar
  8. 8.
    Cartwright, R., Fagan, M.: Soft typing. In: Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation, pp. 278–292. ACM Press, New York (1991)CrossRefGoogle Scholar
  9. 9.
    Clarke, D., Richmond, M., Noble, J.: Saving the world from bad Beans: Deployment-time confinement checking. In: Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Appplications (OOPSLA), Anaheim, CA (November 2003)Google Scholar
  10. 10.
    Clarke, D.G., Potter, J.M., Noble, J.: Ownership types for flexible alias protection. In: OOPSLA 1998 Conference Proceedings. ACM SIGPLAN Notices, vol. 33(10), pp. 48–64. ACM Press, New York (1998)CrossRefGoogle Scholar
  11. 11.
    Grossman, D., Morrisett, G., Jim, T., Hicks, M., Wang, Y., Cheney, J.: Region-based memory management in Cyclone. In: Proceedings of Conference on Programming Languages Design and Implementation, June 2002, pp. 282–293 (2002)Google Scholar
  12. 12.
    HIJA. European High Integrity Java Project (2006),
  13. 13.
    Hogg, J.: Islands: Aliasing Protection in Object-Oriented Languages. In: Proceedings of the OOPSLA 1991 Conference on Object-Oriented Programming Systems, Languages and Applications (1991)Google Scholar
  14. 14.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–355. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Kwon, J., Wellings, A.: Memory Management Based on Method Invocation in RTSJ. In: Meersman, R., Tari, Z., Corsaro, A. (eds.) OTM-WS 2004. LNCS, vol. 3292, pp. 333–345. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
    Kwon, J., Wellings, A., King, S.: Ravenscar-Java: A high integrity profile for real-time Java. In: Joint ACM Java Grande/ISCOPE Conference (November 2002)Google Scholar
  17. 17.
    NASA/JPL and Sun. Golden gate (2003),
  18. 18.
    Noble, J., Potter, J., Vitek, J.: Flexible Alias Protection. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, Springer, Heidelberg (1998)CrossRefGoogle Scholar
  19. 19.
    Pizlo, F., Fox, J., Holmes, D., Vitek, J.: Real-time java scoped memory: design patterns and semantics. In: Proceedings of the IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (May 2004)Google Scholar
  20. 20.
    Sharp, D.: Real-time distributed object computing: Ready for mission-critical embedded system applications. In: Proceeding of the Third International Symposium on Distribtued-Objects and Applications (2001)Google Scholar
  21. 21.
    Zhao, T., Noble, J., Vitek, J.: Scoped Types for Realtime Java. In: International Real-Time Systems Symposium (RTSS 2004), Lisbon, Portugal, IEEE, Los Alamitos (2004)Google Scholar
  22. 22.
    Zhao, T., Palsberg, J., Vitek, J.: Type-based confinement. Journal of Functional Programming 16(1) (January 2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Chris Andreae
    • 3
  • Yvonne Coady
    • 1
  • Celina Gibbs
    • 1
  • James Noble
    • 3
  • Jan Vitek
    • 4
  • Tian Zhao
    • 2
  1. 1.University of Victoria
  2. 2.University of Wisconsin–MilwaukeeUSA
  3. 3.Victoria University of WellingtonNZ
  4. 4.Purdue UniversityUSA

Personalised recommendations