1. Introduction
Computer-integrated manufacturing (CIM) has recently received a great deal of attention as an effective strategy for improving manufacturing responsiveness and quality. CIM seeks to integrate the entire manufacturing enterprise by using a network of computer systems. However, the evolution to CIM has been slower than expected. This can be attributed directly to the high costs of software development and maintenance and the difficulty in achieving the required levels of integration between systems (Ayres, 1989; Merchant, 1988). These problems are especially evident in the development of the shop-floor control system (SFCS). The SFCS is responsible for planning, scheduling, and controlling the equipment on the shop floor.
To define the requirements for system control, many researchers have developed 'standard' CIM and FMS control architectures (Beeckman, 1989; Jones and McLean, 1986; Jones and Saleh, 1990; Joshi et al., 1990; Senehi et al., 1991). These architectures attempt to identify a standard structure for computer-controlled manufacturing systems. However, these architectures have not been defined in sufficient detail to address the problems in software development and maintenance associated with the implementation of a SFCS (Ayres, 1989; Mettala, 1989). In fact, control systems still seem to be extremely implementation-specific even if the designers adhere to one of the 'standard' architectures. One explanation for this is that most of these architectures are simply verbose, textual descriptions of the manufacturing system's general structure and there is no concentration on the development of the required control systems. Consequently, these descriptions are often ambiguous and incomplete and hence are inappropriate as a basis for software development. In addition it is difficult for researchers to discuss and compare different system configurations without a standard 'language' for describing the manufacturing systems.
We propose to integrate the system design and software development phases of SFCS implementation. Our research has been focused on creating a shop-floor control software development methodology with computer-assisted software engineering (CASE) tools. This methodology will reduce controller software costs while also providing improved levels of manufacturing system integration. The improvements in system integration stem from the formal descriptions of the components. Once the individual components' behavior is completely defined, the interactions between individual components can be formalized. This concept is illustrated in Fig. 1. Within this paradigm the control architecture provides the formal structure under which the specific implementation can be described. This formal description can then be used as a basis for control software development. To develop these tools we have found it necessary to extend the traditional shop-floor control architecture to include formal definitions of the individual components of the architecture. In this context, the term formal implies precise and unambiguous.