C ontrol systems such as those used in satel- lites, spacecraft, automobiles, chemical processing plants, and manufacturing rely heavily on the software that is used to im- plement them. In fact, engineers at Boeing Co. and Honeywell Inc. have estimated that 60-80% of the development of a complex control system is the software development effort, while only 20-40% is the actual control system design. The software effort includes program- ming individual software modules as well as writing code for commu- nications between components. Much of the software development time is spent on making the software stable and reliable, such as tracing possible haz- ard conditions and inserting software fault protection methods. When the operation of a control system is highly critical due to human safety factors or the high cost of failure in damaged capital or products, the software de- signers must expend extra effort to validate and verify their software before it can be released. In flight-critical opera- tions, validation and verification are part of the flight certifi- cation process. Many new software technologies exist that can facilitate the development and deployment of complex control sys- tems. For example, component-based architectures [1], [2] promote code reuse, thereby decreasing development and validation time. Moreover, these architectures encourage flexible “plug-and-play” extensibility and evolution of sys- tems. Distributed object computing allows heterogeneous components to interoperate across diverse platforms and network protocols [3], [4]. Open standards for software mean that products from different vendors can interoperate transparently to the user. New advances are being made to enable dynamic recon- figuration and evolution of sys- tems while they are still running [5], [6]. New com- munication technologies are being developed to allow net- worked embedded devices to connect to each other and to self-organize [7]. Historically, there has been a disconnect between the control engineers who design the controls and the software engineers who implement them. A thorough understanding of the methodologies used in both disciplines would make the overall process more cohesive. This article gives a February 2003 IEEE Control Systems Magazine 21 1053-5888/03/$17.00©2003IEEE Heck (bonnie.heck@ece.gatech.edu), Wills, and Vachtsevanos are with the School of Electrical and Computer Engineering, Georgia Insti- tute of Technology, Atlanta, GA 30332-0250, U.S.A. By Bonnie S. Heck, Linda M. Wills, and George J. Vachtsevanos JENE NELSON AT CN GRAPHICS INC.