49
24. March 2006 SLAC Worksh op Control System Studio 1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

Embed Size (px)

Citation preview

Page 1: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 1

CSSControl System Studio

Report on the current state

Matthias Clausen

DESY

Page 2: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 2

Today’s CSS Presentstion

• How CSS started

• What we wanted to do (slides from ICALEPCS presentation)

• What we have achieved

• Next steps

Page 3: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 3

Short History

• The Control System Studio initiative started in May 2005 during the EPICS workshop at SLAC– At this time it was still called ‘EPICS-Office’– The basic ideas are still the same but the focus has been

changed from EPICS centric to Control System openness.

– During ICALEPCS’05 in Geneva the name changed from EPICS Office to Control System Studio.

– The current developments are driven mainly by DESY• Specifying fundamental interfaces (control system data API)• Specifying and testing mandatory interfaces (naming/

logging…)

Page 4: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 4

What is the Control System Studio?

• It is (is going to be) an environment / framework which enables you to create your control system applications.

• It will provide interfaces to:– Control System Data– Control System Name Services– Control System Logging Services– Application Logging Services– Application Management Services– … more

• It will provide a generic infrastructure to built pluggable, component based applications:– High level applications (XAL)– User/ operator applications

Page 5: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 5

CSS (initial)Motivation

• The new EPICS Version will provide new features that must be supported also by the applications

• The existing applications (mainly written in X-Window) run (nearly) only on Unix machines.

• There are only a few programmers (left) that know how to program X-Window/ Motif

• The existing applications are similar to the first set of Microsoft applications. They do not share a common look and feel.

Page 6: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 6

Good reasons to think of a new application suite

• The new EPICS version 4.0 will provide several new features in the IOC and in Channel Access. These will only be available if the clients applications get modified/ rewritten accordingly.

• The ‚individual‘ look and feel of the existing applications should be changed to a -> Common look and feel

• Data exchange by objects and not only by name• Compile once run ‚in most places‘• Common programming interfaces• Application style guidelines• Pluggable applications

Page 7: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 7

EPICS-V4 Status.. as of now(March 2006)

• Due to lack of manpower (and some ‘internals’) the current developments of EPICS-V4 have made only slow – but constant - progress over the last months.

• The design of the CSS-DataAccess API is contracted by DESY to Cosylab.– The ongoing work is coordinated with the V4 core team.

This way we can make sure that the new API will be conformant with the current EPICS-V4 design

• Two contracts with industry to develop a Redundancy Monitor Task and for the Redundancy Continuous Control Executive are under way. First implementations – independent from Epics-V4 due in May’06

Page 8: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 8

The selected Environment

Language:

• Java

Development environment (IDE):

• Eclipse

Proposed Rich Client Platform (RCP):

• Eclipse

Page 9: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 9

Control System StudioFramework

My Application

EPICSV4

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Page 10: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 10

Control System StudioFramework

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Page 11: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 11

Control System Studio Framework

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Page 12: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 12

Control System Studio Framework

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Page 13: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 13

CSS – FrameworkAdding Graphics

(initial design)

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

Page 14: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 14

CSS Interfaces• Control System

– Data Access– Name Services– Logging Services– Archive Data

• Utility– Application Logging Services– Application Management Services

• Trigger Updates, Monitor running CSO Instances, Stop CSS Instance– Record/ Playback– Relational Database

• Graphic– Graphic Service– Widgets

• Application/ Application– Drag/ Drop

Page 15: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 15

My Application

CSS – Frameworkin Eclipse (as an RCP)

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

Menu Help

Page 16: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 16

CSS – FrameworkWriting Plugins

• The learning curve for Eclipse plugins is steep• Developers which want to write CSS applications

must be familiar with the Ecipse plugin ideas• Help is needed to increase acceptance

-> CSS plugin wizard– Write applications

– Write Control System Interfaces

– Write Graphic Plugins (widgets)

Page 17: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 17

CSS – FrameworkWriting Plugins

Menu Help

My EMPTY Application

CSOWizard Application/

Application

Page 18: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 18

Eclipse Acceptance

• Widely accepted by industryLast companies to join the Eclipse foundation: Nokia, Compuware

• Accepted in the EPICS community• Accepted at DESY

Available through Netinstall at DESY• Common interest with TANGO developers and

others• Eclipse workshop held before ICALEPCS started

successfully with 28 participants

Page 19: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 19

Eclipse Workshop

Page 20: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 20

Existing Frameworks

Presentations during the Eclipse Workshop:• Eclipse based archive Viewer by Sergei Chevtsov• Gumtree by Tony Lam

– Can be called the predecessor of the CSS Framework

– CSS developers want to stay in close contact with Tony

Page 21: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 21

GumTree Platform© Tony Lam

Best Open Source RCP Applicatio

n

Congratulation to Tony

For the

Eclipse Award !!!

Page 22: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 22

Upgrade Plan

• How to upgrade from EPICS V3 to V4?

• What will happen with all the synoptic displays created on the EPICS sites?

=> Most of the displays are configured using the existing display tools.The configuration files can be converted into the new format and reused.

Page 23: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 23

Upgrade Procedure

Generic Applications

and Configuration-

FileConverters

IOC Core and

Database-File Converters

EPICS-V3 EPICS-V4

Converter

DB DB

pluggableCSO

components

pluggablerecordsdrivers

(devices)

Page 24: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 24

Where are we now?

• In order to make the right/ reasonable decisions for the future we are not focusing on writing applications.

• Writing so called ‘Spikes’ we can test certain functionalities to find out what works, how – and why?

Page 25: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 25

Current CSS StatusInternal Interfaces (I)

CSS Drag and Drop

• Drag an object (with it’s data) from one CSS view (application) into another view (application).From the synoptic display (stripchart) into the data analysis tool.

The proof of principle has been shown in a ‘spike’.

Page 26: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 26

My Application

EPICSV4

My Application

TANGOEPICS

V3LoggingArchiveName

RecordPlayback

Logging

Manage

MenuHelp

Current CSS StatusInternal Functions (I)

My Application

EPICSV4

My Application

TANGOEPICS

V3LoggingArchiveName

RecordPlayback

Logging

Manage

Histogram

Graphic Service (GEF)

TexUpdate

Meter

MenuHelp

Drag and drop

Page 27: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 27

Current CSS StatusControl System Interfaces (I)

CSS Data Access API:• Phase-I

– Collecting requirements – finished

• Phase-II– Writing Specification – in progress

CSS Data Access Introspection interface and CSS Naming Service

• Collecting ideas/requirements for LDAP implementation

Page 28: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 28

My Application

CSS – FrameworkInterface Specification: Data Access

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

Menu Help

Page 29: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 29

My Application

CSS – FrameworkInterface Specification: Data Access

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

Menu Help

Page 30: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 30

Current CSS StatusControl System Interfaces (II)

CSS Message Interface(s)• Collecting Messages

– Java Message Service is the specification/ OpenJMS is the implementation we use

– Forwarding messages through filters to:• SMS Server √• Oracle database• Files

• Receiving (online) Messages– Hooking up to an OpenJMS Message Queue.

Throttling the data flow hrough Message Filters• Reading (offline) Messages

– Query to Oracle database– Reading files

Page 31: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 31

My Application

CSS – FrameworkInterface Specification: Logging

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

Menu Help

Page 32: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 32

The Message Systembuilt on OpenJMS

Page 33: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 33

Current CSS StatusControl System Interfaces (II)

CSS Archive Interface• Based on Sergei’s interface of the Java Archive

Viewer• Must be compatiple with DESY’s Archive API

(AAPI)

Page 34: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 34

My Application

CSS – FrameworkInterface Specification: Archive

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

Menu Help

Page 35: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 35

Current CSS StatusUtility Interfaces (I)

CSS Message Interface (in applications) å Generating and sending (log) messages from

applications– First implementation in Eclipse-RCP plugin available– Output can be configures to write to:

• Eclipse console• File• OpenJMS server

Page 36: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 36

My Application

CSS – FrameworkInterface Specification: Data Access

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

Menu Help

Page 37: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 37

The EPICS Alarm Message Scheme

IOC push(any)

monitor(selected)

messagequeue

filter

RDBfilter

alarm viewer

filter

actions

alhcfg

log

display

actions

user-modesystem-mode

Page 38: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 38

Current CSS StatusUtility Interfaces (II)

CSS Management Interface• Management of multiple instances of running CSS applications

– CSS applications by default cannot use the update mechanism• Make sure that the CSS instance is running a well tested version ( Eclipse-version;

plugin versions)– CSS updates can be triggered by the (remote) CSS manager

• Allowing updates only during maintenance days

– Sending stack traces to management console– Remote help for local operator (the collaboratory approach)

• Instant messaging• Synchronizing individual Eclipse views via vnc

Eclipse Communication Framework (ECF) is a hot candidate

Unsolved: Authentication/ Authorization

Page 39: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 39

My Application

CSS – FrameworkInterface Specification: Utility

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

Menu Help

Page 40: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 40

Current CSS StatusUtility Interfaces (III)

CSS Record/ Playback Interface• Recording and Playback of operator actions

– Recording all the actions necessary to stat a machine– Recording the tuning of the machine– Record and playback for operator training

Eclipse Test and Performance Tools Platform (TPTP) is a hot candidate

• TPTP recording can also be used to test the graphical applications (JUnit does not work here)

Unsolved: running RCP mode (not only IDE)

Page 41: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 41

My Application

CSS – FrameworkInterface Specification: Utility

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

Menu Help

Page 42: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 42

New Requirements

• Built in documentation & help √

• International Language Support

• Writing CSS properties in XML √

• Providing JUnit Tests for each plugin √

• Preparing Ant scripts for nightly builds

Page 43: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 43

Lessons learned

• Do not mix Eclipse 3.1 with 3.2-M5

• Make sure you have a ‘clean’ workbench

• Take care of dependencies with other packages

• …

Page 44: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 44

Open Questions

• Which implementation will be used for graphic displays?

• SWT• JFace• Draw2d• GEF

• -> Tendency: SWTChecking out: How is GEF/ draw2d implemented

Page 45: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 45

New Answersfrom EclipseCon

• BIRT is THE reporting tool– Alarm-Histrory– IOC Configuration

• It’s easy to run Eclipse PCP (Poor Client Platform) -> headless Eclipse– Writing all of you applications as plugins

Run in RCP or PCP mode!– Example: Message filters

Page 46: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 46

The Message Systembuilt on OpenJMS

Page 47: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 47

Next Steps

• Finish Control System Data Access API before June

• Writing ‘Spikes’ for the graphical user interface– In SWT– In draw2d

• Finish specification of remaining interfaces in second quarter 2006

• First straw man applications middle of 2006?June 2006?

Page 48: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 48

CSS on the Web

Control System Studiohttp://css.desy.de

[email protected]

Software Lifecycle Management (Codebeamer):http://elogbook.desy.de:8081/cb

Sources available in cvs repository at DESY(You’ll need a DESY account)

EPICS Version 4 Wiki Pagehttp://www.aps.anl.gov/epics/wiki/index.php/Core_Developer_Pages

Page 49: 24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY

24. March 2006 SLAC Workshop

Control System Studio 49

The development environment forCSO developments

Eclipse

cvs(in the future:Subversion)

CodeBeamerCB

plugin

remote

ssh