250 likes | 453 Views
LSA Overview. 06/11/2007 Grzegorz Kruk on behalf of the LSA Team. Agenda. LSA scope Key concepts Architecture Recent developments. 06/11/2007. LSA @ LHCCWG – Grzegorz Kruk. Agenda. LSA scope Key concepts Architecture Recent developments. 06/11/2007. LSA @ LHCCWG – Grzegorz Kruk.
E N D
LSA Overview 06/11/2007 Grzegorz Kruk on behalf of the LSA Team
Agenda LSA scope Key concepts Architecture Recent developments 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Agenda LSA scope Key concepts Architecture Recent developments 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
What is covered by LSA? Optics Information about all devices Machine layout Twiss parameters .. Settings generation Generation of initial settings based on optics Settings management & trim Management of values for all parameters Coherent modifications History of changes and rollback Hardware exploitation Equipment control Sending settings to the hardware Equipment & beam measurements Equipment monitoring Data concentrators e.g. BLM, BPM 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
What is NOT covered by LSA? Logging Fixed displays Alarms Software Interlocks OASIS 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Agenda LSA scope Key concepts Architecture Recent developments 06/11/2007 LHC Software Architecture – ICALEPCS 2007 – Grzegorz Kruk
Parameter LSA parameter is Settable or measurable entity on a device (real or virtual) e.g. LHCBEAM/QPH, MPLH.41994/K, MPLH4199/IREF, FESA fields (properties) LSS4_EXT_BUMP/KNOB • Parameters are organized in hierarchies • Each hierarchy describes relations between parameters • Change of a parameter affects all its dependant parameters • Roots usually physics parameters • e.g. momentum, tune, chromaticity,… • Leaves hardware parameters • e.g. reference current on power converters MPLH.419994/K MPSH.42198/K MPLH.419994/I MPSH.42198/I MPSH4219/IREF MPLH4199/IREF 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
LHC Parameters Space 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Context • LSA Super Cycle • Defines a series of cycles used to produce beams for known clients • Can be played repeatedly in a cycling machine • LSA Cycle • Defines a lifespan of a beam (from injection to extraction) including beam out part • It corresponds to a timing user e.g. CNGS_PDOT SPS.USER.CNGS1 • LSA Beam Process • Defines a specific process (injection, ramp, extraction...) in the super cycle for a given accelerator or transfer line (LHC Ring, SPS Ring, TT10,...) 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Context 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Setting Target Parameter Setting Correction Context • Value of a parameter for a given context (beam process) • It consists of target value and correction value • Value of the setting is always a sum of target and correction • Value = Target + Correction • Settings of all parameters are kept in the database • Only settings of hardware parameters are sent to the equipment 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Agenda • LSA scope • Key concepts • Architecture • Recent developments 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Architecture - 3-tier approach Client tier GUI Applications Server tier Business Logic Hardware Database • We wanted to deploy the system in 3 physical layers due to: • Central access to the database and to the hardware • Central security • Caching • Reduced network traffic • Reduced load on client consoles • Scalability • Ease of web development • With a minimal cost of 3-tier architectures • Complexity of programming • Testing & debugging • Deployment 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Spring Framework • Open source Java enterprise application framework • Labeled as lightweight container • Alternative to Enterprise Java Beans (EJB) • All standard services provided • Components orchestration, transactions, remoting, security, … • Seamless deployment in 2- and 3-tier mode • Integration with many 3rd party products • Very little effort to maintain the infrastructure 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Client Tier Applications JAPC API LSA Client API JAPC CMW/RDA JAPC Remote Client - JMS Spring HTTP Remoting / Proxies JMS HTTP HTTP Business Tier (Web Container) JAPC Remote Server - JMS LSA Client API LSA Client implementation CORBA IIOP Parameters Concentration LSA CORE (Optics,Settings Management, Trim, Generation, Exploitation) JAPC Data Access Object (DAO) JAPC CMW/RDA Spring JDBC CORBA/IIOP JDBC Devices Datastore 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Architecture principles • Modular • with a clear API • Layered • GUI applications • Business logic • Database and hardware access • Distributed • Client side • Applications • Server side • Business logic • Database and hardware access 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
lsa-app-selection Client tier Server tier lsa-client servlet servlet.jar lsa-exploitation japc-ext-remote accsoft-steering-service lsa-fidel lsa-generation lsa-trim lsa-exploitation-domain japc-ext-cmwrda lsa-settings lsa-settings-domain japc lsa-optics cmw OB.jar OBNaming.jar OBUtil.jar rda.jar lsa-optics-domain lsa-dbaccess accsoft-security-rba ojdbc Core projects ojdbc14.jar orai18n.jar lsa-commons accsoft-commons-value Non core projects lsa-caching Apps projects Outside projects japc-value ehcache accsoft-commons-util External projects spring ehcache.jar commons-logging.jar commons-collection.jar spring.jar spring-mock.jar
Data model • The system is highly data-driven • Single model (database schema) for all machines • SPS, LEIR, LHC,… • Result of several iterations and fruitful collaboration with CO/DM section • Rationalized but nevertheless quite complex • ~170 tables 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Generic Applications Data model & business logic are common for all accelerators we can reuse applications SPS LHC 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Agenda • LSA scope • Key concepts • Architecture • Recent developments 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Data Concentrators BLM1 BLM2 BLM3 BLM4 BLM5 BLM6 BLM7 BLM8 BLM9 BLM10 BLM11 BLM99 BLM1 BLM2 BLM3 BLM4 BLM5 BLM6 BLM7 BLM8 BLM9 BLM10 BLM11 BLM99 BLM1 BLM2 BLM3 BLM4 BLM5 BLM6 BLM7 BLM8 BLM9 BLM10 BLM11 BLM99 BLM1 BLM1 BLM1 BLM1 BLM1 BLM2 BLM2 BLM2 BLM2 BLM2 BLM3 BLM3 BLM3 BLM3 BLM3 BLM4 BLM4 BLM4 BLM4 BLM4 BLM5 BLM5 BLM5 BLM5 BLM5 BLM6 BLM6 BLM6 BLM6 BLM6 BLM7 BLM7 BLM7 BLM7 BLM7 BLM8 BLM8 BLM8 BLM8 BLM8 BLM9 BLM9 BLM9 BLM9 BLM9 BLM10 BLM10 BLM10 BLM10 BLM10 BLM11 BLM11 BLM11 BLM11 BLM11 BLM99 BLM99 BLM99 BLM99 BLM99 Logging Fixed Displays Operator Console 1 Operator Console 2 Operator Console 3 Operator Console 4 Broadcasting Publication BLMs Concentration 4000 Beam Loss Monitors …
LHC Timing All LHC processes (e.g. injection, ramp,...) will be synchronized and triggered using timing events Sent by the LHC Timing System LSA provides service to manage these events Creation, modification Loading to and unloading from the Timing System LSA Other modules Timing module LHC Timing System 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Security • Role Based Access Control • Created in the frame of th LHC at FermiLab Software (LAFS) collaboration • Management of Machine Critical Settings (MCS) 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Methodical Accelerator Design (MAD-X) • Simulation and validation of settings changes before applying them to the hardware • Creation of KNOBS (e.g. bumps) • … 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk
Testing Currently we use unit testing (automated black-box testing) for business logic and Data Access Objects GUI applications are tested manually Logic operating on the database development DB Hardware access usually on a real hardware (or test FGCs) Goal setup a testing hardware environment which could be used for a systematic testing (before each release) Lab FGCs MUGEF (start to be used) – not necessary when MUGEF replaced by FESA BI would be interesting to have … 06/11/2007 LSA @ LHCCWG – Grzegorz Kruk