Workshop on the Realtime Systems OOPSLA '88, San Diego, CA Tuesday, 27 September 1988 John Gilbert, organizer Department of Computer Science University of Illinois at Urbana-Champaign 1304 West Springfield Ave., Urbana IL 61801 (217) 328-3523 foote@cs.uiuc.edu
The strengths of object-oriented approaches in the realm of user interface construction are well-documented. Perhaps less well understood is the manner in which the application of object-oriented techniques can help one contend with the complex lifecycle requirements present in many realtime application domains. This question is the focus of [Foote 1988].
The work therein describes the design of a (simulated) Smalltalk-80 application framework for a family of realtime psychophysiological data acquisition and experimental control applications. It shows how a well-constructed framework can subsume the role played by skeleton programs in such application domains. It documents the emergence both of this framework, and of a collection of reusable application specific utility objects, including user interface components. Frameworks and reusable class design are discussed in [Johnson & Foote 1988]. The resuse of proven, verified components is one way to deal with mission criticality concerns.
This work was based on an earlier realtime system (the CPL Battery) consructed using a Fortran preprocessor and object-oriented techniques. (See [Heffley et. al. 1985]. My experience with these two systems has convinced me that the benefits of applying object-oriented tools and techniques in realtime domains can be considerable indeed.
It is difficult to generalize about how to address realtime performance questions, since performance requirements vary widely from one application to the next. Realtime designers have become quite adept at finding pragmantic solutions to such concerns on an application-by-application basis. Among such approaches to object-oriented performance questions are:
Factoring realitme programs into multiple parallel objects in an object-oriented environment can greatly increase the reuse potential of such objects, since incidental sequential dependencies in the code are reduced.
References
[Foote 1998] Brian Foote Designing to Facilitate Change with Object-Oriented Frameworks Masters Thesis, 1988 University of Illinois at Urbana-Champaign [Heffley et. al. 1985] Earle Heffley, Brian Foote, Tony Mui, and Emanuel Donchin Pearl II: Portable Laboratory System Psychophysiological Assessment using Event Related Brain Potentials Neurobehavioral Toxicology and Teratology Volume 7, pp. 399-407, 1985 [Johnson & Foote 1988] Ralph E. Johnson and Brian Foote Designing Reusable Classes Journal of Object-Oriented Programming Volume 1, Number 2, June/July 1988 pages 22-35