#### 15.3.1 Remote operations

GPS defines four different remote operation categories: Build operations, Debug operations, Execution operations and Tools operations. All compiler related operations are performed on the Build_Server. The Tools server is somewhat special and will be explained later. The debugger is run on the Debug_Server, and the project's resulting programs are run on the Execution_Server. The GPS_Server (the local machine) is used for all other operations.

The Tools server is defined to handle all compiler related operations that do not depend on a specific compiler version. It is used in dual compilation mode, for example, to determine whether the action can be safely run using a very recent compiler toolchain (this is the tools server), or whether a specific older baseline compiler version must be used.

In case the remote mode is activated, and the dual compilation mode is not, all Tools server operations are executed on the build server. Otherwise, if the dual compilation mode is activated, then the tools server operations are always executed on the local machine.