SpecMan4EPR is built using Client-Server Architecture. The Server computer handles the hardware, while the Client computer provides GUI for experiment visualization and execution. Client is automatically created on the same computer when Server executable is launched. One can create any amount of additional Clients on different computers and connect them over TCPIP.

SpecMan4EPR has one Experiment ready for execution or executed at a time. The Queue of experiment can be maintained for continuous execution. This Experiment is located on the Server.

All communication between Client and Server goes through a TCP/IP connection. The same channel is used whether the two run on different computers or on the same one: when a Client is started on the Server machine it connects through the local TCP/IP loopback (localhost, 127.0.0.1). There is no separate "local" protocol – a single-computer installation talks to itself over the same network interface that a remote Client would use.

Because of this, anything that can open a TCP/IP socket can act as a Client. The Server can be driven from the GUI, from a script running on the same machine over the local loop, or from another computer on the network, all through one consistent interface.

The Server exposes a text command interface – the Remote API – over this same TCP/IP channel. The CLI overview lets an external program connect to a running Server and inspect or change devices, set properties, load and run experiments, and read back the acquired data using simple text commands (see CLI use). The interface is also available from the Log Window and Status Bar tabs inside the GUI.

The command set is fully self-documenting: appending the .help extension to any command path returns a description of the commands and properties available at that node (for example .spec.help, .spec.System.prop.help or .spec.intf.NIVISA.session0.help). This makes the whole interface discoverable directly from the CLI, without consulting external documentation.

SpecMan4EPR is fully compatible with externally driven workflows. The CLI is designed for deterministic automation: commands can be tagged so that each request is matched to its reply, and the Server answers with machine-readable acknowledgement / result / error messages. This makes it straightforward to embed a SpecMan4EPR measurement inside a larger experimental sequence controlled by external software, and to recover cleanly when a step fails.

Ready-made bindings are provided for the most common environments: experiments can be controlled from Python and MATLAB, so data acquisition can be combined with custom processing, optimization loops and instrument orchestration written in those languages.

Because the whole spectrometer is scriptable through plain text commands over a standard TCP/IP socket, with deterministic, parseable responses, SpecMan4EPR is well suited to automated and AI-driven control. An external agent – for example an optimization routine or a large-language-model based assistant – can connect over the local loop or the network, issue commands, observe the results and decide on the next step, using exactly the same interface a human or a script would use.