
Dynamic memory management in real-time systems is difficult because most traditional allocation and deallocation algorithms are unpredictable in terms of their worst-case memory utilization and execution times. This paper describes recent work on a new memory management system designed specifically to support hard-real-time allocation, automatic garbage collection, and defragmentation of the free pool. The memory management system consists of special hardware circuits placed between the CPU's level-two caches and its memory subsystem. Benefits include worst-case allocation delays of two microseconds and typical memory utilizations that exceed binary-buddy allocators by over 30%. A commercial implementation of this technology is currently under development.
This paper presents a metrics-driven process and software toolset for the engineering of concurrent, object-oriented, real-time systems. In the engineering of real-time systems, the objective need not be to exploit all potential concurrency, but to exploit only as much concurrency as is needed to enable satisfaction of timing constraints. Thus, the systems engineering process presented in the paper utilizes inter-object concurrency selectively, as a means to meet timelines. To support the selective use of concurrency, this paper describes techniques for computing inter-object concurrency metrics. It is also shown how the concurrency metrics are used to guide the mapping of objects onto processors.
In this paper, we discuss real-time barrier synchronization as an example of timing constraints on synchronization. Real-time barrier synchronization is constrained by two timing values: earliest release time and release time skew. Earliest release time is the delay from the time when the last object participating in barrier synchronization issues a barrier operation, till when one of the participating objects resumes its method. Release time skew is the delay between the first and the last resumption times of objects. The implementation of real-time barrier synchronization consists of a negotiation phase and a scheduling phase. In the negotiation phase, all the participating objects communicate with one another and agree on the time when they are going to resume their method execution. Local scheduling at individual nodes must then ensure that the agreement is implemented. Thus, earliest release time and release time skew are defined by the procedures of the negotiation and the scheduling phase, respectively. We describe an architecture which enables the implementation of real-time barrier synchronization in a distributed system with unreliable channels.
Real Time Talk is a framework and an object-oriented language for distributed hard real-time systems. This paper presents past, present, and future work in the Real Time Talk project. It concentrates on the language and programming part of Real Time Talk, and the problems a dynamically typed language impose on a real-time system.We look at how some of these problems can be solved by type inference and how type information can assist the compiler in accepting larger classes of real-time programs, generate more efficient and deterministic code, provide better estimation of execution times, and avoid run-time type errors. With type inference, one can have the best of two worlds --- efficiency and type safety, without the need for manual type declarations. An example is used to illustrate these ideas.
In wide area distributed environments such as Internet, communication cost may be increased because of hiding latency. So, we propose Computational Field Model which utilizes latency explicitly and aggressively. In this paper, we describe an emergent approach to object allocation in Computational Field Model.
Real-time embedded applications such as signal-processing, surveillance and tracking, data fusion, and automated target recognition need parallel processors to meet their performance requirements. Unfortunately the task of developing the application-software, which must not only make efficient use of the available parallelism but must also integrate the many algorithms that comprise it, is extremely difficult. Current software design methods, including object oriented design methods, do not help in this regard as they are geared primarily for the design of sequential software.This paper presents an overview of the Parallel Scalable Design Toolset (PSDT) being developed at Honeywell to support the design and development of real-time embedded parallel software. Software designers can use PSDT to graphically specify parallelism across collections of objects and within objects, and synchronization of data and control flows. They can also compose parallel subtasks into tasks that may in turn be a part of other tasks.PSDT can support different domain-specific parallelization paradigms. Each paradigm defines composition rules and constraints on inter- and intra-object parallelism. Since domain-specific paradigms add additional structure to the program, tools for parallelism analysis, partitioning, mapping, and code generation are able to produce near-optimum results.A prototype of the PSDT toolset is operational including a domain-specific paradigm for deterministic data-parallel periodic applications. Support for other domains and heterogenous processing architectures is being added.
Object-oriented languages are now recognized as powerful tools for building large and complex applications. In particular, two central aspects of the object paradigm are encapsulation and inheritance; these provide a sound basis for creating software that is easy to maintain and reuse.
In real-time systems design-assumptions can be divided into functional and temporal assumptions. While checks for functional correctness are already addressed by some modern programming languages (e.g. Eiffel's pre- and postconditions), checks for temporal correctness are usually out of the scope of the existing programming or runtime systems. Our work in the DIRECT [GKS94] project tries to fill this gap. A methodology for specifying and checking timing constraints in an object-oriented environment is presented. The approach extends previous work on RTL[JM86] (Real-Time Logic) based monitors towards an object-oriented responsive system. The paper focuses on how object-orientation can be utilized to simplify the specification and the checking of timing constraints and how this can be integrated into an existing programming language like C++.
The specification of a real-time system is often the result of a process, whereby a conceptual control system is fleshed out as a computer program. To be accurate, this process must preserve important causal and structural properties of the control system. For example, if the control system has multiple functional components operating concurrently, then the process of mapping these components into a computer program executing on a single processor, must ensure that these components do not interact in ways that are physically impossible. In this paper we review our work on CLEOPATRA, an object oriented specification and programming language that restricts expressiveness in a way that allows the specification of only reactive, spontaneous, and causal computation. Unrealistic systems---possessing properties such as infinite capacities or perfect timing---cannot even be specified. We argue that this "ounce of prevention" at the specification level is likely to spare a lot of time and energy in the development cycle---not to mention the elimination of potential hazards that would have gone unnoticed.
This paper gives a taxonomy for the evaluation of object-oriented design methods and implementation languages for the construction of distributed real-time systems. This taxonomy is aimed at answering the following main questions: (1) how well do current approaches support the design of non-functional system features like concurrency and the specification of allocation, timing and fault tolerance constraints and (2) how can we discern essential properties of such methods and languages in order to point out the strengths and weaknesses of contemporary approaches.
Any object-based real-time system gives rise to real-time scheduling issues not easily solved by use of standard scheduling methods, including: (1) the invocation of an object's method may imply the need for online schedulability analysis for the thread(s) able to execute method code, (2) parallelism internal to objects may result in the need to schedule multiple threads and target processors simultaneously, and (3) methods that invoke other methods as part of their execution give rise to hierarchically composed groups of to-be-scheduled real-time threads. The Rapid scheduler presented in this paper addresses such dynamic object-based real-time systems for target machines comprised of both multi- and uniprocessor machines. To address the variety of needs of object-based real-time systems, Rapid is 1) configurable to the target multiprocessor architecture, 2) dynamically re-configurable to changes in application requirements, 3) efficient in terms of processor utilization, and 4) effective in producing high quality schedules. Rapid's current implementation addresses hard deadline application, with future work concerning alternative formulations of timing constraints.
There are many benefits claimed for the use of object-oriented software development methods, and in particular object-oriented analysis methods for software development. The benefits which are cited typically include.a. An understandable and maintainable system structure.b. Clean partitioning which allows the system to evolve as technology changes.c. Enhanced potential for reuse of components.
The workshop was held in San Antonio Texas in conjunction with the "7th IEEE Symposium on Parallel and Distributed Processing" (SPDP) on October 27th, 1995. It was organized in cooperation with the Software Engineering Laboratory at NJIT with support from the U.S. Naval Surface Warfare Center and the faculty of Mathematics and Computing Science of the Eindhoven University of Technology.
Object-orientation is an effective means to improve the software engineering process. It provides a natural approach to system modeling, and yields benefits in all lifecycle phases. While much progress has been made in general-purpose object-oriented methods, considerably less progress has been made in the domain of object-oriented real-time computing. In addition to the typical requirements of functional correctness, efficiency, and information hiding, object-oriented real-time systems must also conform to stringent timing requirements. An additional complicating factor is that real-time control systems are frequently distributed in nature. For researchers and engineers, this has ramifications for requirements, object specification, object composition, implementation, verification, testing, languages and run-time systems.
article Free Access Share on Object-oriented real-time systems: report on the workshop Authors: Bob Wilhelm Objective Control Objective ControlView Profile , John Gilbert Objective Software Objective SoftwareView Profile , Mohamed Fayad University of Nevada, Reno University of Nevada, RenoView Profile Authors Info & Claims ACM SIGPLAN OOPS MessengerVolume 6Issue 4Oct 1, 1995 pp 203–208https://doi.org/10.1145/260111.260282Online:01 October 1995Publication History 0citation213DownloadsMetricsTotal Citations0Total Downloads213Last 12 Months0Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my Alerts New Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
article Free Access Share on Subjectivity in object-oriented systems: workshop summary Authors: William Harrison IBM Thomas J Watson Research Center, P.O. Box 704, Yorktown Heights, NY IBM Thomas J Watson Research Center, P.O. Box 704, Yorktown Heights, NYView Profile , Harold Ossher IBM Thomas J Watson Research Center, P.O. Box 704, Yorktown Heights, NY IBM Thomas J Watson Research Center, P.O. Box 704, Yorktown Heights, NYView Profile , Hafedh Mili IBM Thomas J Watson Research Center, P.O. Box 704, Yorktown Heights, NY IBM Thomas J Watson Research Center, P.O. Box 704, Yorktown Heights, NYView Profile Authors Info & Claims ACM SIGPLAN OOPS MessengerVolume 6Issue 4Oct 1, 1995 pp 117–122https://doi.org/10.1145/260111.260261Online:01 October 1995Publication History 1citation186DownloadsMetricsTotal Citations1Total Downloads186Last 12 Months4Last 6 weeks2 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
article Free Access Share on Building large distributed software systems using objects Authors: Ashutosh Tiwary Boeing Information and Support Services, P.O. Box 24346, MS 7L-40, Seattle, WA Boeing Information and Support Services, P.O. Box 24346, MS 7L-40, Seattle, WAView Profile , Rajendra K. Raj Information Technology Department, Morgan Stanley, 750 7th Avenue, New York, NY Information Technology Department, Morgan Stanley, 750 7th Avenue, New York, NYView Profile , Douglas S. Lea Department of Computer Science, SUNY, Oswego, NY Department of Computer Science, SUNY, Oswego, NYView Profile , Christopher J. Bosch Advanced Information Technologies Center, The MITRE Corporation, 7525 Colshire Drive, McLean, VA Advanced Information Technologies Center, The MITRE Corporation, 7525 Colshire Drive, McLean, VAView Profile Authors Info & Claims ACM SIGPLAN OOPS MessengerVolume 6Issue 4Oct 1, 1995 pp 191–195https://doi.org/10.1145/260111.260279Published:01 October 1995Publication History 0citation295DownloadsMetricsTotal Citations0Total Downloads295Last 12 Months9Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
article Workshop 22: OO technology in large financial institutions Share on Author: Chris Laffra Morgan Stanley Morgan StanleyView Profile Authors Info & Claims ACM SIGPLAN OOPS MessengerVolume 6Issue 4Oct 1, 1995 pp 213–217https://doi.org/10.1145/260111.260284Published:01 October 1995 0citation179DownloadsMetricsTotal Citations0Total Downloads179Last 12 Months0Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
article Free Access Share on Implementing a real-time, embedded, telecommunication switching system in Smalltalk Author: John Radford DNA Enterprises Inc. DNA Enterprises Inc.View Profile Authors Info & Claims ACM SIGPLAN OOPS MessengerVolume 6Issue 4Oct 1, 1995 pp 77–82https://doi.org/10.1145/260111.260245Online:01 October 1995Publication History 0citation221DownloadsMetricsTotal Citations0Total Downloads221Last 12 Months4Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF