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.