managed by ut-battelle for the department of energy open xal open development of the xal accelerator...

16
Managed by UT-Battelle for the Department of Energy Open XAL Open Development of the XAL Accelerator Application Framework Christopher K. Allen Tom Pelaia Oak Ridge National Laboratory

Upload: magdalen-lewis

Post on 24-Dec-2015

213 views

Category:

Documents


0 download

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

15 Managed by UT-Battellefor the Department of Energy Presentation_name

Open XAL

Evolution

16 Managed by UT-Battellefor the Department of Energy Presentation_name

Open XAL Project

· Hosting– Repository on SourceForge– Subversion is versioning tool

· Development

(Follow example of EPICS Collaboration)– Multi-site– Versioned releases– Core and (site) extensions code branches