Upload
derek-goodman
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
24. March 2006 SLAC Workshop
Control System Studio 1
CSSControl 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
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…)
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
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.
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
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
24. March 2006 SLAC Workshop
Control System Studio 8
The selected Environment
Language:
• Java
Development environment (IDE):
• Eclipse
Proposed Rich Client Platform (RCP):
• Eclipse
24. March 2006 SLAC Workshop
Control System Studio 9
Control System StudioFramework
My Application
EPICSV4
TANGOEPICS
V3Control System
InterfacesLogging ArchiveName
RecordPlayback
Logging
Manage
UtilityInterfaces
24. March 2006 SLAC Workshop
Control System Studio 10
Control System StudioFramework
EPICSV4
My Application
TANGOEPICS
V3Control System
InterfacesLogging ArchiveName
RecordPlayback
Logging
Manage
UtilityInterfaces
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
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
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
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
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
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)
24. March 2006 SLAC Workshop
Control System Studio 17
CSS – FrameworkWriting Plugins
Menu Help
My EMPTY Application
CSOWizard Application/
Application
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
24. March 2006 SLAC Workshop
Control System Studio 19
Eclipse Workshop
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
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 !!!
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.
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)
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?
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’.
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
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
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
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
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
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
24. March 2006 SLAC Workshop
Control System Studio 32
The Message Systembuilt on OpenJMS
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)
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
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
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
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
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
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
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)
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
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
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
• …
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
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
24. March 2006 SLAC Workshop
Control System Studio 46
The Message Systembuilt on OpenJMS
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?
24. March 2006 SLAC Workshop
Control System Studio 48
CSS on the Web
Control System Studiohttp://css.desy.de
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
24. March 2006 SLAC Workshop
Control System Studio 49
The development environment forCSO developments
Eclipse
cvs(in the future:Subversion)
CodeBeamerCB
plugin
remote
ssh