This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects
December 1997 (vol. 23 no. 12)
pp. 759-776

Abstract—The port-based object is a new software abstraction for designing and implementing dynamically reconfigurable real-time software. It forms the basis of a programming model that uses domain-specific elemental units to provide specific, yet flexible, guidelines to control engineers for creating and integrating software components. We use a port-based object abstraction, based on combining the notion of an object with the port-automaton algebraic model of concurrent processes. It is supported by an implementation using domain-specific communication mechanisms and templates that have been incorporated into the Chimera Real-Time Operating System and applied to several robotic applications. This paper describes the port-based object abstraction, provides a detailed analysis of communication and synchronization based on distributed shared memory, and describes a programming paradigm based on a framework process and code templates for quickly implementing applications.

[1] B. Abbott et al., “Model‐Based Software Synthesis,” IEEE Software, Vol. 10, No. 3, May 1993, pp. 42‐52.
[2] J.M. Adan and M.F. Magalhaes, "Developing Reconfigurable Distributed Hard Real-Time Control Systems in STER," Algorithms and Architectures for Real-Time Control, Proc. IFAC Workshop, pp. 147-152,Oxford: Pergamon Press, Sept. 1991.
[3] J.S. Albus, H.G. McCain, and R. Lumia, NASA/NBS Standard Reference Model for Telerobot Control System Architecture (NASREM), Technical Note 1235, Nat'l Inst. of Standards and Tech nology, Gaithersburg, Md., Apr. 1989.
[4] B.W. Beach, "Connecting Software Components with Declarative Glue," Proc. Int'l Conf. Software Eng., pp. 11-15,Melbourne, Australia, IEEE Press, 1992.
[5] T.E. Bihari and P. Gopinath, "Object-Oriented Real-Time Systems: Concepts and Examples," Computer, vol. 25, no. 12, pp. 25-32, Dec. 1992.
[6] B.A. Blake and P. Jalics, "An Assessment of Object-Oriented Methods and C++," J. Object-Oriented Programming, vol. 9, no. 1, pp. 42-48, Mar.-Apr. 1996.
[7] R.C. Dorf, Modern Control Systems, third edition. London: Addison-Wesley, 1980.
[8] M.W. Gertz, D.B. Stewart, and P.K. Khosla, "A Human Machine Interface for Distributed Virtual Laboratories," IEEE Robotics and Automation Magazine, vol. 1, no. 1, pp. 5-13, Dec. 1994.
[9] IV3230 VMEbus Single Board Computer and MultiProcessing Engine User's Manual, Computer Systems Division, Ironics Inc., Ithaca, New York, 1991.
[10] A. Kalavade, "System-Level Codesign of Mixed Hardware-Software Systems," doctoral dissertation, Univ. of California, Berkeley, 1995.
[11] L. Kelmar and P.K. Khosla, "Automatic Generation of Forward and Inverse Kinematics for a Reconfigurable Modular Manipulator System," J. Robotics Systems, vol. 7, no. 4, pp. 599-619, Aug. 1990.
[12] D. Kinny, M.P. Georgeff, and A.S. Rao, "A Methodology and Modelling Technique for Systems of BDI Agents," Agents Breaking Away: Proc. Seventh European Workshop on Modeling Autonomous Agents in a Multi-Agent World, Lecture Notes in Artificial Intelligence, Vol. 1038, 1996, pp. 56-71.
[13] D. Lamb, "IDL: Sharing Intermediate Representations," ACM Trans. Programming Languages and Systems vol. 9, no. 3, pp. 267-318, July 1987.
[14] J. Lang, "A Distributed and Time-Bounded Exception Handling Mechanism for Dynamically Reconfigurable Real-Time Software," masters thesis, Dept. Electrical Engineering, Univ. of Maryland, College Park, 1997.
[15] C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” J. ACM, vol. 20, no. 1, pp. 40-61, 1973.
[16] D.M. Lyons and M.A. Arbib, "A Formal Model of Computation for Sensory-Based Robotics," IEEE Trans. Robotics and Automation, vol. 5, no. 3, pp. 280-293, June 1989,.
[17] J. Magee, N. Dulay, and J. Kramer, "Structuring Parallel and Distributed Programs," Software Eng. J., Vol. 8, No. 2, 1993, pp. 73-82.
[18] J. Kramer,J. Magee,M. Sloman,, and N. Dulay,“Configuring object-based distributed programs in REX,” Software Eng. J., vol. 7, no. 2, pp. 139-149, Mar. 1992.
[19] J. Magee, J. Kramer, and M. Sloman, “Constructing Distributed Systems in Conic,” IEEE Trans. Software Engineering, Vol. 15, No. 6, June 1989, pp. 663–675.
[20] L.D. Molesky, C. Shen, and G. Zlokapa, "Predictable Synchronization Mechanisms for Real-Time Systems," Real-Time Systems, vol. 2, no. 3, pp. 163-180, 1990.
[21] D.L. Parnas, P.C. Clements, and D.M. Weiss, "The Modular Structure of Complex Systems," IEEE Trans. Software Eng., vol. 11, no. 3, pp. 259-266, Mar. 1985.
[22] J. Purtilo, "The Polylith Software Bus," ACM Trans. Programming Languages and Systems, Vol. 16, No. 1, Jan. 1994, pp. 151-174.
[23] J.M. Purtilo and J.M. Atlee, "Module Reuse by Interface Adaptation," Software Practice and Experience, vol. 21, no. 6, pp. 539-556, June 1991.
[24] R. Rajkumar, "Real-Time Synchronization Protocols for Shared Memory Multiprocessors," Proc. IEEE 10th Int'l Conf. Distributed Computing, pp. 116-123, 1990.
[25] L. Sha, R. Rajkuma, and J.P. Lehoczky, "Priority Inheritance Protocols: An Approach to Real-Time Synchronization," IEEE Trans. Computers, vol. 39, no. 9, pp. 1,175-1,185, Sept. 1990.
[26] S. Ritz, M. Pankert, and H. Meyr, "High Level Software Synthesis for Signal Processing Systems," Proc. Int'l Conf. Application Specific Array Processors,Berkeley, Calif., pp. 4-7, 1992.
[27] S.R. Schach, Software Eng., second edition. Asken Associates, 1993.
[28] D.E. Schmitz et al., "CHIMERA: A Real-Time Programming Environment for Manipulator Control," IEEE Int'l Conf. Robotics and Automation,Phoenix, Ariz., pp. 846-852, 1989.
[29] D.E. Schmitz, P.K. Khosla, and T. Kanade, "The CMU Reconfigurable Modular Manipulator System," Proc. Int'l Symp. and Exposition on Robots (designated 19th ISIR), Sydney, Australia, pp. 473-488, 1988.
[30] B. Selic, G. Gullekson, and P. Ward, Real-Time Object-Oriented Modeling, John Wiley and Sons, New York, 1994.
[31] T.E. Smith and D.E. Setliff, "Towards an Automatic Synthesis System for Real-time Software," Proc. Real-Time Systems Symp.,San Antonio, Texas, pp. 34-42, 1991.
[32] M. Steenstrup, M.A. Arbib, and E.G. Manes, "Port Automata and the Algebra of Concurrent Processes," J. Computer and System Sciences, vol. 27, no. 1, pp. 29-50, Aug. 1983.
[33] W.P. Stevens, G.J. Myers, and L.L. Constantine, "Structured Design," IBM Systems J., vol. 13, no. 2, pp. 115-139, 1974.
[34] D.B. Stewart and G. Arora, "Dynamically Reconfigurable Embedded Systems-Does it Make Sense?" Proc. Real Time Application Workshop,Montreal, Oct. 1996.
[35] D.B. Stewart and P.K. Khosla, “Policy-Independent RTOS Mechanisms for Timing Error Detection, Handling, and Monitoring,” Proc. IEEE High Assurance Systems Eng. Workshop, Oct. 1996.
[36] D.B. Stewart and P.K. Khosla, “Mechanisms for Timing Error Detection and Handling,” Comm. ACM, vol. 40, no. 1, Jan. 1997.
[37] K. Knight and S. Luk, "Building a Large-Scale Knowledge Base for Machine Translation," Proc. Am. Assoc. Artificial Intelligence, AAAI Press, Menlo Park, Calif., 1994.
[38] D.B. Stewart and P.K. Khosla, "Chimera 3.1: The Real-Time Operating System for Reconfigurable Sensor-Based Control Systems," program documentation, Advanced Manipulators Laboratory, The Robotics Inst. and Dept. Electrical and Computer Eng., Carnegie Mellon Univ., Pittsburgh, http://www.ee.umd.edu/serts/bib/manualsChimera.html
[39] D.B. Stewart, “Real-Time Software Design and Analysis of Reconfigurable Multi-Sensor Based Systems,” PhD dissertation, ECE Dept., Carnegie Mellon Univ., Apr. 1994, .
[40] D.B. Stewart, D.E. Schmitz, and P.K. Khosla, "CHIMERA II: A Real-Time Multiprocessing Environment for Sensor-Based Robot Control," Proc. IEEE Int'l Symp. Intelligent Control,Albany, N.Y., pp. 265-271, Sept. 1989.
[41] VBT-325 The VME+ Analyzer System User's Manual, VMETRO Inc., Houston, 1995.
[42] P. Wegner, "Dimensions of Object-Oriented Programming," Computer, vol. 25, no. 10, pp. 12-20, Oct. 1992.
[43] P. Wegner, "Concepts and Paradigms of Object-Oriented Programming," OOPS Messenger, vol. 1, no. 1, pp. 7-84, Aug. 1990.

Index Terms:
Dynamic reconfiguration, real-time operating system, software architecture, object-based design, port-automaton theory, reusable software, component-based design, evolutionary design, digital control systems, robotics.
Citation:
David B. Stewart, Richard A. Volpe, Pradeep K. Khosla, "Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects," IEEE Transactions on Software Engineering, vol. 23, no. 12, pp. 759-776, Dec. 1997, doi:10.1109/32.637390
Usage of this product signifies your acceptance of the Terms of Use.