ICALEPCS 2009
THP020
AIDA, An Architecture for Distributed Accelerator Data at SLAC
D.Fairley, D.Rogind, E.Grunhaus, G.R.White*, G.S.McIntyre, H.Shoaee, P.Chu, P.Krejcik, R.C.Sass, R.D.Hall, S.Chevtsov, M.Zelazny (SLAC)
Rapid development of scientific software applications for a large instrument like an accelerator, in an established and evolving environment, is made difficult by the diversity of interfaces, protocols, and hosts, of the source data. Additionally, analytical applications deal mainly with complex data structures, such as synchronized beam data for a whole beamline, rather than individual control points. AIDA (Accelerator Integrated Data Access) is a distributed 3-tier system that allows Matlab, Java programs, or scripts, to interoperate with EPICS Channel Access, legacy control systems, relational databases such as Oracle, accelerator modelling systems, EPICS and SLC Archivers, and other data servers, in ways oriented to scientific users. It also includes a web interface for search and plots. At SLAC, AIDA provides a uniform, fast, interface to 4.5 million named elements in 14 lower level systems, over two control systems, for about 70 utilities and 20 large scientific applications. This approach was found to be key to the rapid commissioning of LCLS at SLAC. We present the first public description of the developed AIDA system since its early thinking at ICALEPCS 2001.