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.
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.
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.
IEEE Transactions on …, 2010
Current trends in real-time systems identify Java as a new alternative to develop both centralized and distributed real-time systems. Many efforts have been devoted to develop the Real-Time Specification for Java (RTSJ), and there is substantial ongoing activity to produce a straightforward and valuable Distributed Real Time Specification for Java (DRTSJ). The current paper provides a contribution to this latter activity defining, from different angles, a synchronous scheduling service aligned with principles of some popular real-time architectures. This service orchestrates the system in such a way that it provides end-toend guarantees in the distributed transactions, guaranteeing their timely execution across the network and nodes. The service is described from two points of view: the system one, characterizing a portable model; and the programmer one, defining a distributed object-oriented implementation of a model based on Real-Time Remote Method Invocation (RTRMI). Finally, it also presents results of an implementation carried out to judge the efficiency of the service, offering a preliminary predictability and performance assessment of a distributed real-time Java technology.
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.
Proceedings of the 5th ACM international conference on Embedded software - EMSOFT '05, 2005
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.
Work is beginning on the Distributed Real-Time Specification for Java, as part of Sun's Java Co mmunity Process. This paper summarizes some ideas about an initial approach to the specification. The approach is based on providing a natural and minimal mechanistic extension to Remote Method Invocation (RMI) to support the end-to -end timeliness (and other) properties of distributed -in the sense of trans-node -behaviors. These timeliness properties must be preserved for any distributed real-time computing system, regardless of its application programming model -whether RPC, mobile objects, or whatever. The proposed extension also facilitates real-time distributed programming with control flow programming models in particular. A similar facility has proven effective in several other distributed real-time operating system and middleware contexts, and is a primary feature of the unified proposal to OMG for D ynamic Real-Time CORBA.
Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems - JTRES '07, 2007
This paper addresses the need to reduce the difficulties in developing time-constrained Java applications. We present a design pattern for a class of time-constrained real-time applications that allows developers to use (and re-use) Java code libraries and non-developmental items (NDI). The proposed design pattern simplifies the implementation of the timeconstrained tasks substantially by not requiring the use of no-heap real-time threads. We tested the design pattern with the Java Real-Time System (RTS) 2.0 from the Sun Microsystems. This paper also presents a simple methodology for determining the appropriate values for the RTS run-time parameters (thread priorities, memory usage, process load, and task deadlines) in order to ensure the deterministic execution of the timeconstrained tasks.
2000
This paper describes experiences in using an O.O. language (Java) in designing, prototyping and evaluating a CPU manager. QoS Animator facilitates the execution of object oriented Java applications with time requirements and provides protection mechanisms to preserve system' s integrity against untrusted code. It is adapted to the system performance and provides a rate-monotonic based scheduling algorithm, WCET calculation at run-time and protection from high-CPU-consuming and "bad" code. The introduction of the Low Frequency Filter enhances the timeliness offered to applications in general-purposes Operating Systems (OS). The evaluation was done with a Windows NT specific prototype and proved successful.
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.
Computer Physics Communications, 1986
Real-time programming is a discipline of great importance not only in process control, but also in fields like communication, office automation, interactive databases, interactive graphics and operating systems development.
ACM Transactions on Embedded Computing Systems, 2010
2008 4th International Conference on Intelligent Computer Communication and Processing, 2008
This paper presents some of the issues related to the use of multi-core architectures for real-time systems, in particular for real-time Java. Currently, the Real-Time Specification for Java (RTSJ) does not account for aspects of parallel computing, but the widespread use of multi-core architectures advocates for the need of a change in this regard. Some of these aspects relate closely to architectural features that need to be properly exported to the application level. We discuss the impact of multi-core processors, both symmetric and asymmetric, on process/thread scheduling. We also analyze the changes needed for some of the important features of RTSJ, such as the priority inversion avoidance, in the new context of multi-core processing. Also, locking and fairness issues are discussed with respect to the use of multi-core processors for real-time Java.
Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607), 2000
Real-time embedded systems in general require a reliability that is orders of magnitude higher than what is presently obtainable with state of the art C programs. The reason for the poor reliability of present day software is the unavailability of a formalism to design sequential C programs. The use of the CSP channel concept not only provides a formal base for inherently concurrent real-time embedded system design it also adds a parallel dimension to object oriented programming that is easily understood by programmers. The CSP channels as implemented in Java replaces the hazardous use of multi threaded programming with an unambiguous design concept that is easy to reason about. Multi threaded programming is completely removed from the programmer who is merely required to program small sequential tasks that communicate with each other via these CSP channels. The channel concept that has been implemented in Java deals with singleand multi processor environments and also takes care of the real-time priority scheduling requirements. For this, the notion of priority and scheduling have been carefully examined and as a result it was reasoned that both priority and scheduling code should be attached to the communicating channels rather than to the processes. Moreover in the proposed system, the notion of scheduling is no longer connected to the operating system but has become part of the application instead. One has to get used to the idea that many schedulers may be running in different parts of a program. The software implementation of the Java channel class may be obtained through: http://www.rt.el.utwente.nl/javapp.
Object-Oriented Real-Time Distributed Computing, 2002
This paper presents a real-time Java hardware and soft- ware system for use in embedded applications. The system includes a multithreaded Java microcontroller, an adapted Java Virtual Machine (JVM) and an extended Application Programming Interface (API). The microcontroller core is designed with a multithreaded pipeline and hardware sup- port for real-time scheduling algorithms. The Java Virtual Machine consists of trap
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.
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.
11th IEEE Symposium on …, 2008
Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607), 2000
Real-time is a major characteristic of many systems, increasingly employed today in disparate sectors of our society. To specify and program systems, exhibiting realtime properties, a number of computing paradigms have been adopted, both explicitly defined to specify real-time behaviors and imported from other application areas with the addition of mechanisms to deal with real-time. The object-oriented paradigm, well affirmed since a few decades, belongs to the latter category. In the recent years, the OO languages have been (and are being) modified to be successfully used in an increasing variety of real-time applications.
2008
The problem of time measuring and managing in distributed systems is important both as an independent problem and for reasons like: the maintenance of the consistency of distributed data, the elimination of duplicated data and the verification of the authenticity of a request. After presenting the main problems that appear during distributed system design and programming, the paper continues with some issues concerning the domain of real-time programming. At the same time we emphasize the complex relations between real-time, concurrent and distributed programming. Then the requirements for the real-time programming are presented. Although the paper's subject is based on the analysis of several specialized languages, the presented exemplifications are from Java programming language with RTSJ (Real-Time Specification for Java) extension.
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.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.