a framework for portable high- level control applicationsxal extensible accelerator language...

17
eXtensible Accelerator Language XAL eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High- Level Control Applications Christopher K. Allen Los Alamos National Laboratory [email protected]

Upload: others

Post on 25-Apr-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

eXtensible Accelerator Language

XAL eXtensible Accelerator LibraryeXtreme Application Layer

A Framework for Portable High-Level Control Applications

Christopher K. AllenLos Alamos National Laboratory

[email protected]

Page 2: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 2/16

Developers

Tom Pelaia, ORNLPaul Chu, ORNLJohn Galambos, ORNLChris Allen, LANL

Igor Verstovsek, CosylabIgor Kriznar, CosylabAles Pucelj, CosylabGasper Pajor, CosylabMark Plesko, Cosylab

Page 3: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 3/16

Presentation Outline

1. Description

2. Example applications using XAL

3. Specifications

4. Status

5. Future Directions

Page 4: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 4/16

1. XAL Overview

High-Level Control Application FrameworkJava libraryHigh-level view of machine (device-oriented)Connection, modeling, and simulationControls toolbox

Born out of UAL (Unified Accel. Lib.) N. Malitsky et. al. at BNL

For more information see http://www.sns.gov/APGroup/appProg/xal

Page 5: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 5/16

1. XAL Features

Portable applicationsApplication written over XAL works on any machineRepresent arbitrary machines (configurable)Machine introspection

Global controlControl applications applied to machines at remote sites

“Matlab-like” environment for HLA developmentModeling and simulation on-lineControls “toolbox” for utilizing modern control theory

Page 6: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 6/16

2. Applications using XAL

2.1 Beam alignment Use Case

2.2 Scripting applications

2.3 Remote commissioning of SNS

Page 7: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 7/16

2.1 Use Case – Beam Alignment

XAL

Operator

Commissioner

«subclass»

Tools::Automation

Align beam__________

model dependent

*

1

*

1

model::Simulate particle_________________

machine designmachine liv e

«extends»model dependent

smf ::Connect to machine

«uses»

smf ::Represent machine

«uses»

Page 8: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 8/16

2.2 Scripting and XAL

MatLab% scan the first quad% monitor beam positions in the last MEBT BPM

for i =1:10fld(i) = field;

quad.setField(field);va_chan.putVal(1); % for virtual acceleratorpause(1); % for virtual acceleratorxpos(i) = bpm.getXAvg;ypos(i) = bpm.getYAvg;field = field * 1.015; % increment field value

end

% Plot resultsplot(fld, ypos)

Jython

# read the accelerator#acc_xml = "file:/home/jdg/xaldev/xal_xmls/sns.xml"acc_xml = "file:./sns.xml"acc = XmlDataSource.parseUrlAt(acc_xml, 0)

# get the some primary sequences from the accelerator

mebt = acc.getSequence("MEBT")dtl1 = acc.getSequence("DTL1")dtl2 = acc.getSequence("DTL2")

print " There are ", mebt.getAllNodes().size(), "nodes in the sequence", mebt.getId()

Page 9: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

2.3 Remote Commissioning of SNS Front End

Front End at LBNL

Test control room at ORNL

Remote testing of high level applications from ORNL on the Front End System at LBNL

Page 10: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 10/16

3. Specifications

3.1 XAL Framework Diagram

3.2 Data Graph Example

3.3 XAL System Diagram

3.4 XAL Component Diagram

Page 11: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 11/16

3.1 XAL Framework and Mechanisms

Machine Representationand Configuration

Machine Modelingand Simulation

High-LevelConnection Management

XAL

<<framework>>

High-Level Controls Toolbox

Page 12: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 12/16

3.2 XAL Machine Representation

The XAL Data Graph

SNS : smf ::Accelerator

SNS.IonSource.01 : smf ::AcceleratorSeq SNS.RFQ : smf ::AcceleratorSeq SNS.MEBT : smf ::AcceleratorSeq SNS.Ring : smf ::AcceleratorSeq

sector

parent

sector sectorsector

«ty pe»MEBT.BPM.01 : impl::BPMMEBT.QH.01 : impl::Quadrupole MEBT.DH.01 : impl::Dipole MEBT.QV.06 : impl::Quadrupole

parent

node nodenode node

Page 13: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 13/16

3.3 XAL System Diagram

«subsy stem»gov .sns.xal::model

«subsy stem»gov .sns.xal::smf

«f ramework»gov .sns.xal::tools

«import»connection

«f ramework»Channel Access::Abeans

«sy stem»Channel Access:: jca

«f ramework»gov.sns.xal

«f acade»sns.gov ::ca

ca::Channel

Page 14: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 14/16

3.4 XAL Component Diagram

«library»gov.sns.xal::xal.jar

«instantiate»

data graph generation

«library»ca::ca.jar

«use»machine connection

MachineDatabase

<<f ile>>machine_conf iguration.xml

«library»Abeans::Abeans

«library»jca:: jca.jar {<= EPICS v ersion 3.13}

Page 15: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 15/16

4. XAL Status

Machine representation completedMachined connection operationalModeling and simulation complete by 2003Control toolbox undeveloped

Currently used at SNS for commissioningXAL still a Version 1 productSurvived preliminary testingMachine connection still changing

Page 16: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting 16/16

5. Future Directions

Additions to the Toolbox

Accelerator high-level control is far behind the state of the art in control theory

•Auto pilots

•Guidance systems

•Spacecraft

•Cruise missile

Page 17: A Framework for Portable High- Level Control ApplicationsXAL eXtensible Accelerator Language eXtensible Accelerator Library eXtreme Application Layer A Framework for Portable High-Level

JLAB, November 2002EPICS Collaboration Meeting

5. Challenge?

Dynamic ProgrammingOptimal ControlH∞ ControlRobust ControlAdaptive Control

Modern Control Theory

Modern control techniques are over 50 years oldyet rarely seen in accelerator applications

Let’s put some in the toolbox!