Extended portal: violating the assignment rule and enforcing the single parent rule

One of the main drawbacks of programming with the RTSJ (The Real-time Specification for Java) is probably its special model of references. The restrictions imposed by the assignment and single parent rules constrains the programming model in such a way that it is sometimes more difficult to use than the Java one. The community has faced this problem producing a special and new set of programming paradigms and patterns, designed to be used in collaboration with the region-based model; this enhances the range of application that may be constructed with it. However, the current version of RTSJ does not have general mechanisms that enable to perform safe violations of the assignment rule in an easy way.In this paper, we address this issue by introducing a new extension named extended portal. This extension (that has an interface that is very close to the current RTSJ portals) introduces mechanisms that allow a safe violation of the assignment rules, providing also an easy navigation mechanism for accessing the creation context of an object. Using this extension, the programmer can have access to a forbidden reference in two steps, reducing the complexity from Θ (n) of the current portals to Θ (1) of the extended ones. The work is mainly concentrated on the justification of the utility and feasibility of the extension. To clarify this idea, an example that illustrates the drawbacks of the current portals and the benefits of the extended ones is described. Also, a Java interface and a set of low level changes required at the implementation level are explained.

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

[2]  Daniel L. Dvorak,et al.  Programming with non-heap memory in the real time specification for Java , 2003, OOPSLA '03.

[3]  Andy J. Wellings,et al.  Reference Objects for RTSJ Memory Areas , 2003, OTM Workshops.

[4]  Peter C. Dibble Real-Time Java Platform Programming , 2002 .

[5]  Corrado Santoro,et al.  Design Patterns for RTSJ Application Development , 2004, OTM Workshops.

[6]  Sheng Liang,et al.  Java Native Interface: Programmer's Guide and Reference , 1999 .

[7]  Ron K. Cytron,et al.  Efficient memory-reference checks for real-time java , 2003 .

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

[9]  Albert F. Niessner,et al.  A Patterns Catalog for RTSJ Software Designs , 2003, OTM Workshops.

[10]  M. Teresa Higuera-Toledano Analyzing the memory management semantic and requirements of the real-time specification of Java JSR-0000001 , 2006, Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06).

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

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

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

[14]  Sheng Liang,et al.  Java Native Interface: Programmer's Guide and Specification , 1999 .

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

[16]  Jan Vitek,et al.  Real-time Java scoped memory: design patterns and semantics , 2004, Seventh IEEE International Symposium onObject-Oriented Real-Time Distributed Computing, 2004. Proceedings..