Upload
neka
View
31
Download
3
Embed Size (px)
DESCRIPTION
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. Overview. Structure of CSS Eclipse technology Eclipse add-ons CSS Core features - PowerPoint PPT Presentation
Citation preview
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
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)
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.
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
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, …)
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
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
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
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
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
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
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
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
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
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
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)
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
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