36
14. Oct. 2005 ICALEPCS Gen eva EPICS Office 1 EPICS Office An Initiative for a new Control System Office Framework Matthias Clausen DESY

14. Oct. 2005 ICALEPCS Geneva EPICS Office1 EPICS Office An Initiative for a new Control System Office Framework Matthias Clausen DESY

  • View
    218

  • Download
    2

Embed Size (px)

Citation preview

14. Oct. 2005 ICALEPCS Geneva

EPICS Office 1

EPICS OfficeAn Initiative for a new

Control System Office Framework

Matthias Clausen

DESY

14. Oct. 2005 ICALEPCS Geneva

EPICS Office 2

What is EPICS-Office

• It is NOT YADM

Yet Another Display Manager

• It is NOT YADCT

Yet 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 OfficeInitiative

Matthias 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:

• Java

Development environment (IDE):

• Eclipse

Proposed 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

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

14. Oct. 2005 ICALEPCS Geneva

Control System Office 11

Control System OfficeFramework

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

14. Oct. 2005 ICALEPCS Geneva

Control System Office 12

Control System OfficeFramework

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

14. Oct. 2005 ICALEPCS Geneva

Control System Office 13

CSO – FrameworkAdding Graphics

EPICSV4

My Application

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

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

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

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 Core and

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 Institutes 4 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

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

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

TANGOEPICS

V3Control System

InterfacesLogging ArchiveName

RecordPlayback

Logging

Manage

UtilityInterfaces

Histogram

Graphic Service (GEF)

TexUpdate

MeterGraphicWidgets

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 2004 at Argonne

14. Oct. 2005 ICALEPCS Geneva

Control System Office 35

The development environment for ALL EPICS-Office 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