CitectSCADA's architecture can be divided into three distinct areas of functionality:
Configuration involves the tasks necessary to prepare and build a project, while runtime is the implementation of a project in a live production environment.
Drivers enable communication with devices via a number of communication protocols. The driver defines the specific project settings necessary for CitectSCADA to communicate with a particular device.
When considering the tools included with CitectSCADA, it is easiest to look at their roles in either configuration or runtime.