Author: You, J.
Paper Title Page
THDAUST02 An Erlang-Based Front End Framework for Accelerator Controls 1264
  • D.J. Nicklaus, C.I. Briegel, J.D. Firebaugh, CA. King, R. Neswold, R. Rechenmacher, J. You
    Fermilab, Batavia, USA
  We have developed a new front-end framework for the ACNET control system in Erlang. Erlang is a functional programming language developed for real-time telecommunications applications. The primary task of the front-end software is to connect the control system with drivers collecting data from individual field bus devices. Erlang's concurrency and message passing support have proven well-suited for managing large numbers of independent ACNET client requests for front-end data. Other Erlang features which make it particularly well-suited for a front-end framework include fault-tolerance with process monitoring and restarting, real-time response,and the ability to change code in running systems. Erlang's interactive shell and dynamic typing make writing and running unit tests an easy part of the development process. Erlang includes mechanisms for distributing applications which we will use for deploying our framework to multiple front-ends, along with a configured set of device drivers. We've developed Erlang code to use Fermilab's TCLK event distribution clock and Erlang's interface to C/C++ allows hardware-specific driver access.  
slides icon Slides THDAUST02 [1.439 MB]