EPICS
EPICS は IOC (Input Output Controller) 経由で実世界とインタフェースする。IOCとしては、一般的なPCまたはVMEバス規格の組み込みプロセッサがあり、各種標準(GPIB、RS-232、IPキャリア)で制御対象機器(電動機、熱電対、スイッチなど)と接続したり、制御システム装置(オシロスコープ、ネットワーク・アナライザなど)と接続する。IOC上にはレコード (record) のデータベースがあり、個々のレコードがデバイスやデバイスの制御を表している。IOCのオペレーティングシステムとしては、高いリアルタイム性を求める場合は VxWorks や RTEMS を使うが、他のシステムへの移植も進んでいる。ある程度のリアルタイム性でよい場合は、Linux や Windows が使える。
ネットワーク上の他のコンピュータは、チャンネル (channel) という概念を通して IOC とやり取りする。例えば、加速器に複数のセクターがあり、セクター間にシャッターがあるとする。一般に1つのシャッターには複数のチャンネルが対応する。
EPICS(Experimental Physics and Industrial Control System)は、加速器、望遠鏡、その他の大規模は実験用機器を運用する分散制御システムを開発・実装するのに使われるソフトウェア環境である。EPICS は SCADA の機能も提供する。このツールは、多数のコンピュータからなるネットワークで制御とフィードバックを行うシステムの開発の補助となるよう設計されている。アルゴンヌ国立研究所が2004年に開発したもので、独自のオープンソースライセンスでリリースされている。
EPICS は、コンピュータ間の通信モデルとしてクライアントサーバモデルと出版-購読型モデルを採用している。コンピュータ群(サーバまたは Input Output Controller)が、付随する測定機器を使って実験データと制御データを収集する。この情報を Channel Access (CA) というプロトコルで別のコンピュータ群(クライアント)に送る。CA は広帯域のネットワークプロトコルであり、科学実験のようなリアルタイム性を要する応用に適している。
他のレコードにアクセスし、それらの値を使った計算ができるレコード。例えば、電流、入力電圧、出力電圧 などを使って、電動機の効率を百分率で表示するなど。