CSS Developments at BNL / NSLS-II Gabriele Carcassi Feb 18 2010.

Slides:



Advertisements
Similar presentations
V4 Status and Workshop Report CSS, DISCS, an V4 team.
Advertisements

ChannelFinder Directory Service Ralph Lange EPICS Fall Collaboration Meeting, October 2010 BNL.
1 BROOKHAVEN SCIENCE ASSOCIATES EPICS V4 Support to Physics Application, Data Acquisition, and Data Analysis L. Dalesio, Gabriele Carcassi, Martin Richard.
Control System Studio (CSS) Data Access Layer (DAL) Kay Kasemir, Xihui Chen July 2009.
EPICS Base R and beyond Andrew Johnson Computer Scientist, AES Controls Group.
Channel Finder Kunal Shroff Ralph Lange. pvManager Graphene IOC CA client (JCA/CAJ) CSS Core Olog Integration Olog … … DataBrowser BOY IOC… pvA client.
CSS: where do we want to go? Gabriele Carcassi Contributions from: Gabriele Carcassi, Kunal Shroff – BNL Jan Hatje – DESY Kay Kasemir – ORNL.
AccelUtils Gabriele Carcassi, Kunal Shroff – BNL Eric Berryman, Robert Gaul – MSU Ralph Lange – HZB.
ChannelFinder Directory Service Ralph Lange EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence.
PvData,pvAccess,javaIOC,pvService Status EPICS Meeting Aix-en-Provence, France Marty Kraimer, Guobao Shen, and Matej Sekoranja.
Matthias Clausen, DESY CSS GSI Feb. 2009: Introduction XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control System.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
–Streamline / organize Improve readability of code Decrease code volume/line count Simplify mechanisms Improve maintainability & clarity Decrease development.
Control System Studio (CSS)‏ Kunal Shroff EPICS Training Meeting 07/10/2010.
12-CRS-0106 REVISED 8 FEB 2013 EPICS Collaboration Meeting 2013 CSS An integrated development and runtime environment for ITER plant system local controls.
Workshop Report Berryman - Carcassi - Kasmir - Shroff.
Tools Strategy for BNL and MSU Gabriele Carcassi - BNL Eric Berryman - MSU.
Developments in CS-Studio, Pvmanager and Graphene Gabriele Carcassi.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS 2012, April at SLAC Control System Studio - Introduction.
ATLAS Off-Grid sites (Tier-3) monitoring A. Petrosyan on behalf of the ATLAS collaboration GRID’2012, , JINR, Dubna.
ChannelFinder Client Kunal Shroff EPICS Spring Collaboration Meeting, October 2010 BNL.
Tools and Services at NSLSII Kunal Shroff, Tasha Summers, Smith Reid, Gabriele Carcassi, Michael Davidsaver (NSLSII) Ralph Lange (ITER) Samuel Dallstream.
Computer and Automation Research Institute Hungarian Academy of Sciences Presentation and Analysis of Grid Performance Data Norbert Podhorszki and Peter.
1 BROOKHAVEN SCIENCE ASSOCIATES NSLSII Physics Applications – Applying V4 The Control Group – presented by Bob Dalesio Taiwan EPICS Meeting, June 2011.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Control System Studio (CSS) Overview Kay Kasemir, July 2009.
PVManager Gabriele Carcassi Feb PVManager goals  Simplify data collection and aggregation  Simplify (UI) development  Re-use code as much.
MASAR Service Guobao Shen Photon Sciences Department Brookhaven National Laboratory EPICS Collaboration Workshop Oct 05, 2013.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
MASAR Server & Application Guobao Shen Photon Sciences Department Brookhaven National Laboratory Collaboration Working Group Oct 02, 2013.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS Jan Control System Studio, CSS Overview.
CSS – Control System Studio
XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser Matthias Clausen, DESY XFEL Refrigerator Controls – April CSS Introduction 2 nd.
Mir Farooq Ali Computer Science, Virginia Tech May 9, 2003 Building Multi-platform User Interfaces using UIML.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS 2011, October at CEA Saclay, France Control System Studio.
Matthias Clausen, DESY CSS GSI Feb. 2009: Synoptic Display Studio and ArchiveBrowser XFEL The European X-Ray Laser Project X-Ray Free-Electron.
1 BROOKHAVEN SCIENCE ASSOCIATES Control System Overview Bob Dalesio, Control Group HLA Review for NSLS-II Project April
Managed by UT-Battelle for the Department of Energy CSS Update Matthias Clausen, Helge Rickens, Jan Hatje and DESY Delphy Armstrong, Xihui Chen,
EPICS EPICS Limitations Bob Dalesio Marty Kraimer.
Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi.
Data Types written by Gabriele Carcassi performed by Bob Dalesio based on ideas/requirements from Bob Dalesio, Kay Kasemir, Ralph Lange, James Roland,
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS 2012, January 9-12 at NSRRC, Taiwan Control System Studio Training.
Diirt status data integration in real time Gabriele Carcassi.
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS April 2013 Control System Studio, CSS Overview.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
BROOKHAVEN SCIENCE ASSOCIATES Enhanced Directory Service Ralph Lange EPICS Collaboration Meeting October 11, 2009.
This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC , the State of Michigan.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS 2012, January 9-12 at NSRRC, Taiwan Control System Studio Training.
Client Data Types Gabriele Carcassi Oct Scope and requirements  Define client side data structures to represent data for control systems and.
PAPI on Blue Gene L Using network performance counters to layout tasks for improved performance.
© 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ.
Core Java Client Technologies Gabriele Carcassi - BNL.
MND review. Main directions of work  Development and support of the Experiment Dashboard Applications - Data management monitoring - Job processing monitoring.
ATLAS Off-Grid sites (Tier-3) monitoring A. Petrosyan on behalf of the ATLAS collaboration GRID’2012, , JINR, Dubna.
ChannelFinder & CSS Kunal Shroff EPICS Fall Collaboration Meeting, October 2011 PSI.
1 BROOKHAVEN SCIENCE ASSOCIATES EPICS Version 4 – Normative V4 Team – presented by Bob Dalesio EPICS Meeting October 7, 2011.
Introduction to Control System Studio (CSS) Kay Kasemir, Kunal Shroff EPICS Fall Collaboration Meeting, October 2011 PSI.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
TECHNICAL ASSISTANCE FOR THE CONVERSION OF RBPAPs INTO RBMPs DATA MANAGEMENT INCEPTION WORKSHOP ESTAMBUL February Eusebio CRUZ GARCÍA.
Channel Finder operational experience at BNL
AccelUtils Gabriele Carcassi, Kunal Shroff – BNL
Google Web Toolkit Tutorial
Open Source distributed document DB for an enterprise
ChannelFinder Directory Service
JDK 1.6 change summary D. MANIKANDAN.
Control System Studio (CSS)
Presentation transcript:

CSS Developments at BNL / NSLS-II Gabriele Carcassi Feb

Main goals for CSS at BNL  Use what’s there NSLS-II distribution includes Data browser, Probe, pvTable, pvTree, BOY  Help improve what’s there  Add plug-ins intended for physics applications

Improve  Mainly on infrastructure (decrease the barrier to the entry)  SourceForge hosting (see Kay’s talk)  Repository structure (see Kunal’s talk)  Build system (see Kunal’s talk) Headless build - from command line, no interaction Continuous build based on Hudson Update site on SourceForge  Feedback on BOY – Ralph’s big laundry list (see Kay’s talk?)

Add  Main goal is to create tools for high level physics applications. Waterfall plots Waveforms Orbits  First need to develop some common “infrastructure”

ChannelFinder  We need to work with channels sets and metadata Find all channels that represent BPMs on the ring, and order them by position Need to store and retrieve this information from a service The service needs to be populated from different sources (e.g. IRMIS, naming conventions, manual entry…)  ChannelFinder service allows to store channels together with properties (key/value pairs) and tags (see Ralph’s talk) Service by Ralph, Java API by Kunal

PVManager  Need to collect data from different source and computing the data that needs to be displayed.  This is what the PVManager tries to address…  … plus many other things UI development requires

So you want to write a UI… channel.addListener(new Listener() { public void doSomething(Event evt) { myWidget.setFoo(evt.getWhatever()); }

So you want to write a UI… channel.addListener(new Listener() { public void doSomething(Event evt) { Toolkit.execute(new Runnable() { myWidget.setFoo(evt.getWhatever()); }

So you want to write a UI… channel.addListener(new Listener() { public void doSomething(Event evt) { Toolkit.execute(new Runnable() { synchronized(evt) { myWidget.setFoo(evt.getWhatever()); }

So you want to write a UI… channel.addListener(new Listener() { public void doSomething(Event evt) { Toolkit.execute(new Runnable() { synchronized(evt) { myCopy = copy(evt.getWhatever()); myWidget.setFoo(myCopy); }

Wish I could simply write pv = PVManager.read( arrayOf(doublePvs(pvNames))).atHz(scanRate); pv.addPVValueChangeListener(new PVValueChangeListener() { public void pvValueChanged() { myWidget.setFoo( pv.getValue().getMoo()); } } );

UI subsystem requirements  Single threaded  Notification must be done on event thread  Data objects must be changed on the event thread only (avoid inconsistencies and simplify responding to events)  Work must be offloaded to other threads as much as possible (to prevent unresponsiveness)  Refresh rate up to 50Hz (faster is useless and counter productive)

Channel Access  Multi threaded  Notification done on connection threads  Data objects changed on connection threads  Rate is not limited: aggregated can be KHz

Collect, aggregate and notify  Need to collect the data at the line rate  Collector could be a queue, a cache, a timed cache  Aggregate the data at the UI rate, and notify on UI thread NotifierCollectorMonitor

Transform and calculate  While we are on other thread, we compose and calculate what we need (single array for a table, FFT of a waveform, statistics, prepare synch’ed arrays, …) NotifierCollectorMonitor Cache PV Function

UI or not UI  Everything you can do in the UI you should be able to do at the command line  PVManager can work without a UI (notification is simply done on the timer thread) Command line clients Logging/archiving Republish the data through PVData/PVAccess  PVManager is a standalone library pvmanager.sourceforge.net

3 APIs for the price of one  Expression API: define what you want to read Internal DSL (Doman Specific Language), typesafe  Building blocks API: perform computation API based on interfaces, you can add you pieces though the goal is to have most of them already there  Data interfaces: where to put the data Decoupled from the other two. Needed so that the client can focus more on what he needs and can work with both EPICS V3 and EPICS V.

Status  Channel finder: 1.0 release before end of August Service and client API implement. Missing error handling.  PVManager: 1.0 release before end of August Prototyping of the API is done. It can support: - Different sources of data, different UI toolkits (Swing, SWT, no UI), different data types (primitive wrappers, collections, POJOs and JCA), pluggable functions, different collectors (queue, cache, timed cache) simulated channels updating at 10Hz, collected in a table at 5Hz, each line showing the statistics of the samples collected TODO: data type definitions and cleanup  First prototypes of widget by the end of the year.