Using Real-Time Java in Distributed Systems: Problems and Solutions

Many real-time systems are distributed, i.e. they use a network to interconnect different nodes. The current RTSJ (Real-time Specification for Java) specification is insufficient to address this challenge; it requires distributed facilities to control the network and maintain end-to-end real-time performance. To date, the real-time Java community has produced the DRTSJ (The Distributed Real-Time Specification for Java), though a wide variety of other distributed real-time Java efforts exist. The goal of this chapter is to analyze these efforts, looking for the problems they addressed and their solutions, and defining (when possible) their mutual relationships.

[1]  Raymond Klefstad,et al.  Empirical evaluation of OpenCCM for Java-based distributed, real-time, and embedded systems , 2005, SAC '05.

[2]  Marisol García-Valls,et al.  Simplifying the Dualized Threading Model of RTSJ , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[3]  Carlos Eduardo Pereira,et al.  An Infrastructure for Hardware-Software Co-Design of Embedded Real-Time Java Applications , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[4]  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).

[5]  S. Graham,et al.  Real-time TSpaces , 1999, IECON'99. Conference Proceedings. 25th Annual Conference of the IEEE Industrial Electronics Society (Cat. No.99CH37029).

[6]  Carlos Eduardo Pereira,et al.  A virtual platform for multiprocessor real-time embedded systems , 2008, JTRES '08.

[7]  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).

[8]  Richard Monson-Haefel,et al.  Enterprise JavaBeans , 1999, Java series.

[9]  Marko Boger Java in distributed systems - concurrency, distribution and persistence , 2001 .

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

[11]  Raymond Klefstad,et al.  Tool-based configuration of real-time CORBA middleware for embedded systems , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

[12]  Marisol García-Valls,et al.  A hybrid approach for selecting service‐based real‐time composition algorithms in heterogeneous environments , 2011, Concurr. Comput. Pract. Exp..

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

[14]  E. D. Jensen,et al.  Adaptive Fault-Resistant Systems , 1994 .

[15]  G. H. Hilderink,et al.  A distributed real-time Java system based on CSP , 1999, Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607).

[16]  Binoy Ravindran,et al.  On Best-Effort Real-Time Assurances for Recovering from Distributable Thread Failures in Distributed Real-Time Systems , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

[17]  Binoy Ravindran,et al.  On Distributed Real-Time Scheduling in Networked Embedded Systems in the Presence of Crash Failures , 2007, SEUS.

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

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

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

[21]  Marisol García-Valls,et al.  An Architecture to Support Dynamic Service Composition in Distributed Real-Time Systems , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

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

[23]  Henry G. Baker,et al.  List processing in real time on a serial computer , 1978, CACM.

[24]  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).

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

[26]  Hong Sun,et al.  A framework for adaptive real-time applications: the declarative real-time OSGi component model , 2008, ARM '08.

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

[28]  W. Keith Edwards Core Jini with Book , 1999 .

[29]  Chang Jun CORBA Component Model , 2003 .

[30]  Miguel A. de Miguel,et al.  Solutions to Make Java-RMI Time Predictable , 2001, ISORC.

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

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

[33]  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).

[34]  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.

[35]  A. Hangan,et al.  Real-time Java and multi-core architectures , 2008, 2008 4th International Conference on Intelligent Computer Communication and Processing.

[36]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

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

[38]  Jun Sun,et al.  Fixed-Priority End-To-End Scheduling in Distributed Real-Time Systems , 1997 .

[39]  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.

[40]  Pablo Basanta-Val,et al.  Adaptive real-time video transmission over DDS , 2010, 2010 8th IEEE International Conference on Industrial Informatics.

[41]  Binoy Ravindran,et al.  Utility Accrual Real-Time Scheduling under Variable Cost Functions , 2007, IEEE Trans. Computers.

[42]  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.

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

[44]  Douglas C. Schmidt,et al.  The Design and Performance of the jRate Real-Time Java Implementation , 2002, OTM.

[45]  Marisol García-Valls,et al.  Towards a middleware architecture for deterministic reconfiguration of service-based networked applications , 2010, 2010 IEEE 15th Conference on Emerging Technologies & Factory Automation (ETFA 2010).

[46]  Carlos Eduardo Pereira,et al.  A practical implementation of the fault-tolerant Daisy-chain clock synchronization algorithm on CAN , 2006, Proceedings of the Design Automation & Test in Europe Conference.

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

[48]  Andy J. Wellings,et al.  An Admission Control Protocol for Real-Time OSGi , 2010, 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[49]  Marisol García-Valls,et al.  AGCMemory: a new real-time Java region type for automatic floating garbage recycling , 2005, SIGBED.

[50]  Douglas C. Schmidt,et al.  An overview of the Real-Time CORBA specification , 2000, Computer.

[51]  Ales Plsek,et al.  A Component Framework for Java-Based Real-Time Embedded Systems , 2008, Middleware.

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

[53]  Joseph Sifakis,et al.  Tools for Verification and Validation , 2005 .

[54]  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).

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

[56]  M. Teresa Higuera-Toledano,et al.  Container Model Based on RTSJ Services , 2003, OTM Workshops.

[57]  Javier Andréu,et al.  An Ambient Assisted-Living Architecture Based on Wireless Sensor Networks , 2009 .

[58]  Binoy Ravindran,et al.  Assured-Timeliness Integrity Protocols for Distributable Real-Time Threads with in Dynamic Distributed Systems , 2007, EUC Workshops.

[59]  Andy J. Wellings Multiprocessors and the Real-Time Specification for Java , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

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

[61]  Marisol García-Valls,et al.  Extending the concurrency model of the real‐time specification for Java , 2011, Concurr. Comput. Pract. Exp..

[62]  Frédéric Parain,et al.  Mackinac: making HotSpot/spl trade/ real-time , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

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

[64]  Carlos Eduardo Pereira,et al.  Java framework for distributed real-time embedded systems , 2006, Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06).

[65]  Carlos Delgado Kloos,et al.  CoSeRT: A Framework for Composing Service-Based Real-Time Applications , 2005, Business Process Management Workshops.

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

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

[68]  Jie Hu,et al.  Compadres: A Lightweight Component Middleware Framework for Composing Distributed Real-Time Embedded Systems with Real-Time Java , 2007, Middleware.

[69]  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.

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

[71]  Carlos Eduardo Pereira,et al.  Hardware support in a middleware for distributed and real-time embedded applications , 2006, SBCCI '06.

[72]  Marisol García-Valls,et al.  Extended portal: violating the assignment rule and enforcing the single parent rule , 2006, JTRES '06.

[73]  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).

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

[75]  Hermann Kopetz TTA Supported Service Availability , 2005, ISAS.

[76]  E. Douglas Jensen A proposed initial approach to distributed real-time Java , 2000, Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607).

[77]  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).

[78]  Binoy Ravindran,et al.  Scheduling distributable real-time threads in the presence of crash failures and message losses , 2008, SAC '08.

[79]  Andy J. Wellings,et al.  Providing temporal isolation in the OSGi framework , 2009, JTRES '09.