Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
14. Oct. 2005 ICALEPCS Geneva
EPICS Office 1
EPICS OfficeAn Initiative for a new
Control System Office Framework
Matthias ClausenDESY
14. Oct. 2005 ICALEPCS Geneva
EPICS Office 2
What is EPICS-Office
• It is NOT YADMYet Another Display Manager
• It is NOT YADCTYet Another Database Creation Tool
• It is NOT an Application on it’s own
What is EPICS-OfficeWhat EPICS-Office is NOT
14. Oct. 2005 ICALEPCS Geneva
EPICS Office 3
What is EPICS-Office?
• It is an environment / framework which enables you to create your control system applications.
• It shall provide interfaces to:– Control System Data– Control System Name Services– Control System Logging Services– Application Logging Services– Application Management Services– … more
• It shall provide a generic infrastructure to built pluggable, component based applications:– High level applications (XAL)– User/ operator applications
14. Oct. 2005 ICALEPCS Geneva
Control System Office 4
The Control System OfficeInitiativeMatthias Clausen
DESY
14. Oct. 2005 ICALEPCS Geneva
Control System Office 5
CSO-OfficeMotivation
• 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.
14. Oct. 2005 ICALEPCS Geneva
Control System Office 6
EPICS 4.0 Goals• Provide online add/disable of I/O to support continuous operation.• Provide redundant control of remote I/O to support improved reliability.• Provide name introspection and domain control in support of seamless
integration of large control systems• Provide triggers, filters, and rate limits to improve resource use of network and
client side processing• Provide atomic read/write of multiple fields in a record• Remove limitations on string lengths, device states, number of input links to
support arbitrary sizes/dimension arrays.• Record Library to provide pluggable functionality• Provide hierarchical devices/ device functionality to support higher level view
of application in the front-end processors.• Alternate protocols• Write with read-back• Provide better channel access diagnostics
14. Oct. 2005 ICALEPCS Geneva
Control System Office 7
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
14. Oct. 2005 ICALEPCS Geneva
Control System Office 8
The selected Environment
Language:• JavaDevelopment environment (IDE):• EclipseProposed Rich Client Platform (RCP):• Eclipse
14. Oct. 2005 ICALEPCS Geneva
Control System Office 9
Control System OfficeFramework
My Application
EPICSV4 TANGOEPICS
V3Control System
InterfacesLogging ArchiveName
RecordPlayback
Logging
Manage
UtilityInterfaces
14. Oct. 2005 ICALEPCS Geneva
Control System Office 10
Control System OfficeFramework
EPICSV4
My Application
TANGOEPICSV3
Control System Interfaces
Logging ArchiveName
RecordPlayback
Logging
Manage
UtilityInterfaces
14. Oct. 2005 ICALEPCS Geneva
Control System Office 11
Control System OfficeFramework
EPICSV4
My Application
TANGOEPICSV3
Control System Interfaces
Logging ArchiveName
RecordPlayback
Logging
Manage
UtilityInterfaces
14. Oct. 2005 ICALEPCS Geneva
Control System Office 12
Control System OfficeFramework
EPICSV4
My Application
TANGOEPICSV3
Control System Interfaces
Logging ArchiveName
RecordPlayback
Logging
Manage
UtilityInterfaces
14. Oct. 2005 ICALEPCS Geneva
Control System Office 13
CSO – FrameworkAdding Graphics
EPICSV4
My Application
TANGOEPICSV3
Control System Interfaces
Logging ArchiveName
RecordPlayback
Logging
Manage
UtilityInterfaces
Histogram
Graphic Service (GEF)
TexUpdate MeterGraphic
Widgets
14. Oct. 2005 ICALEPCS Geneva
EPICS Office 14
CSO 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 CSO Instance– Record/ Playback– Relational Database
• Graphic– Graphic Service– Widgets
• Application/ Application– Drag/ Drop
14. Oct. 2005 ICALEPCS Geneva
Control System Office 15
My Application
CSO – Frameworkin Eclipse (as a RCP)
EPICSV4
My Application
TANGOEPICSV3
Control System Interfaces
Logging ArchiveName
RecordPlayback
Logging
Manage
UtilityInterfaces
Histogram
Graphic Service (GEF)
TexUpdate MeterGraphic
Widgets
Menu Help
14. Oct. 2005 ICALEPCS Geneva
Control System Office 16
CSO – FrameworkWriting Plugins
• The learning curve for Eclipse plugins is steep• Developers which want to write CSO applications
must be familiar with the Ecipse plugin ideas• Help is needed to increase acceptance
-> CSO plugin wizard– Write applications– Write Control System Interfaces– Write Graphic Plugins (widgets)
14. Oct. 2005 ICALEPCS Geneva
Control System Office 17
CSO – FrameworkWriting Plugins
Menu Help
My EMPTY Application
CSOWizard Application/
Application
14. Oct. 2005 ICALEPCS Geneva
Control System Office 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
14. Oct. 2005 ICALEPCS Geneva
Control System Office 19
Eclipse Workshop
14. Oct. 2005 ICALEPCS Geneva
Control System Office 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 CSO Framework
– CSO developers want to stay in close contact with Tony
14. Oct. 2005 ICALEPCS Geneva
Control System Office 21
GumTree Platform© Tony Lam
14. Oct. 2005 ICALEPCS Geneva
Control System Office 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.
14. Oct. 2005 ICALEPCS Geneva
Control System Office 23
Upgrade Procedure
Generic Applications
and Configuration-
FileConverters
IOC Coreand
Database-File Converters
EPICS-V3 EPICS-V4
Converter
DB DB
pluggableCSO
components
pluggablerecordsdrivers
(devices)
14. Oct. 2005 ICALEPCS Geneva
Control System Office 24
EPICS Collaboration
< 2003: 150 EPICS user Licenses
> 2003: open source
14. Oct. 2005 ICALEPCS Geneva
Control System Office 25
EPICS Collaboration:It’s the people
Collaboration Meeting Archamps 2005103 Participants
34 Institutes4 Companies
14. Oct. 2005 ICALEPCS Geneva
Control System Office 26
Current Status of theControl System Office
• Working on performance testsX-Window/ AWT / SWT…… to make sure that we are on the right track
• Working on requirements and use-cases for the CSO-Data Access API
14. Oct. 2005 ICALEPCS Geneva
Control System Office 27
My Application
CSO – FrameworkInterface Specification: Data Access
EPICSV4
My Application
TANGOEPICSV3Control System
InterfacesLogging ArchiveName
RecordPlayback
Logging
Manage
UtilityInterfaces
Histogram
Graphic Service (GEF)
TexUpdate MeterGraphic
Widgets
Menu Help
14. Oct. 2005 ICALEPCS Geneva
Control System Office 28
Current Status of theControl System Office
• Working on performance testsX-Window/ AWT / SWT…… to make sure that we are on the right track
• Working on requirements and use-cases for the CSO-Data Access APIHow we do this -> PO1.063-6
• Working on use cases for the Utility Interfaces– First results from drag and drop
14. Oct. 2005 ICALEPCS Geneva
Control System Office 29
My Application
CSO – FrameworkInterface Specification: Utility
EPICSV4
My Application
TANGOEPICSV3
Control System Interfaces
Logging ArchiveName
RecordPlayback
Logging
Manage
UtilityInterfaces
Histogram
Graphic Service (GEF)
TexUpdate MeterGraphic
Widgets
Menu Help
14. Oct. 2005 ICALEPCS Geneva
Control System Office 30
Drag and Drop Example
14. Oct. 2005 ICALEPCS Geneva
Control System Office 31
Architecture
Curves
Tables
EPICS-Gui
ServiceManager
IDataService DataServiceImpl
Drag and Drop
<< displays >>
<< displays >>
<< uses >>
<< uses >>
<< implements >>
Pluggable Components
14. Oct. 2005 ICALEPCS Geneva
Control System Office 32
Next Steps
• Finish Control System Data Access API by Christmas this year. (We might also have a look at JAPC from CERN)
• Finish specification of remaining interfaces in first quarter 2006
• First straw man applications middle of 2006
• Beta release of EPICS V4 and Control System Office applications by the end of 2006
14. Oct. 2005 ICALEPCS Geneva
Control System Office 33
Conclusions
• The EPICS collaboration is taking a major step forward by developing a new major EPICS release.
• The aim to be ready by end of 2006 also with a new Controls System Office Framework is getting momentum and will most likely be ready in parallel with the new core release.
• Collecting use cases and requirements is a challenging task, but is necessary for a solid foundation for this new framework.
14. Oct. 2005 ICALEPCS Geneva
Control System Office 34
EPICS on the Web
EPICS Homehttp://www.epics.org
EPICS Version 4 Wiki Pagehttp://www.aps.anl.gov/epics/wiki/index.php/Core_Developer
_Pages
Control System Officehttp://epics-office.desy.de
Next Collaboration Meeting:19th June 2006 at Argonne
14. Oct. 2005 ICALEPCS Geneva
Control System Office 35
The development environment forCSO developments
Eclipse
cvs(in the future:Subversion)
CodeBeamerCB
plugin
remote
ssh
14. Oct. 2005 ICALEPCS Geneva
Control System Office 36
Eclipse Plugin Architecture© Toni Lam
• Plug-in – set of contributions– Example: Python support in Eclipse,
including core logic and UI components
• Extension point - named entity for connecting contributions– Example: Debugging support
• Extension - a contribution– Example: Python debugging tool