Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2005, Proceedings of the 5th ACM international conference on Embedded software - EMSOFT '05
Real-time systems have reached a level of complexity beyond the scaling capability of the low-level or restricted languages traditionally used for real-time programming.
11th IEEE Symposium on …, 2008
Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607)
Java is a programming language with features not found in traditional languages such as platform independence and dynamic loading. Because of this, Java is extending and beginning to be used in many new environments. In particular, the advantages that Java provides make it a good candidate for distributed, real-time and embedded systems. However, Java presents some problems regarding its use in embedded and real-time environments. In this paper, we examine the state-of-the-art in the development of embedded realtime systems using Java. We analyze the limits that the Java language and its execution environment present to develop real-time and embedded systems, and we present current research in this area aimed at solving these limits.
ACM Transactions on Embedded Computing Systems, 2010
1998
This dissertation proposes a new garbage-collected memory module architecture for hard real-time systems. The memory module is designed for compatibility with standard workstation architectures, and cooperates with standard cache consistency protocols. Processes read and write garbage-collected memory in the same manner as standard memory, with identical performance under most conditions. Occasional contention between user processes and the garbage collector results in delays to the user process of at most six memory cycles. Thus the proposed architecture guarantees real-time performance at fine granularity. This dissertation investigates the viability of the proposed architecture in two senses. First, it demonstrates that a fundamental component of the architecture, the object space manager, can be produced at a reasonable cost. Second, this dissertation reports the results of experiments that measure the performance of the proposed architecture under real workloads. Results of these experiments show that the architecture currently performs more slowly than traditional schemes; but this appears to be correctable by employing a more efficient function call mechanism that caches heap-allocated activation frames. Finally, this dissertation reports on some simple extensions to the C++ programming language to support slice objects. Slice objects, which are supported by the garbage collection architecture, are useful for implementing fragmentable arrays, i.e., arrays in which subarrays may be retained while unused elements become garbage and are collected. Experimental evidence demonstrates that slice objects can be used to implement strings more efficiently than at least some popular ii TABLE OF CONTENTS 1.
2008
One of the problems facing the use of Java for real-time environments with limited memory such as embedded systems is the unpredictability of running garbage collection. This introduces unexpected load on the system and causes undesirable delay for the real-time applications. In this ...
Computer, 2000
The real-time object model is a methodology for describing real-time systems. RTC++ is a programming language that extends C++ based on this model. 66 he demand for real-time systems increases with the demand for timecritical applications such as multimedia, robotics, factory automation, telecommunication, and air traffic control. Traditional programming languages do not support real-time systems development. They have neither the analytical techniques for modeling systems accurately nor the explicit specifications for timing constraints.
2005
One of the problems with Java for real-time and embedded real-time systems is the unpredictable behavior of garbage collection (GC). GC introduces unexpected load and causes undesirable delays for real-time applications. In this paper, we propose a technique that reduces and ...
2002
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.
Object-Oriented Real-Time Distributed Computing, 2003
The run-time characteristics of Java, such as high frequency of method invocation, dynamic dispatching and dynamic load- ing, make Java more difficult than other object-oriented pro- gramming languages, such as C++, for conducting Worst-Case Execution Time (WCET) analysis. To offer a more flexible way to develop object-oriented real-time applications in the real- time Java environment without loss of predicability and
2005
The embedded real-time development community is investigating different approaches in order to provide modularity and reuse features for system design in this area, as well as a more appropriate mapping technique between requirements and implementation. The Java technology is very promising for this community, mainly after the research efforts on its real-time extension RTSJ-real-time specification for Java. However, there are still some critic factors related to the adoption of Java for real-time applications, and some of them deserve special attention. This paper reports a study of some of these decisive factors, such as the choice of the underlying operating system, the use of a middleware (virtual machine) or a native code, and the use of the Java real-time API (RTSJ)
Second Workshop on …, 2005
The region-based memory model of The Real-time Specification for Java (RTSJ) is quite rigid, and it complicates the development of reusable predictable software for large-scale systems. In this paper, we propose an extension to the region model of the RTSJ called AGCMemory (Acyclic Garbage Collected Memory). This extension enables the destruction of floating garbage created during the execution of Java methods. The integration in the memory model of the RTSJ and the new required runtime barriers are addressed.
2000
Real-time programming is simply a necessity in many fields of application and specific real-time operating systems exist in order to fulfill the necessity of users to have time determinism in their applications. Anyway, often time constraints are not so hard and it is possible to identify hard and soft real-time applications, but time determinism keeps on being the mandatory requirement. The aim of this paper is that of describing the results of an activity devoted to investigate the possibility of real-time programming in a Java environment. A package has been developed in order to give a Java platform real-time capabilities of scheduling threads with time-based policies or by priority and events. A set of methods for threads to communicate through queues, messages, and mailboxes has been developed too.
Lecture Notes in Computer Science, 2006
Real-time systems are notoriously difficult to design and implement, and, as many real-time problems are safety-critical, their solutions must be reliable as well as efficient and correct. While higher-level programming models (such as the Real-Time Specification for Java) permit real-time programmers to use language features that most programmers take for granted (objects, type checking, dynamic dispatch, and memory safety) the compromises required for real-time execution, especially concerning memory allocation, can create as many problems as they solve. This paper presents Scoped Types and Aspects for Real-Time Systems (STARS) a novel programming model for real-time systems. Scoped Types give programmers a clear model of their programs' memory use, and, being statically checkable, prevent the run-time memory errors that bedevil models such as RTSJ. Our Aspects build on Scoped Types guarantees so that Real-Time concerns can be completely separated from applications' base code. Adopting the integrated Scoped Types and Aspects approach can significantly improve both the quality and performance of a real-time Java systems, resulting in simpler systems that are reliable, efficient, and correct.
2007
In the authors' first report on the Sun Java Real-Time System (RTS), they concluded that it is preferable to use real-time Java threads that use heap memory rather than no-heap real-time threads (NHRTTs) for the Global Integrated Fire Control System (GIFC) due to the difficulty of ...
Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05), 2000
One of the problems with Java for real-time systems is the unpredictable behavior of garbage collection (GC). GC introduces unexpected load and causes undesirable delays for real-time applications. In this paper, we propose a technique that reduces and bounds the memory requirements for real-time Java programs. This technique can eliminate or reduce the need for GC and allows for a more predictable execution behavior and efficient utilization of the available memory. A theoretical model is presented and a number of benchmark tests are used to evaluate this technique in PERC, NewMonics' realtime JVM, and Sun's JVM. The results show that in some cases GC can be eliminated and an application's execution time decreases and becomes more predictable.
2006
The object-oriented paradigm has become popular over the last years due to its characteristics that help managing the complexity in computer systems design. This feature also attracted the embedded systems community, as today's embedded systems need to cope with several complex functionalities as well as timing, power, and area restrictions. Such scenario has promoted the use of the Java language and its real-time extension (RTSJ) for embedded real-time systems design. Nevertheless, the RTSJ was not primarily designed to be used within the embedded domain. This paper presents an approach to optimize the use of the RTSJ for the development of embedded real-time systems. Firstly, it describes how to design real-time embedded applications using an API based on RTSJ. Secondly, it shows how the generated code is optimized to cope with the tight resources available, without interfering in the mandatory timing predictability of the generated system. Finally it discusses an approach to synthesize the applications on top of affordable FPGAs. The approach used to synthesize the embedded real-time system ensures a bounded timing behavior of the object-oriented aspects of the application, like the polymorphism mechanism and read/write access to object's data fields.
Real-Time Systems, 2007
Real-time systems are notoriously difficult to design and implement, and, as many real-time problems are safety-critical, their solutions must be reliable as well as efficient and correct. While higher-level programming models (such as the Real-Time Specification for Java) permit real-time programmers to use language features that most programmers take for granted (objects, type checking, dynamic dispatch, and memory safety) the compromises required for real-time execution, especially concerning memory allocation, can create as many problems as they solve. This paper presents Scoped Types and Aspects for Real-Time Systems (STARS) a novel programming model for real-time systems. Scoped Types give programmers a clear model of their programs' memory use, and, being statically checkable, prevent the run-time memory errors that bedevil the RTSJ. Adopting the integrated Scoped Types and Aspects approach can significantly improve both the quality and performance of a real-time Java systems, resulting in simpler systems that are reliable, efficient, and correct.
Lecture Notes in Computer Science, 2008
The Real-Time Specification for Java (RTSJ) is becoming a popular choice in the world of real-time and embedded programming. However, RTSJ introduces many non-intuitive rules and restrictions which prevent its wide adoption. Moreover, current state-of-theart frameworks usually fail to alleviate the development process into higher layers of the software development life-cycle. In this paper we extend our philosophy that RTSJ concepts need to be considered at early stages of software development, postulated in our prior work [2], in a framework that provides continuum between the design and implementation process. A component model designed specially for RTSJ serves here as a cornerstone. As the first contribution of this work, we propose a development process where RTSJ concepts are manipulated independently of functional aspects. Second, we mitigate complexities of RTSJ-development by automatically generating execution infrastructure where real-time concerns are transparently managed. We thus allow developers to create systems for variously constrained real-time and embedded environments. Performed benchmarks show that the overhead of the framework is minimal in comparison to manually written object-oriented applications, while providing more extensive functionality. Finally, the framework is designed with the stress on dynamic adaptability of target systems, a property we envisage as a fundamental in an upcoming era of massively developed real-time systems.
A Practitioner's Handbook for Real-Time Analysis, by Mark H. KLEIN et al.; Kluwer Academic Publishers; Boston, MA, USA; 1993; xiii + 694 pp.; $95; ISBN: 0-7923-9361-9 iRAT -The introspect Real-Time Analysis Tool,
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.