The real-time specification for java (RTSJ) makes java to be a real-time programming language. However, the RTSJ's memory management system is more complicated than J2SE's. The assignment rules of RTSJ, which ...
详细信息
The real-time specification for java (RTSJ) makes java to be a real-time programming language. However, the RTSJ's memory management system is more complicated than J2SE's. The assignment rules of RTSJ, which prevent the creation of dangling references, must be checked by real-time java virtual machines (JVMs) at run-time. These frequent run-time object reference checks introduce significant time overheads and unpredictable execution time, which has great impact on real-time systems. This paper presents an equivalence class based, context sensitive and flow insensitive escape analysis algorithm that effectively eliminates unnecessary run-time reference checkpoints of RTSJ programs. The optimization framework has been implemented in an open-source real-time JVM namely jRate and evaluated by CDx, a relative authority real-time java benchmark suite. The results show that this optimization algorithm eliminates more than 90% static reference checkpoints, removes about 50% run-time reference checkpoints on average, and improves the run-time performance of average 3.13%, max 8.93%.
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...
详细信息
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. (C) 2013 Elsevier Inc. All rights reserved.
For critical, real-time applications, scoped memory management in real-time Specification for java (RTSJ) achieves a level of predictability not found in applications that use garbage collection techniques. However, a...
详细信息
For critical, real-time applications, scoped memory management in real-time Specification for java (RTSJ) achieves a level of predictability not found in applications that use garbage collection techniques. However, a scoped memory model creates new challenges for developers. First, the reference rules between scopes constrain the design of the application's memory model. Second, there is no abstract model for scoped memory that can be applied to different applications. Third, deciding on the appropriate number of scopes and which objects or threads should be allocated into those scopes are not straightforward tasks and require tools to assist. This paper presents a simulation of a railway control system executed on the Sun RTS2.2 virtual machine: it illustrates how simulation of critical safety real-time applications in java can be used to investigate the implementation of possible scoped memory design models and their memory consumption in multi-threaded environments. The simulation demonstrates that a developer is able to compare and choose the most appropriate scoped memory design model that achieves the least memory footprint. Results showed that the memory design model with a higher number of scopes achieved the least memory footprint. However, the number of scopes per se does not always indicate a satisfactory memory footprint: choosing the right objects/threads to be allocated into scopes is an important factor to be considered. (C) 2012 Elsevier B.V. All rights reserved.
We present the test case generation method and tool KeYTestGen in the context of real-time java applications and libraries. The generated tests feature strong coverage criteria, like the Modified Condition/Decision Cr...
详细信息
ISBN:
(纸本)9781450316880
We present the test case generation method and tool KeYTestGen in the context of real-time java applications and libraries. The generated tests feature strong coverage criteria, like the Modified Condition/Decision Criterion, by construction. This is achieved by basing the test generation on formal verification techniques, namely the KeY system for java source code verification. Moreover, we present formal specifications for the classes and methods in the real-time java API. These specifications are used for symbolic execution when generating tests for real-time java applications, and for oracle construction when generating tests for real-time java library implementations. The latter application exhibited a mismatch between a commercial library implementation and the official RTSJ documentation. Even if there is a rationale behind this particular inconsistency, it demonstrates the effectiveness of our method on production code.
More than 90 percent of all microprocessors are now used for real-time and embedded applications. The behavior of these applications is often constrained by the physical world. It is therefore important to devise high...
详细信息
More than 90 percent of all microprocessors are now used for real-time and embedded applications. The behavior of these applications is often constrained by the physical world. It is therefore important to devise higher-level languages and middleware that meet conventional functional requirements, as well as dependably and productively enforce real-time constraints. This paper provides two contributions to the study of languages and middleware for real-time and embedded applications. We first describe the architecture of jRate, which is an open-source ahead-of-time-compiled implementation of the RTSJ middleware. We then show performance results obtained using RTJPerf, which is an open-source benchmarking suite that systematically. compares the performance of RTSJ middleware implementations. This paper shows that, while research remains to be done to make RTSJ a bullet-proof technology, the initial results are promising. The performance and predictability of jRate provides a baseline for what can be achieved by using ahead-of-time compilation, Likewise, RTJPerf enables researchers and practitioners to evaluate the pros and cons of RTSJ middleware systematically as implementations mature.
This paper reports on our experience with the implementation of the real-time Specification for java on the Ovm open source java virtual machine. We describe the architecture and main design decisions involved in impl...
详细信息
This paper reports on our experience with the implementation of the real-time Specification for java on the Ovm open source java virtual machine. We describe the architecture and main design decisions involved in implementing real-time java on Ovm. We present the first use of real-time java in avionics in the context of control software for a ScanEagle Unmanned Aerial Vehicle.
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 f...
详细信息
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.
Today's trend in real-time systems reveals the necessity of new technologies to easy their development and maintenance. Among others, some interesting alternatives are found in high-level real-time programming lan...
详细信息
ISBN:
(纸本)9781424468508
Today's trend in real-time systems reveals the necessity of new technologies to easy their development and maintenance. Among others, some interesting alternatives are found in high-level real-time programming languages, better development models, or simple architectures and models. From the perspective of real-time java, a recent real-time programming language, this paper offers an architecture (and its corresponding java interfaces) to help the development of an upcoming distributed real-time technology for java (named DRTSJ). To that end it describes a neutral architecture based on java's Remote Method Invocation (RMI) and The real-time Specification for java (RTSJ). The empirical evidences included in the paper offer also interesting clues on the performance this technology may deliver.
Now, as a popular language for the development of sever and desktop applications, java is also playing a more and more important role in embedded development owning to its features like platform independence, high dev...
详细信息
ISBN:
(纸本)9783642181337
Now, as a popular language for the development of sever and desktop applications, java is also playing a more and more important role in embedded development owning to its features like platform independence, high development efficiency, etc. Accordingly, JPOR-32, a 32-bit java processor optimized for real-time specification for java, is designed. In this paper, taking JPOR-32 as an example, the instruction execution stage design for embedded real-time java processor is presented. The run time operand stack and method stack is implemented, which lays the foundations of execution of instruction set based on stack. For instruction execution stage, this paper presents on emphasis the control signal operation mechanism and the instruction execution stage data path.
Current approaches towards distributed real-time java are mainly based on the idea of having user-defined remote objects, allocated in servers that may be invoked from clients. This article extends this support includ...
详细信息
ISBN:
(纸本)9781479907526
Current approaches towards distributed real-time java are mainly based on the idea of having user-defined remote objects, allocated in servers that may be invoked from clients. This article extends this support included in real-time java with an extension called Remote Memory Areas (RMAs). RMAs offer a method that allows running user-defined code in a generic server that may be reused by several applications (i.e., it does not require defining one type of remote sever per application). The paper describes the abstraction, which is backward compatible with main approaches in distributed real-time java, and provides empirical evidence on its performance on a use-case application.
暂无评论