1 / 16

Open XAL

Open XAL. Open Development of the XAL Accelerator Application Framework. Christopher K. Allen Tom Pelaia Oak Ridge National Laboratory. XAL Workshop: May 3 – 5, 2010. In May of 2010 SNS sponsored the first workshop with specific emphasis on XAL. Six institutions were represented

malha
Download Presentation

Open XAL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Open XAL Open Development of the XAL Accelerator Application Framework Christopher K. Allen Tom Pelaia Oak Ridge National Laboratory

  2. 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. Presentation_name

  3. 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… Also ships with a suite of pre-cooked applications Application for monitoring all XAL applications Presentation_name

  4. XAL in the Control System Hierarchy App App App App App App Control Applications Matlab Python/Ruby Scripting/tools GUI Device Abstraction XAL Hardware Abstraction EPICS ABeans SCiP Accelerator Hardware

  5. XAL Requirements • Java: J2SE 6 with JDK • Ant 1.7 • Subversion 1.6 • (Jython 2.1) • (JRuby 1.4) Presentation_name

  6. XAL Resources • For more information http://www.ornl.gov/~t6p/Main/XAL.html https://wiki.ornl.gov/sites/xaldocs/default.aspx • For source code svn co https://YourID@xaldev.svn.sourceforge.net/svnroot/xaldev/trunk xal Presentation_name

  7. 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” Presentation_name

  8. 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 Presentation_name

  9. 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 Presentation_name

  10. Open XAL Design • Repository/Versioning • Code base structure • Task lists • Code standards • Software design Presentation_name

  11. Conclusions – Open XAL 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! SNS J-PARC LANL SLAC Presentation_name

  12. Open XAL Project Structure • Beginning with well-defined project structure • Core and (site) extensions • Versioning • Code base organization (next slide) Presentation_name

  13. 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  Presentation_name

  14. Open XAL Core • Separate user and test branches • Core binary can ship without test code • Test suite mirrors development packages XAL core (users and developers) Test suites for code validation (developers) xalcore.jar xaltest.jar Presentation_name

  15. Open XAL Evolution Presentation_name

  16. 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 Presentation_name

More Related