High Level Applications Facility Advisory Committee Meeting June 17, 2008 Applications Team Current Development Plan for 2008 Commissioning Project Management June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu High Level Applications Team D. Fairley D. Rogind S. Chevtsov P. Chu G. White M. Woodley M. Zelazny P. Krejcik June 16-18, 2008 LCLS FAC Technical Leads (and Developers) Software Developers Supervisor Patrick Krejcik pkr@slac.stanford.edu Overview Since the last review The HLA Group has been restructured The schedule and priorities has been revised A design methodology has been adopted We will concentrate on delivering a core suite of applications to replace those on the SCP Use of the ECLIPSE RCP deferred Applications will be written in Java, Swing Working applications: SCORE, bunch length, feedbacks, Matlab applications June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Current Development Formalized Requirements and Design and Review process Phase 1 Software Architecture Roll out working prototypes early on Infrastructure and Utilities Oracle Data provider (Prototyped) Save To Matlab, Save to SCORE, Textual Display, To Logbook.. (In test) Beam Synchronous Acq – Event API (In Progress) Core applications Design started June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Formal Documentation and Review Summary: Application Req Doc Req Rev Design Doc Online Model LEM Profile Monitor Wire Scan Emittance Beta Matching Correlation Orbit Data Beam Synch Acq Orbit Correction Multiknob Bumps Klys Man Complete PRELIM Complete Complete Complete Complete Complete Complete PRD Complete Complete PRELIM In Progress Yes Partial Yes Yes Yes Scheduled Scheduled Yes June 16-18, 2008 LCLS FAC Yes Yes Scheduled No Des Rev Yes Yes Yes Yes Next Yes Patrick Krejcik pkr@slac.stanford.edu Development Status Application Status Online Model LEM Profile Monitor Wire Scan Emittance Beta Matching Correlation Orbit Data Beam Synch Acq Orbit Correction Multiknob Bumps Klys Man Start-to-End Sim testing vs MAD in progress (Chu, Woodley) design requirements Java prototype design requirements complete design requirements complete design requirements design requirements started design and coding coding and testing design requirements complete design requirements complete design requirements design requirements stalled, needs physicist and software resources June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Choice of Framework Matlab has been successfully used to develop many applications for commissioning, so why is it not enough? 1. In general, we want to take a longer term view to HLA support (see next slide) 2. Specifically, we need to provide an online model that is database driven and linked to EPICS PVs 3. Feedback software has reached its limit of complexity in Matlab. Further development needs to be done in Java and C June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Software Architecture for HLAs Well developed Application Programming Interfaces (APIs) so that Code duplication is minimized. Code maintainability is optimized. Applications can integrate with other HLAs. Higher level applications can be built hierarchically from other smaller applications. HLAs can be executed from a script so that whole procedures can be written. Exception handling, no crashing when unexpected events occur. Multi-threaded for higher performance Central message logging that archives system events Database aware Similar look and feel for applications, intuitive interface. Choose beamline “sections” (no hard coding to one part of the beamline) unified framework for the application software share common features such as restoring setups, data saving and access to various software tools on the Operator Interface workstation screens (OPIs) Matlab can access the APIs so that new applications can be rapidly prototyped by physicist programmers when new physics needs arise. June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Evolution of the Architecture New architecture is not a direct copy of XAL from SNS We are sharing some of XAL’s features Java based applications, uses JCA, SMF from the online model, database driven XAL had many hard-coded instances to specific SNS devices XAL applications did not meet LCLS requirements exactly June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu New LCLS HLA architecture Suite of modular applications Java, Swing based APIs so applications work in concert Still use Matlab for rapid prototyping of applications June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Example of Interface between core Applications Next slide June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Work Plan for the first application Teaming up on Orbit Data Application Requirements and Designs complete Java Swing GUI mock ups Utility APIs (coded and in test) - to matlab, to Score, to Logbook, textual display Event API (coded and in test) Oracle database provider (coded and in test) Plotting (in evaluation) allows us to develop the infrastructure for the next applications June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Orbit Data Team Development June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Orbit Data – first customer of Event API June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Event API Sequence Diagram June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Orbit Data Swing GUI mockup Orbit z-plot June 16-18, 2008 LCLS FAC BPM buffered data Patrick Krejcik pkr@slac.stanford.edu Working GUI for the Profile Monitor “Live View” (simulated data) June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu OnLine Model XAL model installed Beamline generated from the Oracle RDB In turn generated from the MAD beamline file “live” machine settings are read through EPICS Channel Access Model output is written back to the RDB Accessible to all programs, including Matlab A Matlab script is currently being used to compare the XAL design model output with the MAD design output. Inconsistencies are being removed (debugging) June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Start to End Simulations provide a software script to transfer the multiparticle results from one code to the next use the Standard Machine Format description of the accelerator developed for the XAL online model and the database logging tools to supply the “live” machine settings to the input files for each of the simulation codes capture the simulated particle distributions at each of the monitor points of interest along the beamline, such as at profile monitor and wire scanner locations, as well as the undulator output. provide a tool for displaying the simulation results alongside the measured beam profiles analyze the execution time for complete and partial simulations of the machine evaluate whether the simulation can be displayed in real time alongside the measured machine data using an advanced computing farm. optimize the code to run on the superfast computers or, develop tools whereby snapshots of the machine settings can be easily saved at the time real beam data is recorded so that the snapshots can be used as input for the machine simulations for offline comparison with measured data. June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu Schedule for delivering Phase I Applications* Application Date Orbit Data Plots August 2008 Online Model available to Matlab in August 08 LEM January 2009 Profile Monitor November 08 Multiknob November 2008 Bumps December 2008 Wire Scan March 09 Emittance April 09 Beta Matching May 09 Correlation August 09 Orbit Correction January 2009 Klys Man May 09 Start-to-End Sim stalled, needs both physics and software resources * Subject to physicist priorities June 16-18, 2008 LCLS FAC Patrick Krejcik pkr@slac.stanford.edu