1 The Application of Software Tools to Complex Distributed Systems: An Overview Abstract This article presents an overview of on-line monitoring and dynamic analysis tools that support the design and testing of distributed computing systems. Software tools are based on the needs of users to observe and control system performance. Of growing importance are the integration of domain-specific and commercial, off-the-shelf (COTS) tools and the rapid-prototyping of application-specific tools. To focus the discussion of tools, we introduce two contemporary examples of complex distributed systems and present a comprehensive definition. Application areas include transaction processing and control. The overview of software tools for these types of complex distributed systems emphasizes various functionalities across the system lifecycle and tool integration technologies. The overview is intended to be broad and selective, but representative, so as to give the reader a “wide-angle view” of the application of software tools in this area. Finally, we summarize the PG RT integrated tool environment, which represents a synthesis of a number of concepts presented in the article. 1 Introduction Complex systems come in many forms, ranging from a colony of ants to a cluster of stars. These systems are characterized by a large collection of entities or members that are connected in some way. A distributed computer system is a complex system. But it also is increasingly being used to simulate and study the behavior of other complex systems in nature, society, or elsewhere. Moreover, a distributed computer system may be an entity within a larger complex system, supporting certain functions that contribute to its overall behavior. The constituents of a distributed computer system, such as its software, may be viewed as complex systems themselves. In fact, such a hierarchy of complexity at various levels is characteristic of complex systems. We will see shortly that this and other characteristics of complex distributed computer systems justify the need for applying software tools to represent, optimize, and control system Diane T. Rover and Abdul Waheed Department of Electrical Engineering Michigan State University East Lansing, MI 48824 E-mail: {waheed,rover}@egr.msu.edu Matt W. Mutka and Aleksandar Bakic′ Department of Computer Science Michigan State University East Lansing, MI 48824 E-mail: {mutka,bakicale}@cps.msu.edu