skip to main content
research-article

No-Heap remote objects for distributed real-time Java

Published:27 August 2010Publication History
Skip Abstract Section

Abstract

This article presents an approach to providing real-time support for Java's Remote Method Invocation (RMI) and its integration with the RTSJ memory model in order to leave out garbage collection. A new construct for remote objects, called No-heap Remote object (NhRo), is introduced. The use of a NhRo guarantees that memory required to perform a remote invocation (at the server side) does not use heap memory. Thus, the aim is to avoid garbage collection in the remote invocation process, improving predictability and memory isolation of distributed Java-based real-time applications. The article presents the bare model and the main programming patterns that are associated with the NhRo model. Sun RMI implementation has been modified to integrate the NhRo model in both static and dynamic environments.

References

  1. Andreae, C., Coady, Y., Gibbs, C., Noble, J., Vitek, J., and Zhao, T. 2007. Scoped types and aspects for real-time Java memory management. Real-Time Syst. 37, 1, 1--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Al-Jaroodi, J. and Mohamed, N. 2005. Object-reuse for more predictable real-time Java behavior. In Proceedings of the 8th IEEE international Symposium on Object-Oriented Real-Time Distributed Computing (ISORC). IEEE, Los Alamitos, CA, 398--401. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Anderson, J. S. and Jensen, E. D. 2006. Distributed real-time specification for Java: A status report (digest). In Proceedings of the 4th international Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES'06). ACM, New York, 3--9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bacon, D. F., Cheng, P., and Rajan, V. T. 2003. Controlling fragmentation and space consumption in the metronome, a real-time garbage collector for Java. SIGPLAN Not. 38, 7, 81--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Basanta-Val, P., Estévez-Ayres, I., García-Valls, M., and Almeida, L. 2009a. A synchronous scheduling service on top of a unicast distributed real-time Java. IEEE Trans. Paral. Distrib. Syst.Google ScholarGoogle Scholar
  6. Basanta-Val, P., García-Valls, M., and Estévez-Ayres, I. 2009b. Simple asynchronous remote invocations for distributed real-time Java. IEEE Trans. Industrial Informatics, 265--272.Google ScholarGoogle Scholar
  7. Basanta-Val, P., Almeida, L., García-Valls, M., and Estévez-Ayres, I. 2008. Simplifying the dualized threading model of RTSJ. 2008. In Proceedings of the 11th IEEE Symposium on Object Oriented Real-Time Distributed Computing (ISORC). IEEE, Los Alamitos, CA, 265--272. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Basanta-Val, P., Almeida, L., García-Valls, M., and Estévez-Ayres, I. 2007. Towards a synchronous scheduling service on top of a unicast distributed real-time Java. In Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS). IEEE, Los Alamitos, CA, 123--132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Basanta-Val, P., García-Valls, M., Estévez-Ayres, I., and Delgado-Kloos, C. 2006. Extended portal: Violating the assignment rule and enforcing the single parent rule. In Proceedings of the 4th international Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES'06). ACM, New York, 30--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Basanta-Val, P., García-Valls, M., and Estévez-Ayres, I. 2005a. Towards the integration of scoped memory in distributed real-time Java. In Proceedings of the 8th IEEE international Symposium on Object-Oriented Real-Time Distributed Computing (ISORC). IEEE, Los Alamitos, CA, 382--389. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Basanta-Val, P., García-Valls, M., and Estévez-Ayres, I. 2005b. AGC memory: A new realtime Java region type for automatic floating garbage recycling. SIGBED Rev. 2, 3, 7--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Basanta-Val, P., García-Valls, M., and Estévez-Ayres, I. 2004. No heap remote objects: Leaving out garbage collection at the server side. In Proceedings of the 2nd International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES'04).Google ScholarGoogle Scholar
  13. Bollella, G., Canham, T., Carson, V., Champlin, V., Dvorak, D., Giovannoni, B., Indictor, M., Meyer, K., Murray, A., and Reinholtz, K. 2003. Programming with non-heap memory in the real time specification for Java. In Proceedings of the Companion of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'03). ACM, New York, 361--369. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Bollella, G. and Gosling, J. 2000. The real-time specification for Java. Computer 33, 6, 47--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Borg, A. and Wellings, A. 2003. A real-time RMI framework for the RTSJ, In Proceedings of the 15th Euromicro Conference on Real-Time Systems (ECRTS'03). 238-248.Google ScholarGoogle Scholar
  16. Bruno, E. and Bollella, G. 2009. Real-Time Java#8482; Programming with Java RTS. Prentice-Hall, Englewood Cliffs, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Corsaro, A. 2004. Techniques and patterns for safe and efficient real-time middleware. PhD dissertation, UMI Order AAI3162124, Washington University. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Estévez-Ayres, I., Almeida, L., García-Valls, M., and Basanta-Val, P. 2007. An architecture to support dynamic service composition in distributed real-time systems. In Proceedings of the 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC). IEEE, Los Alamitos, CA, 249--256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Estévez-Ayres, I., Almeida, L., García-Valls, M., and Basanta-Val, P. 2008. Solutions for supporting composition of service-based real-time applications. In Proceedings of the 11th IEEE Symposium on Object Oriented Real-Time Distributed Computing (ISORC). IEEE, Los Alamitos, CA, 42--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Estévez-Ayres, I., Basanta-Val, P., García-Valls, M., Arias-Fisteus, J., and Almeida, L. 2009. QoS-aware real-time composition algorithms for service-based applications. IEEE Trans. Indust. Informatics.Google ScholarGoogle ScholarCross RefCross Ref
  21. Fay-Wolfe, V., Dipippo, L. C., Copper, G., Johnston, R., Kortmann, P., and Thuraisingham, B. 2000. Real-time CORBA. IEEE Trans. Paral. Distrib. Syst. 11, 10, 1073--1089. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. García-Valls, M., Basanta-Val, P., and Estévez-Ayres, I. 2009a. Concurrency programming models in mobile real-time platforms. In Proceedings of the International Conference on Advanced Information Networking and Applications Workshops. 538--543. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. García-Valls, M., Alonso-Muñoz, and Alejandro, Puente Alfaro, J. A. 2009b. Dynamic adaptation mechanisms in multimedia embedded systems. In Proceedings of the IEEE International Conference on Industrial Informatics. IEEE, Los Alamitos, CA, 188--193.Google ScholarGoogle Scholar
  24. García-Valls, M., Alonso-Muñoz, and Alejandro, Puente Alfaro, J. A. 2009c. Mode change protocols for predictable contract-based resource management in embedded multimedia systems. In Proceedings of the IEEE International Conference on Embedded Software and Systems. IEEE, Los Alamitos, CA, 221--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Higuera-Toledano, M. T. 2006. Hardware support for detecting illegal references in a multi-application real-time Java environment. Trans. Embed. Comput. Syst. 5, 4, 753--772. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Hilderink, G. H., Bakkers, A. W., and Broenink, J. F. 2000. A distributed real-time Java system based on CSP. In Proceedings of the 3rd IEEE international Symposium on Object-Oriented Real-Time Distributed Computing (ISORC). IEEE, Los Alamitos, CA, 400--408. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. JSR-282. 2009. JSR 282: RTSJ version 1.1. http://jcp.org/en/jsr/detail?id=282.Google ScholarGoogle Scholar
  28. Pizlo, F., Fox, J., Holmes, D., and Vitek, J. 2004. Real-time Java scoped memory: design patterns and semantics. In Proceedings of the IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar
  29. Plšek, A., Loiret, F., Merle, P., and Seinturier, L. 2008. A component framework for Java-based real-time embedded systems. In Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware. V. Issarny and R. Schantz Eds., Springer Verlag, Berlin, 124--143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Raman, K., Zhang, Y., Panahi, M., Colmenares, J. A., and Klefstad, R. 2005. Patterns and tools for achieving predictability and performance with real-time Java. In Proceedings of the 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA). IEEE, Los Alamitos, CA, 247--253. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Siebert, F. 2008. Limits of parallel marking garbage collection. In Proceedings of the 7th International Symposium on Memory Management (ISMM'08). ACM, New York, 21--29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Silva, E. T., Jr., Freitas, E. P., Wagner, F. R., Carvalho, F. C., and Pereira, C. E. 2006. Java framework for distributed real-time embedded systems. In Proceedings of the 9th IEEE international Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC). IEEE, Los Alamitos, CA, 85--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. SUN. 2004. The RMI specification. http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmiTOC.html.Google ScholarGoogle Scholar
  34. Tejera, D., Alonso, A., and De Miguel, M. A. 2007. RMI-HRT: Remote method invocation—Hard real time. In Proceedings of the 5th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES'07). Vol. 319, ACM, New York, 113--120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. TIMESYS. 2008. JTIME virtual machine. http://www.timesys.com.Google ScholarGoogle Scholar
  36. Wollrath, A., Riggs, R., and Waldo, J. 1996. A distributed object model for the Java system. In Proceedings of the 2nd Conference on USENIX Conference on Object-Oriented Technologies (COOTS). Vol. 2, USENIX Association, Berkeley CA, 17--17. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. No-Heap remote objects for distributed real-time Java

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!