13
A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN.

A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

Embed Size (px)

Citation preview

Page 1: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

A Brief History of XAL at SNS - What went right / wrongJ. Galambos

XAL Workshop at the 2007 EPICS / ICALEPS meeting

Knoxville TN.

Page 2: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

XAL – The Origins

Guiding Principles:

Wanted an Accelerator Hierarchy Hide the control system from the developer A single point accelerator configuration “Online” beam model

Excuses: Had a hard deadline – beam commissioning Really did not understand much about control systems and

accelerators in the beginning – good thing we did not write detailed requirements

More-or-less right

Page 3: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

XAL – The Origins Circa 1999 – Started worrying about “Application

Programs” Had a workshop to evaluate options

SDDS, Cdev, UAL, FORTRAN examples Database! Need an internal “champion”

2000 Evaluated the SDDS, Cdev Started populating database

2001 Started collaboration with UAL which morphed into

XAL

Page 4: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

Notes from June 14, 2001

Accelerator Hierarchy being defined

Basic Architecture of the model

Page 5: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

History II

2002 – wrote first few apps, virtual accelerator, scripting, commissioned the Front End at ORNL

2003: Application Framework, 10 apps, commissioned DTL1

2004: commissioned DTL – CCL, too many apps

Spring 2002: Test XAL app in control room at ORNL – MEBT at LBNL

Page 6: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

Commissioning Schedule – Staged Approach - Useful SNS was an entirely new facility – “green-field” Staged commissioning approach with early deployment gave XAL

development time to test approaches and adjust afterwards. This was critical.

2002 2003 2004 2005 2006

DTL Tanks 1-3

Front-End

DTL Tank 1

DTL/CCLSCL

Ring

Target

Page 7: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

What Did Not Work

Keep it pure Almost all applications have SNS specific

idiosyncrasies Some of the Node implementations have

idiosyncrasies (e.g. wire-scanner) Driven in large part by schedule Parts written by physicists (e.g. me)

Documentation apologies

Page 8: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

What Worked

Database Absolutely recommend to any new project for all

the usual database reasons Also use it for measured data

Accelerator hierarchy / hide the control system Allows for transparent code Opened the door for neophyte physicist

programmers + generic apps

Page 9: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

Odds & Ends – Right Choices Online model:

Need it to unravel beam observations Same model - entire accelerator – generic apps Same model - different data sources (design, machine, pv-

logger) Separate “view” than the device “view”

Virtual Accelerator Debug apps before beam time – good for neophyte real-

time programmers to learn with Java

Never want to go back to C++ GUI, Swing, database connectivity, ~ no memory leaks Speed no problem for us

Page 10: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

What Worked The “Application GUI Framework”

A common starting point to create new apps Good for neophyte physicist programmers Good for neophyte physicist commissioners

Save/open app setup

Error logging

Toolbar for common actions

Html help

Accelerator navigating

Page 11: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

What Worked

Accelerator Physicist Programmers Good for writing apps – 1 person responsible for

making a beam commissioning activity happen Bad for infrastructure development

Also need good software developers for this (which we were fortunate to have)

Page 12: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

What Worked

Scripting Absolute necessity for commissioning Good for algorithm testing (and examples) Java makes this very easy (no glue code). Trivial

python / XAL interface. Good for high level studies, but you need a robust

control system (MPS) to protect equipment

Page 13: A Brief History of XAL at SNS - What went right / wrong J. Galambos XAL Workshop at the 2007 EPICS / ICALEPS meeting Knoxville TN

Collaboration Success and Failures

XAL was born from a failed collaboration with UAL Our lack of precise requirements made

collaboration non-trivial The online model was developed at LANL,

and used during commissioning at ORNL At SNS there was a tremendous amount of

“internal collaboration” Need to trust each other and share components