This paper describes a methodology for the design and implementation of fully functional control software for flexible manufacturing systems (FMS). In a typical FMS implementation, the control software determines the ultimate flexibility of the system. Traditionally, control software has been custom-written for each FMS implementation and, hence, has been extremely costly. More significantly, the software often requires significant modifications in order to respond to changing production requirements for the FMS. In response to these problems, this paper describes a methodology and the associated software tools for the development of fully functional, distributed FMS control software. The objective of the methodology is to simplify and shorten the development cycle for control software. The methodology described in this paper partitions the control problem into a decision making component and an execution component. A well-defined interface between the two components allows the independent development of each component. In addition, the decision making module can be modified whenever necessary as dictated by the production requirements. An existing resource description model is adapted for use in the target environment and existing execution software generation techniques are used to automatically generate a significant portion of the execution software. Specific laboratory experience is described. In the example implementation, the decision making functions are performed by a discrete event simulation that communicates directly with a shop floor execution system.