Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A programmer spends half their time handling errors, so making that as easy as possible is a productivity priority. For LCLS we will use the following technology stack:

Err package

...

Err (see http://www.slac.stanford.edu/grp/cd/soft/err/) makes the process of rigorously handling errors easy. It allows a programmer to define an error code in a structured, recorded global way; and to use that code to issue errors and associated diagnostics from or linux, solaris, windows platforms in either java or C/C++, and issue them directly to CMLOG (or some other message logger). It includes support for exception chaining ("caused-by") and exception translation, so the end user can see what systematic thing caused their functional problem (E.g. of a error logged by Err in cmlog might be "UnableToTrackBeamlineException: LCLS ; caused by FileNotFoundException: LCLS.XML when attempting to steer LCLS".

Cmlog. cmlog is a message logger that can be used for error messages. It includes components for receiving messages to log from programs running on the network (either in hosts or IOCs), logging those errors in a database, and a viewer for browsing the logged messges.

jcmlog. jcmlog is a sophisticated error log viewer for CMLOG developed at SLAC recently for LCLS. It is in general much faster and smother than the nominal CMLOG viewer from Jlab and includes facilities for handling the particular requirements of Err (above) such as horizontal scroll for long messages.

...

  1. XAL http://www.sns.gov/APGroup/appProg/xal/xal.htm
  2. XML entry in Wikipedia http://en.wikipedia.org/wiki/XML
  3. Anchor
    ref_latticefiles
    ref_latticefiles
    LCLS lattice files http://www-ssrl.slac.stanford.edu/lcls/linac/optics/
  4. JAMA http://math.nist.gov/javanumerics/jama/

To add to this document
Add gold lattice to optics flowchart diagram

Anchor
td_GW
td_GW
add
Add gold lattice to optics flowchart diagram