Abstract

The Jefferson Laboratory electron accelerator is controlled by the Experimental Physics and Industrial Control System (EPICS), which was initially developed by the Los Alamos and Argonne National Laboratories, and which has since become an extensive collaboration among scientific institutions worldwide. In keeping with the spirit of cooperation and exchange fostered by the EPICS community, the Controls Software group at Jefferson Laboratory aims to produce portable software tools useful not only locally, but also at any EPICS site, and even at non-EPICS sites where feasible. To achieve this goal, the group practices several software engineering principles which have demonstrated success in producing sharable software. This paper first discusses those principles along with the practicalities involved in pursuing them, and then illustrates how they prevail within three different frameworks: the architecture and operating system (OS) portability provided by the EPICS environment, which assists in porting to other EPICS sites; the control system portability inherent in the Common Device (CDEV) abstraction layer, which facilitates porting to any supported control system; and the general system portability which follows from careful code design.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call