================================================================================ P9502 J.A. Bergstra & P. Klint "The discrete time ToolBus" Building large, heterogeneous, distributed software systems poses serious problems for the software engineer; achieving interoperability of software systems is still a major challenge. In a previous paper, we have proposed to get control over the possible interactions between software components (``tools'') by forbidding direct inter-tool communication. Instead, all interactions are controlled by a process-oriented ``script'' that formalizes all the desired interactions among tools. This leads to a component interconnection architecture resembling a hardware communication bus, and therefore we call it a ``ToolBus''. Based on the experience with our previous proposal, we extend ToolBus scripts with features like conditionals and simple operations on the built-in data type of terms. More significantly, we introduce discrete time and give detailed descriptions of the protocol between ToolBus and tools. As a result, we can completely define the dynamic connection and disconnection of tools as well as notions like ``monitoring'' the execution of the ToolBus and ``dynamic reconfiguration'' of the ToolBus during execution. These extensions are defined in a generic framework intended for the experimentation with new ToolBus features. 1991 CR Categories: C.2.4 [Computer-communication networks]: Distributed systems; D.2.1 [Software Engineering]: Requirements/Specifications; D.2.2 [Software Engineering]: Tools and techniques; D.2.6 [Software Engineering]: Programming Environments; D.3.4 [Programming Languages]: Processors; D.4.1 [Operating Systems]: Process management; D.4.4 [Operating Systems]: Communications management; H.5.2 [Information interfaces and presentation]: User interfaces. 1991 Mathematics Subject Classification: 68N15 [Software]: Programming Languages; 68N20 [Software]: Compilers and generators; 68Q65 [Theory of computing]: Abstract data types; algebraic specification. Key Words & Phrases: interoperability of software tools, modularity, control integration, client/server architectures, distributed systems, process interpreter, prototyping, software development methodology, randomized execution.