A Server Level API for EPICS

Jeffrey O. Hill
Los Alamos National Laboratory


The existing Experimental Physics and Industrial Control System (EPICS) client side applications programmer's interface - Channel Access - has in our experience been a catalyst for efficient collaborative software development. Having seen real cost and quality benefits resulting from the adoption of modular system design techniques in a control system context, we propose a new applications programmer's interface (API) for EPICS to be installed just beneath the existing channel access server. This new API will encapsulate the EPICS IO system making it another modular, replaceable software component. We will eliminate several existing EPICS limitations including only one choice for the front end operating system, only one EPICS front end architecture, difficulties exporting process variables from client side applications, and difficulties creating transient process variables. Potential applications are gateways between existing control systems and the expanding EPICS tool set, gateways between non-essential users and the live control system, access to alternative data stores such as commercial databases, and light-weight IO controller implementations. We hope that this API will result in greater freedom to pick and choose components of EPICS, and ultimately a wider application of EPICS.