In this paper, we present an architecture for a run-to-run supervisory process control system that allows the engineer to tailor the form of control for specific processes. The architecture supports different degrees of control, from model-based control to statistical process control to diagnosis. The architecture is compatible with different techniques for model optimization, data acquisition and analysis, and model adjustment and feedback. A primary feature of this architecture is that engineers can define processes in terms of their desired effects, and use process models that transform those effects into machine settings. We have used object technology as the basis for our design and implementation of the architecture. Object-oriented modeling provides the flexibility required to support the varying degrees of control required in a large-scale manufacturing facility. In this paper, we define the components of the architecture, and describe in detail a process control system that was built with this architecture and used in the Computer Integrated Manufacturing (CIM) system built for the Microelectronics Manufacturing Science and Technology (MMST) demonstration facility. Although the architecture was developed for the purpose of controlling semiconductor manufacturing processes, the principles behind the architecture may be applied to the control of any process.