The European XRay Laser Project XFEL XRay FreeElectron

  • Slides: 18
Download presentation
The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser CSS – Control System Studio

The European X-Ray Laser Project XFEL 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, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 1

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Overview • • • Structure

The European X-Ray Laser Project XFEL 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) Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 2

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser CSS Design IDE with CSS

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser CSS Design IDE with CSS applications Eclipse IDE CSS UI CSS Headless CSS appl. UI CSS appl. CSS Core UI CSS Core Eclipse RCP UI Eclipse RCP Eclipse Runtime OSGi (Equinox) Java Virtual Machine Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 3

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Components Custom Jan Hatje, DESY

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Components Custom Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces EPICS archiver IOC TINE Ch a arc nnel hiv er AAP Ser ver I TINE e API Data Archiv S M DAL DS SDS -J Se S rv er ive Arch ord Rec S M J Na me larm s A Bro pace le w Tab ser AP LD JM Browser E LDAP Server Al ar Tr m ee OSGi XN TI N Applications TINE 4

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Eclipse • Written in Java

The European X-Ray Laser Project XFEL 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, …) Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 5

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Pros and cons + CSS

The European X-Ray Laser Project XFEL 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 Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 6

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Eclipse Extension Points • A

The European X-Ray Laser Project XFEL 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 Extension Point with an implementation from other plug-ins CSS Core New CSS Plug-in Definition of an Extension Point Eclipse RCP Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 7

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Eclipse Plug-in An Eclipse plug-in

The European X-Ray Laser Project XFEL 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 Settings for build process of the plug-in Content structure of plug-in help files Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces File for OSGi bundle configuration File for Eclipse related configuration (on top of OSGi bundle) 8

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Object Contribution, Drag and Drop

The European X-Ray Laser Project XFEL 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 selected process variable Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 9

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Preferences Eclipse provides a Preference

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Preferences Eclipse provides a Preference Store for all plug-in preferences 1) Define plug-in preferences 2) Create an initializer for default values (optional) 3) Create preference page (optional) Plug-in preferences Product file preferences User preferences 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 Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 10

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Views, Editors and Perspectives Workbench:

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Views, Editors and Perspectives Workbench: Users can arrange views and editors Perspective: Predefined and individual arrangements of views and editors File types are connected to dedicated editors Detached view outside of CSS workbench Editor: connected to workspace resources View: basic UI part Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 11

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Update Site • Install additional

The European X-Ray Laser Project XFEL 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 Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 12

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Help Center runs in web

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Help Center runs in web server ‘Jetty’ integrated in Eclipse (http: //krykxmpp: 8099/help/index. jsp) Help pages are plain HTML files Global structure for help content of all plug-ins. Definition via XML Headless mode of Help Center. Accessible from any Browser Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 13

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser CSS Core • Data types

The European X-Ray Laser Project XFEL 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 Log 4 J • 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 Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 14

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Data Access Layer (DAL) CSS

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Data Access Layer (DAL) CSS Core Plug-ins DAL Interface Plug-in DAL EPICS Plug-in DAL TINE Plug-in DAL GSI Plug-in EPICS TINE GSI Corba Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 15

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Data Access Layer (DAL) •

The European X-Ray Laser Project XFEL 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 Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces Characteristic (‘HOPR’ in EPICS) 16

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Archive Access Layer (AAL) •

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Archive Access Layer (AAL) • Defines an extension point and interfaces for archive access CSS Core Plug-ins AAL Interface Plug-in XML RPC AAPI Archive Record Archive TINE Epics Channel Archiver Epics IOC TINE Archive Server Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 17

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Who is involved? • Core

The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Who is involved? • Core functionalities specified by DESY / SNS/ORNL • Initial implementation and design: C 1 -WPS / University of Hamburg • Data Access Layer (DAL): Cosylab • Archive Access Layer (AAL): DESY / SNS/ORNL Jan Hatje, DESY CSS Presentation @ GSI Feb. 2009: Technology and Interfaces 18