Design of Dynamically Reconfigurable Real-Time Software using Port-Based Objects

David B. Stewart, Richard A. Volpe, and Pradeep Khosla
tech. report CMU-RI-TR-93-11, Robotics Institute, Carnegie Mellon University, July, 1993


Download
  • Adobe portable document format (pdf) (1MB)
Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Abstract
The current development of applications for sensor-based robotic and automation (R&A) systems is typically a "one-of-a-kind" process, where most software is developed from scratch, even though much of the code is similar to code written for other applications. The cost of these systems cam be drastically reduced and the capability of these systems improved by providing a suitable software framework for all R&A systems. We describe a novel software framework, based on the notion of dynamically reconfigurable software for sensor-based control systems. Tools to support the implementation of this framework have been built into the Chimera 3.0 Real-Time Operating System. The framework provides for the systematic development and predictable execution of flexible R&A applications while maintaining the ability to reuse code from previous applications. It combines object-oriented design of software with port-autonomous design of digital control systems. A control module is an instance of a class of port-based objects. A task set is formed by integrating objects from a module library to form a specific configuration. An implementation using global state variables for the automatic integration of port-based objects is presented. A control subsystem is a collection of jobs which are executed one at a time, and can be programmed by a user. Multiple control subsystems can execute in parallel, and operate either independently or cooperatively. One of the fundamental concepts of reconfigurable software design is that modules are developed independent of the target hardware. Our framework defines classes of reconfigurable device driver objects for proving hardware independence to I/O devices, sensors, actuators, and special purpose processors. Hardware independent real-time communication mechanisms for inter-subsystem communication are also described. Along with providing a foundation for design of dynamically reconfigurable real-time software, we are also developing many modules for the control module, device driver, and subroutine libraries. As the libraries continute to grow, they will form the basis of code that can eventually be used by future R&A applications. There will no longer be a need for developing software from scratch for new applications, since many required modules will already be available in one of the libraries.

Notes
Sponsor: US Army AMCOM and DARPA, NASA
Grant ID: DAAA-2189-C-0001, NAGI-1075
Associated Project(s): Metaphor
Number of pages: 24

Text Reference
David B. Stewart, Richard A. Volpe, and Pradeep Khosla, "Design of Dynamically Reconfigurable Real-Time Software using Port-Based Objects," tech. report CMU-RI-TR-93-11, Robotics Institute, Carnegie Mellon University, July, 1993

BibTeX Reference
@techreport{Khosla_1993_302,
   author = "David B. Stewart and Richard A. Volpe and Pradeep Khosla",
   title = "Design of Dynamically Reconfigurable Real-Time Software using Port-Based Objects",
   booktitle = "",
   institution = "Robotics Institute",
   month = "July",
   year = "1993",
   number= "CMU-RI-TR-93-11",
   address= "Pittsburgh, PA",
}