Real-Time Java
John Hunt, Alexander George McManus · Practitioner series · 1998
Cited by 18
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 4,252 papers for “Real time Java”
John Hunt, Alexander George McManus · Practitioner series · 1998
Cited by 18
Draft Kelvin, Kelvin Nilsen · 2007
this document describes Real-Time Java from the perspective of the application programmer. The programmer's view of Real-Time Java is characterized as the application programmer interface (API). Accompanying presentation of the API are brief discussions of how particular Real-Time Java features are implemented on both traditional and special Real-Time Java virtual machines. These three different views of each language feature are identified throughout this document as detailed below:
Cited by 0
Kelvin Nilsen · Real-Time Systems · 1996
Cited by 32
Peter Puschner, Technische Universität Wien, Guillem Bernat et al. · 2013
Due to its portability and security the Java programming language has become very popular. Standard Java is however not suited for programming hard real-time systems. To overcome this limitation we developed a hard real-time Java profile. This profile enhances standard Java with two important properties: temporal predictability and the portability of timing information. The paper introduces the profile and explains the steps of the portable worst-case timing analysis for the language. 1.
Cited by 0
C. Rinard, Catalin A. Francu, Catalin A. Francu · 2002
We implement a preemptive, non-idling EDF (earliest deadline first) real-time scheduling algorithm for the FLEX compiler. Real-time threads extend Java threads with timing constraints. The aim of the real-time thread model is to give programmers better control over the order of execution of threads than the priority-based model. The primary advantage is the ability to declare periodic threads with a highly predictable processor demand. The implementation meets the real-time specifications for Java as defined by The Real-Time for Java Expert Group [2]. We use FLEX, the Java bytecode to C compiler [10] as a framework for our implementation.
Cited by 0
Akihiko Miyoshi, Hideyuki Tokuda · 2002
The authors have developed a real-time Java server on the Real-Time Mach microkernel which is suitable for embedded systems and distributed real-time systems. By implementing it as a user-level server on Real-Time Mach, applications such as WWW browsers and embedded applications can both execute Java byte codes. They describe the real-time issues in Java and the architecture of the Java server. The real-time extension of the Java server and Java threads using kernel-level and user-level real-time threads was also evaluated.
Cited by 2
S. N. Zyl’ · Automation and Remote Control · 2011
Enhanced complexity of the designed real-time computer systems requires that the developers seek for efficient methods and tools to solve the posed problems. The most obvious and simple approach is to employ technologies that have demonstrated their applicability; such technologies should be adapted to the requirements of mission-critical systems. This paper is dedicated to specific features in real-time Java technology. They are considered simultaneously with characteristics of real-time computer systems.
Cited by 0
Bollella, Gregory, Bruno, Eric J · CERN Document Server (European Organization for Nuclear Research) · 2009
Cited by 0
Gary Lindstrom, Peter Mehlitz, Willem Visser · Lecture notes in computer science · 2005
Cited by 30
Niusha Hakimipour · Queensland's institutional digital repository (The University of Queensland) · 2011
Many real-time systems are safety- and security-critical systems and, as a result, tools and techniques for verifying them are extremely important. Simulating and testing such systems can be exceedingly time-consuming and these techniques provide only probabilistic measures of correctness. There are a number of model-checking tools for real-time systems. However, after they provide formal verification for models, we still need to have a systematic approach for deriving programs from those models. To increase the confidence in real-time programs written in real-time Java, this thesis proposes a model-based approach to the development of such programs. First, models can be mechanically verified, to check whether they satisfy particular properties, by using current real-time model-checking tools. Then, programs are derived from the model by following a systematic approach. Following this approach we can guarantee that all safety and bounded liveness (not liveness in general) properties that are satisfied in the model are also satisfied in the generated code if the target platform meets our conditions (for timing invariants in the model, we need to perform an independent check on the generated code to ensure that the timing invariants are satisfied for the target platform on which the code is executed). To facilitate better timing analysis at the code level, we provide architectural templates for the main abstractions found in real-time systems (periodic, sporadic, and aperiodic). Hence we can provide scheduling analysis techniques if these templates are used. Although memory management is a crucial issue for real-time systems, model checkers usually only provide simple data structures (to avoid state explosion). In our approach we do not deal with memory allocation. Memory allocation will be performed after the code has been generated. We introduce a Timed Automata to RTSJ Tool (TART), a prototype tool to automatically generate real-time Java code from models. We apply our approach on a number of case studies (Fischer protocol, a gear controller, a producer/consumer and an audio/video protocol) to illustrate our mapping, and to show its applicability as well as its limitations.
Cited by 0
Morgan Deters, Nicholas Leidenfrost, Ron K. Cytron · 2001
Abstract. The Real-Time Specification for Java [1] (RTSJ) introduces the concept of nested-scope memory areas to Java. This design allows a programmer to allocate objects in areas that are ignored by the garbage collector. Unfortunately, the specification of scoped memory areas currently involves the introduction of unwieldy, application-specific constructs that can ruin the reusability of the affected software. We propose the use of aspects [2], in particular the AspectJ [3] system, to transform a Java program into a scope-aware RTSJ program automatically. Moreover, we have developed analysis that automatically determines storage scopes, in response to information provided by an instrumented form of the application at hand. That instrumentation is also accomplished using aspects. Here we present our ongoing work in using aspects to detect and specify memory scopes automatically in Java programs. 1
Cited by 0
Dmitri Ilkaev · 2009
Real-time means "the ability to reliably and predictably respond to a real-world event". So "real-time " is more about timing than speed and the ability to program a real-time solution means that developers need the appropriate support from the system in order to
Cited by 0
École Inp, Temps Réel, École Inp et al. · 2003
Java is a language with a lot of merits, whose use for Real-Time systems could help in increasing their quality. In this tutorial we will examine its characteristics, its advantages & disadvantages for Real-Time programming, as well as, the RTSJ proposal for rendering Java more suitable for Real-Time programming.
Cited by 0
K/Bidy, Gilles · UA Campus Repository (The University of Arizona) · 2002
International Telemetering Conference Proceedings / October 21, 2002 / Town & Country Hotel and Conference Center, San Diego, California
Cited by 0
Jonathan Anderson, D. Jensen · 2006
The Distributed Real-Time Specification for Java (DRTSJ) is under development within Sun's Java Community Process (JCP) as Java Specification Request 50 (JSR-50), lead by the MITRE Corporation. We present the engineering considerations and design decisions settled by the Expert Group, the current and proposed form of the Reference Implementation, and a summary of open issues. In particular, we present an approach to integrating the distributable threads programming model with the Real-Time Specification for Java and discuss the ramifications for composing distributed, real-time systems in Java. The Expert Group plans to release an initial Early Draft Review (EDR) for previewing the distributable threads abstraction in the coming months, which we describe in detail. Along with that EDR, we will make available a demonstration application from Virginia Tech, and a DRTSJ-compatible RTSJ VM from Apogee.
Cited by 14
Alan Piszcz, Kent Vidrine · 2000
Abstract : Traditional real-time operating system vendors have recently started to consider Java as a potential platform in real-time operating system products and embedded solutions. Specification status and implementation towards an industry standard application-programming interface are split between two consortiums striving to introduce different paradigms of Java integration with real-time (RT) services. This paper provides a background and understanding of the direction of real-time Java in the commercial market place and includes status information about the specifications. In addition, a preliminary review of a few of the products with respect to timing jitter and priority issues are examined.
Cited by 1
Lionel Seinturier · 2015
The Real-Time Specification for Java (RTSJ) [10] is be-coming a popular choice in the world of real-time program-ming. However, the complexities introduced by RTSJ bring the needs for an extensive framework comprising all the as-pects of RTSJ development. As the first contribution of this paper, we present a real-time component model directly fit-ting the needs of RTSJ. Our motivation is to clearly sepa-rate real-time and business concerns of applications. We further argue that the RTSJ concerns need to be considered at early stages of architecture design in order to mitigate the complexities of the implementation phase. Therefore, as our second contribution, we propose a design process introduc-ing gradually RTSJ concepts into the architecture. We are thus able to alleviate the development of real-time systems and to tailor them for different real-time conditions. Finally, we demonstrate the feasibility of our solution on an example scenario. 1
Cited by 0
Christof Pitter, Martin Schoeberl · ACM Transactions on Embedded Computing Systems · 2010
Chip-multiprocessors are an emerging trend for embedded systems. In this article, we introduce a real-time Java multiprocessor called JopCMP. It is a symmetric shared-memory multiprocessor, and consists of up to eight Java Optimized Processor (JOP) cores, an arbitration control device, and a shared memory. All components are interconnected via a system on chip bus. The arbiter synchronizes the access of multiple CPUs to the shared main memory. In this article, three different arbitration policies are presented, evaluated, and compared with respect to their real-time and average-case performance: a fixed priority, a fair-based, and a time-sliced arbiter. Tasks running on different CPUs of a chip-multiprocessor (CMP) influence each others' execution times when accessing a shared memory. Therefore, the system needs an arbiter that is able to limit the worst-case execution time of a task running on a CPU, even though tasks executing simultaneously on other CPUs access the main memory. Our research shows that timing analysis is in fact possible for homogeneous multiprocessor systems with a shared memory. The timing analysis of tasks, executing on the CMP using time-sliced memory arbitration, leads to viable worst-case execution time bounds. The time-sliced arbiter divides the memory access time into equal time slots, one time slot for each CPU. This memory arbitration scheme allows for a calculation of upper bounds of Java application worst-case execution times, depending on the number of CPUs, the time slot size, and the memory access time. Examples of worst-case execution time calculation are presented, and the analyzed results of a real-world application task are compared to measured execution time results. Finally, we evaluate the tradeoffs when using a time-predictable solution compared to using average-case optimized chip-multiprocessors, applying three different benchmarks. These experiments are carried out by executing the programs on the CMP prototype.
Cited by 65
A.W. Nilsson · Lund University Publications (Lund University) · 2004
Our everyday appliances ranging from toys to vehicles, as well as the equipment used to manufacture them, contain an increasing number of embedded computers. Embedded software often implement functionality that is crucial for the operation of the device, resulting in a variety of timing requirements and resource utilization constraints to be fulfilled. Industrial competition and the ever increasing performance/cost ratio for embedded computers lead to an almost exponential growth of the software complexity, raising an increasing need for better programming languages and run-time platforms than is used today. Key concepts, such as portability, scalability, and real-time performance, have been defined, which need to be fulfilled for Java to be a viable programming language for hard real-time systems. In order to fulfill these key concepts, natively compiling Java using a revised memory management technique is proposed. We have implemented a compiler and run-time system for Java, using and evaluating new object-oriented compiler construction research tools, which enables a new way of implementing optimizations and other code transformations as a set of transforms on an abstract syntax tree. To our knowledge, this is the first implementation of natively compiled real-time Java, which handles hard real-time requirements. The new transparent garbage collector interface makes it possible to generate, or write, C code independently of garbage collector algorithm. There is also an implementation of the Java exception mechanism that can be used in conjunction with an incremental real-time garbage collector. Experiments show that we achieve good results on real-time performance, but that some work is needed to get general execution performance comparable to C++. Given our contributions and results, we do see compiled real-time Java, or a similar language such as C#, as industrially viable in a near future.
Cited by 18Open access
Gary Mueller Garnet, Janet Borzuchowski · 2002
Storage systems have storage devices which run real time embedded software. Most storage devices use C and occasionally C-- to manage and control the storage device. Software for the storage device must meet the time and resource constraints of the storage device. The prevailing wisdom in the embedded world is that objects and in particular Java only work for simple problems and can not handle REAL problems, are too slow and can not handle time critical processing and are too big and can't fit in memory constrained systems.
Cited by 0