jan hatje, desy css presentation @ gsi feb. 2009: technology and interfaces xfel the european x-ray...

18
Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 1 XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser CSS – Control System Studio Technology and Interfaces CSS – Control System Studio Summary Presentation @ GSI February 11 th 2009 Matthias Clausen, Jan Hatje (DESY / MKS-2) Presented by: Jan Hatje

Upload: wesley-conley

Post on 19-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 1

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

CSS – Control System Studio

Technology and Interfaces

CSS – Control System StudioSummary Presentation @ GSI February 11th 2009

Matthias Clausen, Jan Hatje (DESY / MKS-2)Presented by: Jan Hatje

Page 2: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 2

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Overview

• Structure of CSS

• Eclipse technology

• Eclipse add-ons

• CSS Core features

• Data Access Layer (DAL)

• Archive Access Layer (AAL)

Page 3: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 3

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

CSS Design

Eclipse RuntimeOSGi (Equinox)

Java Virtual Machine

IDE with CSS applications CSS UI

CSS Core UI

Eclipse RCP UI

Eclipse IDE

CSS Headless

Eclipse RCP

CSS Core

CSS appl.CSS appl.CSS appl.

CSS appl.CSS appl.

UI CSS appl.

Page 4: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 4

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Components

OSGi

SDS

DALEPICS

TINE

Dat

aB

row

ser

TIN

E

Arc

hive

AP

IA

AP

IS

erve

r

XNDS Cha

nnel

arch

iver

Arc

hive

Rec

ord

AlarmTreeA

larm

Tab

le

LDAP - JM

S

LDA

P

TINE

Nam

espaceB

rowser

JMS

Custom

Applications

JMSServer

LDA

P

Server

TIN

E

arch

iver

IOC

Page 5: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 5

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Eclipse

• Written in Java → operation system independent• Based on Equinox an OSGi implementation • OSGi is an open standard organization ‘Open Services

Gateway initiative’• Plug-in technology• Using SWT/JFace for UI• Provides a Rich Client Platform (RCP) for general applications• Add new functionality by extension points• Many helpful features (Drag and Drop, Help System, Update

site, Language support, …)

Page 6: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 6

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Pros and cons

+ CSS is based on a widely used framework (Eclipse)+ Technically a CSS application is an Eclipse plugin+ Many levels of integration in CSS from

‘Wrap my Java Code in an Eclipse plugin and run it in CSS’ to‘Using all CSS features for my plugin’

+ Quick creation of new plugins+ Single JVM for all CSS applications / plugins

- The effort to get familiar with the Eclipse API is high- It is difficult to use AWT / SWING for Eclipse plugins

Page 7: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 7

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Eclipse Extension Points

• A plug-in can use extension points to add new functionality• An extension point is defined by a XML-file and usually a Java interface• Not necessary to change existing plug-ins

Eclipse RCP

CSS Core

New CSS Plug-in

Definition of an Extension Point

Extension Point with an implementation from other plug-ins

Page 8: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 8

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Eclipse Plug-in

An Eclipse plug-in is a set of definition- and java files

Java classes Strings in UI are hold in separated files for different languages

HTML files for help pages

File for OSGi bundle configuration

File for Eclipse related configuration (on top of OSGi bundle)

Settings for build process of the plug-in

Content structure of plug-in help files

Page 9: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 9

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Object Contribution, Drag and Drop

• Eclipse provides Object Contribution and Drag and Drop for data types

• Plug-ins define data types they can handle

• Eclipse manages context menu and drop targets depending on existing plug-ins

Context menu on right mouse click on a process variable

Menu “CSS” shows all applications applicable for process variable

Call applications and send selected process variable

Page 10: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 10

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Preferences

Eclipse provides a Preference Store for all plug-in preferences

Plug-in preferences

Product file preferences

User preferences

1) Define plug-in preferences

2) Create an initializer for default values (optional)

3) Create preference page (optional)

Preferences are ordered by topic and plug-in

Widgets for preference pages are available

• Several levels for preference definition• Easy to administer preference settings• Different preferences for different CSS installations by *.ini files

Page 11: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 11

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Views, Editors and Perspectives

View: basic UI part

Editor: connected to workspace resources

Detached view outside of CSS workbench

Workbench: Users can arrange views and editors

Perspective: Predefined and individual arrangements of views and editors

File types are connected to dedicated editors

Page 12: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 12

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Update Site

• Install additional features for CSS

• Update existing plug-ins

• Eclipse checks for dependencies of plug-ins

• Easy to create an update site for your own applications

• Update site can be located on web- or file server

• Remote update → next presentation

Page 13: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 13

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Help Center

Headless mode of Help Center. Accessible from any Browser

Help pages are plain HTML files

Help Center runs in web server ‘Jetty’ integrated in Eclipse

(http://krykxmpp:8099/help/index.jsp)

Global structure for help content of all plug-ins. Definition via XML

Page 14: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 14

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

CSS Core

• Data types for control systems (e. g. process variable, time stamp) to use Eclipse object contribution and drag and drop

• Logging Service on basis of Log4J

• Different destinations for log messages (console, file, JMS)

• Common libraries for JDBC, JMS, EPICS, …

• A service layer for database and messaging is under development

• Authentication, authorization → next presentation

• Remote management for CSS instances → next presentation

Page 15: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 15

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

EPICS

CSS Core Plug-ins

Data Access Layer (DAL)

TINE GSI Corba

DAL EPICS Plug-in DAL TINE Plug-in DAL GSI Plug-in

DAL Interface Plug-in

Page 16: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 16

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Data Access Layer (DAL)

• Extension Point for implementations of control systems• Prefix for control system type• Caching of characteristics (no separated connection)• Connection state (connected, disconnected, failed)• Cosylab will create a example DAL plug-in for serial

communication

Control system prefix

Process variable name

Characteristic (‘HOPR’ in EPICS)

Page 17: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 17

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Epics ChannelArchiver

CSS Core Plug-ins

Archive Access Layer (AAL)

Epics ChannelArchiver

TINE ArchiveServer

XML RPC AAPI Archive TINE

AAL Interface Plug-in

Epics IOC

Archive Record

• Defines an extension point and interfaces for archive access

Page 18: Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control

Jan Hatje, DESYCSS Presentation @ GSI Feb. 2009: Technology and Interfaces 18

XFELThe EuropeanX-Ray Laser Project X-Ray Free-Electron Laser

Who is involved?

• Core functionalities specified by DESY / SNS/ORNL

• Initial implementation and design: C1-WPS / University of Hamburg

• Data Access Layer (DAL): Cosylab• Archive Access Layer (AAL): DESY / SNS/ORNL