This page includes resources and the initial work on the requirements and basic architecture of the GUI based scientific software applications used in operation and optimization of the LCLS.

Meetings.

10-Mar-2008: Requirements of Beam Profile and Emittance.
11-Mar-2008: meeting 2008-03-11 Requirements for Wire Scanners and Profile Monitors
26-June-2008: meeting 2008-06-26 Requirements for Beta Matching
26-June-2008: meeting 2008-06-26 Requirements for Bumps
09-March-2009: meeting 2009-03-09 Multiknobs Req & GUI Review
09-March-2009: meeting 2009-03-09 Model Manager GUI Review
26-March-2009: meeting 2009-03-26 Multiknobs Conceptual Design Review

Standard Technologies

The nominal technology tools employed by the Applications Software development group, is the following. These are agreed and standardized to maintain interoperability between applications, help to schedule global upgrades, and keep focus on engineering for science.

Languages

Java primary development language
version 1.5 unless other wise stated.
Constraints:
1) at least java 1.4 is required in all VMs in which Aida is also used due to requirement for -Xbootstrap VM argument.
2) JCA? Java Properties (Paul)?

Frameworks

Java Swing, and where appropriate in the context of the XAL application package. Swing is a Model-View-Controller (MVC) based framework.

CSS
version ??
Constraints: any?
Planning:
Usage Notes: For development and production usage, we will use a JAR file instance of CSS. If source is required on development we will connect to the CSS repository.
Also see Java Channel Access below.
The SEAL Application Framework is based on a combination of Control System Studio (CSS) and other Eclipse code we develop.

Channel Access

JCA
We are using the JCA implementation of Java CA, rather than the CAJ implementation.
Constraints: JCA uses the C implementation of CA, and Jeff Hill's definition of the CA protocol is the C client definition. Therefore, as long as CA is defined by the C client, we shall use it.
Planning: If and when CAJ is determined to be a recognized implementation of CA, we may switch to it.
Usage Notes: Within SEAL, we shall use the "Kay wrapper" (because Kay's wrapper provides caching for PVs used by >1 client in the same vm).

labCa is used to access CA from matlab.

Matlab.

version >r14 SP2.
Constaints: version must be >R14 SP2 due to Aida dependence on Java CORBA). That is v>7.0.4 on Solaris & Linux.
Planning:
Usage Notes: matlab started on lcls production systems will use labCa

Relational Database

Oracle
version >10.0.2.
Constraints: Use of the RDB supported by SLAC SCCS.

jdbc Oracle thin client.
version ???

Application Server

OC4J
version ???

Portal Software

APEX
Location: https://oraweb.slac.stanford.edu/apex/

Version Control

CVS

LCLS
repositories: /afs/slac/g/lcls/cvs
/nfs/ ???
PEPII

Other approved tools

CORBA (Orbacus 4.2.2). Unix /afs/slac.stanford.edu/package/iona/orbacus, Javascript, python, XML (1.1)

  • No labels