skip to main content
research-article

No-Heap remote objects for distributed real-time Java

Published: 27 August 2010 Publication History

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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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).
[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.
[14]
Bollella, G. and Gosling, J. 2000. The real-time specification for Java. Computer 33, 6, 47--54.
[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.
[16]
Bruno, E. and Bollella, G. 2009. Real-Time Java#8482; Programming with Java RTS. Prentice-Hall, Englewood Cliffs, NJ.
[17]
Corsaro, A. 2004. Techniques and patterns for safe and efficient real-time middleware. PhD dissertation, UMI Order AAI3162124, Washington University.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[27]
JSR-282. 2009. JSR 282: RTSJ version 1.1. http://jcp.org/en/jsr/detail?id=282.
[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.
[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.
[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.
[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.
[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.
[33]
SUN. 2004. The RMI specification. http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmiTOC.html.
[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.
[35]
TIMESYS. 2008. JTIME virtual machine. http://www.timesys.com.
[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.

Cited By

View all
  • (2017)Java Technologies for Cyber-Physical SystemsIEEE Transactions on Industrial Informatics10.1109/TII.2016.263080113:2(680-687)Online publication date: Apr-2017
  • (2014)A Distributed Real-Time Java-Centric Architecture for Industrial SystemsIEEE Transactions on Industrial Informatics10.1109/TII.2013.224617210:1(27-34)Online publication date: Feb-2014
  • (2014)Comparative analysis of two different middleware approaches for reconfiguration of distributed real-time systemsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2013.08.01060:2(221-233)Online publication date: 1-Feb-2014
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 10, Issue 1
August 2010
369 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/1814539
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 27 August 2010
Accepted: 01 July 2009
Revised: 01 July 2009
Received: 01 October 2008
Published in TECS Volume 10, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. DRTSJ
  2. RTSJ
  3. Real-time Java
  4. distributed real-time Java
  5. real-time remote objects
  6. region-based memory management

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Java Technologies for Cyber-Physical SystemsIEEE Transactions on Industrial Informatics10.1109/TII.2016.263080113:2(680-687)Online publication date: Apr-2017
  • (2014)A Distributed Real-Time Java-Centric Architecture for Industrial SystemsIEEE Transactions on Industrial Informatics10.1109/TII.2013.224617210:1(27-34)Online publication date: Feb-2014
  • (2014)Comparative analysis of two different middleware approaches for reconfiguration of distributed real-time systemsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2013.08.01060:2(221-233)Online publication date: 1-Feb-2014
  • (2014)Resource management policies for real-time Java remote invocationsJournal of Parallel and Distributed Computing10.1016/j.jpdc.2013.08.00174:1(1930-1944)Online publication date: 1-Jan-2014
  • (2013)Extending distributed real-time java with Remote Memory Areas2013 11th IEEE International Conference on Industrial Informatics (INDIN)10.1109/INDIN.2013.6622855(42-47)Online publication date: Jul-2013
  • (2013)Enhancing OSGi with real-time Java supportSoftware—Practice & Experience10.1002/spe.210143:1(33-65)Online publication date: 1-Jan-2013
  • (2012)About 15 years of real-time JavaProceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems10.1145/2388936.2388943(34-43)Online publication date: 24-Oct-2012
  • (2012)Módulo Distribuido de Subasta Java sobre CORBA de Tiempo RealRevista Iberoamericana de Automática e Informática Industrial RIAI10.1016/j.riai.2012.09.0099:4(406-416)Online publication date: Oct-2012
  • (2012)Módulo Empresarial para la Validación Formal de Ejercicios aplicado a la Programación Concurrente en JavaRevista Iberoamericana de Automática e Informática Industrial RIAI10.1016/j.riai.2012.05.0139:3(290-299)Online publication date: Jul-2012
  • (2012)Composing and scheduling service‐oriented applications in time‐triggered distributed real‐time Java environmentsConcurrency and Computation: Practice and Experience10.1002/cpe.295826:1(152-193)Online publication date: 11-Dec-2012
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media