managed by ut-battelle for the department of energy open xal open development of the xal accelerator...
TRANSCRIPT
Managed by UT-Battellefor the Department of Energy
Open XALOpen Development of the XAL Accelerator Application Framework
Christopher K. AllenTom PelaiaOak Ridge National Laboratory
2 Managed by UT-Battellefor the Department of Energy Presentation_name
XAL Workshop: May 3 – 5, 2010
· In May of 2010 SNS sponsored the first workshop with specific emphasis on XAL. – Six institutions were represented
Cosylab, ESS, FRIB, GANIL, TRIUMF, and SNS
· Workshop was oriented toward XAL developers– What changes/features do developers want?
– Is there enough common interest (in XAL) to make collaborative development mutually beneficial?
– If so, how do we go about it?
I discuss the outcome of this meeting and actions following.
3 Managed by UT-Battellefor the Department of Energy Presentation_name
Background: What is XAL?
· High-level application framework for accelerator systems– Java – Developed for SNS
· Hardware configuration and connection– Device oriented– EPICS Channel Access client support
· Online accelerator physics modeling– Machine synchronized, or historical data, design parameters…
Application for monitoring all XAL applications
Also ships with a suite of pre-cooked
applications
4 Managed by UT-Battellefor the Department of Energy
XAL in the Control System Hierarchy
Accelerator Hardware
EPICS ABeans SCiP Hardware Abstraction
XAL
Matlab Python/Ruby
Device Abstraction
Control Applications
App App App App App App
GUIScripting/tools
5 Managed by UT-Battellefor the Department of Energy Presentation_name
XAL Requirements
· Java: J2SE 6 with JDK
· Ant 1.7
· Subversion 1.6
· (Jython 2.1)
· (JRuby 1.4)
6 Managed by UT-Battellefor the Department of Energy Presentation_name
XAL Resources
· For more information http://www.ornl.gov/~t6p/Main/XAL.htmlhttps://wiki.ornl.gov/sites/xaldocs/default.aspx
· For source codesvn co https://[email protected]/svnroot/xaldev/trunk xal
7 Managed by UT-Battellefor the Department of Energy Presentation_name
Open XAL Inception
· Workshop decided to proceed with collaborative development
– Start fresh with new repository and agreed to coding standards
– Initial project design and code standards
– Identified initial tasks and responsible parties
· The new code base is to be called “Open XAL”
8 Managed by UT-Battellefor the Department of Energy Presentation_name
Workshop Summary
· Open XAL is a (collaborative) effort to standardize XAL– Remove SNS-specific components– Re-factor brittle code– Simplify deployment– Expedite development
· Open to all developers– Core code is controlled, however. Specifications are available.– Management of site specific code (XAL Extensions) is left to the
individual institutions.
· Open to all users– Source and executable is available via SourceForge
9 Managed by UT-Battellefor the Department of Energy Presentation_name
Status
· Six months since workshop– Initial specifications and designs completed and online– Repository, mailing list, and task management are online– So far two institutions (other than SNS) have actively
contributed
· Continuing forward– Code migration has
begun– Quarterly (online)
meetings
10 Managed by UT-Battellefor the Department of Energy Presentation_name
Open XAL Design
– Repository/Versioning– Code base structure– Task lists– Code standards– Software design
11 Managed by UT-Battellefor the Department of Energy Presentation_name
Conclusions – Open XAL
· Collaboration in the continuing development of XAL
· Consolidate the divergent branches of XAL– Make XAL more general by removing site
specific code– Make XAL more versatile with site
extensions which other facilities develop
· SNS committed to providing support
· Thank you for your attention!
XAL
SN
S
J-PA
RC
LAN
L
SLA
C
12 Managed by UT-Battellefor the Department of Energy Presentation_name
Open XAL Project Structure· Beginning with well-defined project structure
– Core and (site) extensions– Versioning– Code base organization (next slide)
13 Managed by UT-Battellefor the Department of Energy Presentation_name
Coding Standards
· Multiple developers– Code must be understood– Documentation is crucial
(Javadoc!)
· Open XAL Core – Must be robust – need quality
control – Policies for working with
Open XL core
Too many rules No rules
14 Managed by UT-Battellefor the Department of Energy
Open XAL Core
· Separate user and test branches– Core binary can ship without test code– Test suite mirrors development packages
Presentation_name
Test suites for code validation (developers)
XAL core(users and developers)
xalcore.jar
xaltest.jar