Resource management policies for real-time Java remote invocations

A way to deal with the increasing cost of next generation real-time applications is to extend middleware and high-level general-purpose programming languages, e.g. Java, with real-time support that reduces development, deployment, and maintenance costs. In the particular path towards a distributed real-time Java technology, some important steps have been given into centralized systems to produce real-time Java virtual machines. However, the integration with traditional remote invocation communication paradigms is far from producing an operative solution that may be used to develop final products. In this context, the paper studies how The Real-Time Specification for Java (RTSJ), the leading effort in real-time Java, may be integrated with Java's Remote Method Invocation (RMI) in order to support real-time remote invocations. The article details a specific approach towards the problem of producing a predictable mechanism for the remote invocation-the core communication mechanism of RMI-via having control on the policies used in the remote invocation. Results obtained in a software prototype help understand how the key entities defined to control the performance of the remote invocation influence in the end-to-end response time of a distributed real-time Java application. An integrated technique to manage remote invocations in Java's RMI.Empirical evidence on the performance given by the techniques.An identification of other alternatives that may benefit from the techniques.

[1]  Marisol García-Valls,et al.  A Synchronous Scheduling Service for Distributed Real-Time Java , 2010, IEEE Transactions on Parallel and Distributed Systems.

[2]  Marisol García-Valls,et al.  No-Heap remote objects for distributed real-time Java , 2010, TECS.

[3]  Marisol García-Valls,et al.  A Dual Programming Model for Distributed Real-Time Java , 2011, IEEE Transactions on Industrial Informatics.

[4]  E. Douglas Jensen,et al.  The distributed real-time specification for Java: an initial proposal , 2001, Comput. Syst. Sci. Eng..

[5]  Alan Burns,et al.  Real Time Scheduling Theory: A Historical Perspective , 2004, Real-Time Systems.

[6]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[7]  Michael González Harbour,et al.  Schedulability analysis for tasks with static and dynamic offsets , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[8]  Marisol Garcia Valls,et al.  iLAND: An Enhanced Middleware for Real-Time Reconfiguration of Service Oriented Distributed Real-Time Systems , 2013 .

[9]  Aniruddha S. Gokhale,et al.  Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers , 2001, Real-Time Systems.

[10]  Joseph Sifakis,et al.  Embedded Systems Design: The ARTIST Roadmap for Research and Development , 2005, Lecture Notes in Computer Science.

[11]  Alan Burns,et al.  Analysis of hard real-time communications , 1995, Real-Time Systems.

[12]  Douglas C. Schmidt,et al.  Middleware for real-time and embedded systems , 2002, CACM.

[13]  E. Douglas Jensen,et al.  Distributed real-time specification for Java: a status report (digest) , 2006, JTRES '06.

[14]  Binoy Ravindran,et al.  Recovering from Distributable Thread Failures with Assured Timeliness in Real-Time Distributed Systems , 2006, 2006 25th IEEE Symposium on Reliable Distributed Systems (SRDS'06).

[15]  P. Basanta-Val,et al.  Non‐functional information transmission patterns for distributed real‐time Java , 2011, Softw. Pract. Exp..

[16]  Daniel Port,et al.  A study of productivity and efficiency for object-oriented methods and languages , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[17]  Alejandro Alonso,et al.  Predictable Serialization in Java , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

[18]  M. Teresa Higuera-Toledano About 15 years of real-time Java , 2012, JTRES '12.

[19]  Marisol García-Valls,et al.  An architecture for distributed real-time Java based on RMI and RTSJ , 2010, 2010 IEEE 15th Conference on Emerging Technologies & Factory Automation (ETFA 2010).

[20]  Insup Lee,et al.  Cyber-physical systems: The next computing revolution , 2010, Design Automation Conference.

[21]  Marisol García-Valls,et al.  Towards the integration of scoped memory in distributed real-time Java , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

[22]  Manuel Díaz,et al.  ServiceDDS: A Framework for Real-Time P2P Systems Integration , 2010, 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[23]  Andy J. Wellings,et al.  A real-time RMI framework for the RTSJ , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[24]  P. Basanta-Val,et al.  Real-time distribution support for residential gateways based on OSGi , 2011, 2011 IEEE International Conference on Consumer Electronics (ICCE).

[25]  Kelvin Nilsen,et al.  Issues in the Design and Implementation of Real-Time Java , 1998 .

[26]  Marisol García-Valls,et al.  Towards a Cyber-Physical Architecture for Industrial Systems via Real-Time Java Technology , 2010, 2010 10th IEEE International Conference on Computer and Information Technology.

[27]  Douglas C. Schmidt,et al.  Enhancing Real-Time CORBA Predictability and Performance , 2003, CoopIS/DOA/ODBASE.

[28]  Tejera Carballa,et al.  Communication Middleware for Distributed Hard Real-Time Systems in Java , 2012 .

[29]  Raymond Klefstad,et al.  RTZen: Highly Predictable, Real-Time Java Middleware for Distributed and Embedded Systems, , 2005, Middleware.

[30]  Doug Locke,et al.  Introduction to special issue on Java technologies for real-time and embedded systems , 2010, TECS.

[31]  Kishori Sharan Java Remote Method Invocation , 2014 .

[32]  Jonathan Anderson,et al.  Using Real-Time Java in Distributed Systems: Problems and Solutions , 2012 .

[33]  V. T. Rajan,et al.  The Metronome: A Simpler Approach to Garbage Collection in Real-Time Systems , 2003, OTM Workshops.

[34]  Marisol García-Valls,et al.  Towards a Synchronous Scheduling Service on Top of a Unicast Distributed Real-Time Java , 2007, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[35]  Riccardo Bettati,et al.  Design Real-Time Java Remote Method Invocation: A Server-Centric Approach , 2005, IASTED PDCS.

[36]  Raymond Klefstad,et al.  Patterns and tools for achieving predictability and performance with real time Java , 2005, 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'05).

[37]  Stephen D. Burd Systems Architecture , 2005 .

[38]  Geoffrey Phipps Comparing observed bug and productivity rates for Java and C++ , 1999 .

[39]  Marisol García-Valls,et al.  A Distributed Real-Time Java-Centric Architecture for Industrial Systems , 2014, IEEE Transactions on Industrial Informatics.

[40]  M. García Valls,et al.  A real-time perspective of service composition: Key concepts and some contributions , 2013 .

[41]  P. Basanta-Val,et al.  Integrating Multiplexing Facilities in the Set of JRMP Subprotocols , 2009, IEEE Latin America Transactions.

[42]  Binoy Ravindran,et al.  Consensus-Driven Distributable Thread Scheduling in Networked Embedded Systems , 2007, EUC.

[43]  Kirk Reinholtz,et al.  Scoped memory , 2002, Proceedings Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISIRC 2002.

[44]  Marisol García-Valls,et al.  No Heap Remote Objects: Leaving Out Garbage Collection at the Server Side , 2004, OTM Workshops.

[45]  Marisol García-Valls,et al.  Towards Propagation of Non-functional Information in Distributed Real-Time Java , 2010, 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[46]  Johannes F. Broenink,et al.  Communicating Java Threads , 1997 .

[47]  Hideyuki Tokuda,et al.  Implementation and evaluation of real-time Java threads , 1997, Proceedings Real-Time Systems Symposium.

[48]  Cindy Zheng,et al.  PA-RISC to IA-64: Transparent Execution, No Recompilation , 2000, Computer.

[49]  Jun Sun,et al.  Bounding Completion Times of Jobs with Arbitrary Release Times, Variable Execution Times and Resource Sharing , 1997, IEEE Trans. Software Eng..

[50]  Andy J. Wellings,et al.  A. framework for integrating the real-time specification for Java and Java's remote method invocation , 2002, Proceedings Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISIRC 2002.

[51]  Douglas C. Schmidt,et al.  R&D challenges and solutions for highly complex distributed systems: a middleware perspective , 2011, Journal of Internet Services and Applications.

[52]  Edward A. Lee Cyber Physical Systems: Design Challenges , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[53]  Alejandro Alonso,et al.  Two alternative RMI models for real-time distributed applications , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

[54]  Marisol García-Valls,et al.  Simple Asynchronous Remote Invocations for Distributed Real-Time Java , 2009, IEEE Transactions on Industrial Informatics.

[55]  Jan Vitek,et al.  CDx: a family of real-time Java benchmarks , 2009, JTRES '09.

[56]  Gerardo Pardo-Castellote,et al.  OMG Data-Distribution Service: architectural overview , 2003, 23rd International Conference on Distributed Computing Systems Workshops, 2003. Proceedings..