30
This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC0000661. Michigan State University designs and establishes FRIB as a DOE Office of Science National User Facility in support of the mission of the Office of Nuclear Physics. Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB

Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC0000661.

Michigan State University designs and establishes FRIB as a DOE Office of Science National User Facility in support of the mission of the Office of Nuclear Physics.

Paul Chu / Vasu Vuppala

Work Beyond XAL at FRIB

Page 2: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Libraries built on top of XAL

XAL in the big (HLA) picture

Service-Oriented Architecture (SOA) • Data persistence

XAL utilities and tools

Prepare for future

Outline

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 2

Page 3: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Many modules can be reused if packaged properly • Should not be final GUI

applications but callable APIs

• Modules can be called in services

SLAC example

Libraries Built on Top of XAL

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 3

Page 4: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Hardware layer

Control system interface

Persistence layer

API layer – XAL, solver…

Application layer

Other modules, e.g. multi-particle tracking code

Components reusability • If properly architected

• Can last much longer

Integrated systems but can be deployed separately

High-Level Application Architecture

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 4

Page 5: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Arrange applications’ functions as services

Thin client suitable for mobile devices

Data persistence, e.g. RDB

Computing power

Service management

Reusability

Easy deployment

Beyond SOA • Services can live in Cloud

Service-Oriented Architecture

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 5

Page 6: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

A standard data persistence mechanism should be provided, or every institute has to come up with own database for XAL data

Standard data persistence can be accessed via Data API

(RESTful) Data Service can build on top of the Data API

Data Service can be a Cloud Computing Service

In relational database • Lattice schema

• Model schema

• Save/restore schema

• Physics data schema » Scan application data

» Experiment data

Data Persistence

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 6

Page 7: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Initial beam conditions as Model data

All element related attributes are in property/value pairs so they are general enough for all accelerators

XAL specific tables • RF Cavity table (containing RF

accelerating gaps) • Transit-Time Factor (TTF) table for RF

cavities

Lattice/Model Schema

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 7

Page 8: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

A standard Excel file with multiple tabs

All DB access via API (based on JPA)

Device Settings or optimized lattice with settings w/ physics names

Name mapping between the above 2

Consolidate to 1 master file (Super Spreadsheet)

FRIB Data Upload

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 8

Page 9: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Prototype RDB access with Java Persistence API (JPA) • New ORM Included in JDK 7

RDB connection info set in persistence.xml

Entity classes generated by NetBeans 7 IDE

Scripting in JYTHON for RDB access is easy

NetBeans has visual editor for Java GUI with JPA

RDB Access with Java Persistence API

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 9

import sys

from javax.annotation import Resource

from javax.persistence import EntityManager

from javax.persistence import EntityManagerFactory

from javax.persistence import PersistenceUnit

from javax.persistence import Persistence

from mydbtest import *

emf = Persistence.createEntityManagerFactory("fdbdevPU")

em = emf.createEntityManager()

userTransaction = em.getTransaction()

date = Date(112, 3, 3, 15, 10, 0)

newModel = Models()

#set comments

newModel.setComments("Test persistence")

# set date

newModel.setDateCreated(date)

try:

userTransaction.begin()

#enter data to DB

em.persist(newModel)

#commit change

userTransaction.commit()

except Exception, e:

print "Got an error" + str(e)

Page 10: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Database API and XAL API should be similar, if not identical

Security package

GUI widgets – use JavaFX?

Data plotting package

XAL Utilities and Tools

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 10

Page 11: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

XAL setup should be much easier • A standard spreadsheet template should be sufficient

• Database generated

• Spreadsheet data uploaded to DB

• XAL files generated from DB

Third party solver/optimizer as service

Third party modeling tools, e.g. FEL model, multi-particle tracking

Everything should be Web compatible

Prepare for Future [1]

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 11

Page 12: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Cloud Computing • Advantages

» No capital IT cost – pay per use

» Failure as a feature – recover seamlessly

» Expandability

• Services » Storage-as-a-service

» Database-as-a-service

» Information-as-a-service

» Process-as-a-service

» Application-as-a-service

» Platform-as-a-service

» Integration-as-a-service

» Security-as-a-service

» Management/governance-as-a-service

» Testing-as-a-service

» Infrastructure-as-a-service

Prepare for Future [2]

P. Chu / V. Vuppala, Dec 14, 2012 , Slide 12

“Cloud Computing and SOA

Convergence in Your Enterprise”

D. S. Linthicum

Page 13: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Requirements

Proteus: Configuration • Graphical User Interface • Application Programming Interface

» Matlab, Python, Java

Proteus: Naming System

Current Status

Integration

In Development

Controls Database Collaboration

V. Vuppala, FRIB Data Services , Slide 13

Page 14: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

# Database Description

1 Component Physical and logical information about the machine and

its component systems

2 Infrastructure Cables, IOCs, Racks, Rooms etc

3 Lattice Location, length, setting and/or signal records

4 Model Physics model

5 Logbook Logbook entries

6 State Save/restore state of FRIB segments

7 Alarm Set changes, set/read mismatches

8 Inventory Spare parts, stock items

CDB Requirements 1

V. Vuppala, 13 July 2011, Controls Review , Slide 14

Page 15: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

# Database Description

9 Physics Results from physics experiments

10 Traveler Production, test, design data

11 Maintenance Preventive maintenance data, failure analysis, lifetime

analysis

12 Operations Beam statistics, run hours, beam on target, shift

summary, downtime, bypass records

13 MPS Machine state dumps

14 FRIB

Requirements

Parameter list, system and component requirements

15 Interlocks Interlock hierarchy information [optional]

CDB Requirements 2

V. Vuppala, 13 July 2011, Controls Review , Slide 15

Page 16: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Application Architecture

, Slide 16 Vasu Vuppala

Application layer • Operator interfaces

• High-level applications

• Libraries

Service layer • Access to data

• Programming Interface

Data layer • Managed data

• Instrument data

• No direct access

Page 17: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

CDB Schema Domains

V. Vuppala, FRIB Data Services , Slide 17

Page 18: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Be Like EPICS for Data Services •Easy to Install •Easy to Configure •Extensible •Well-Defined Interfaces •Documentation •Training

Domain Goals

Collaboration Goals

V. Vuppala, FRIB Data Services , Slide 18

Page 19: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Logbook : In production at FRIB and BNL

eTraveler : In production at FRIB

Machine Configuration Tool: In production at FRIB

Save/Restore: In production at BNL

Model: Under development at FRIB and IHEP

Signals: Under development at FRIB and BNL

Physics Applications: Under development at FRIB

Authentication: Under development at FRIB

Status - Summary

V. Vuppala, FRIB Data Services , Slide 19

Page 20: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Brookhaven National Lab, Ney York, USA

Facility for Rare Isotope Beam, Michigan, USA

Institute for High Energy Physics, Beijing, China

Partners

V. Vuppala, FRIB Data Services , Slide 20

Page 21: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Proteus: Configuration • Graphical User Interface

• Programmatic Interface

Proteus: Naming System • Graphical User Interface

URL: http://controls.frib.msu.edu • Under “Applications” Menu

Demo

V. Vuppala, FRIB Data Services , Slide 21

Page 22: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

E-Traveler • Devices from Configuration Database (In Production)

E-Log • Logbook Entries for a Component (Under Development)

Valid Name • Naming System Checks for Validity and Already Assigned Names (Under

Development)

Online Model • Machine Configuration as Input to XAL (Under Development)

Integration

V. Vuppala, FRIB Data Services , Slide 22

Page 23: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Integration with Control System • Real-Time Signal Values

More Data • Properties, Alignment, Measurements, CAD Drawings, Location, Cables

• Etc.

EPICS V4 Interface • pvget, eget

Graphical Hierarchy

Comprehensive Search

GUI Improvements

Under Development

V. Vuppala, FRIB Data Services , Slide 23

Page 24: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Development Approach

Gaul, Vuppala 2 Apr 2012 , Slide 24

Module • Database

• Module Applications

• Module Services

• Module API

User Applications

Page 25: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Development Approach - Interfaces

Gaul, Vuppala 2 Apr 2012 , Slide 25

Service API

Language Binding API

Data API

Module API

Page 26: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Suggested Development Strategy

, Slide 26

1. Schema

2. LB API

3. Data API (optional)

4. LB API Switches to Data API

5. Service API

6. LB API Switches to Service API

Page 27: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Next Version of EPICS

Expands to Non Real Time Data

Pvget, Eget

Directory Service

Channel Finder

http://epics-pvdata.sourceforge.net/

EPICS V4

V. Vuppala, FRIB Data Services , Slide 27

Page 28: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

FRIB: • MySQL

• REST, EPICS V4

• Java » JPA, EJB, JAX-RS

• PHP, Python

• Mercurial, Git

BNL: • Python

» Django

• Java

• Mercurial, Git

Infrastructure • Sourceforge

• Google+

• Launchpad

Technologies & Infrastructure

V. Vuppala, FRIB Data Services , Slide 28

Page 29: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Differing Deadlines, Priorities, Technologies, Processes, Terminologies

Integration

Making it a Product • Generalization

• Packaging

• Documentation

Data Migration

Performance

User Interfaces

Not a Typical Project

Challenges

V. Vuppala, FRIB Data Services , Slide 29

Page 30: Work Beyond XAL at FRIB - SourceForgexaldev.sourceforge.net/meetings/2012/16_beyond_xal.pdf · Paul Chu / Vasu Vuppala Work Beyond XAL at FRIB Libraries built on top of XAL XAL in

Collaboration started in November 2011

Weekly Meeting

Quarterly Review

Goals, High-Level Requirements, Architecture Defined

Some applications in production, some in development, and some not initiated

Several challenges

Need more collaborators

Conclusion

V. Vuppala, FRIB Data Services , Slide 30