1 / 18

CSS – Control System Studio Technology and Interfaces

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

neka
Download Presentation

CSS – Control System Studio Technology and Interfaces

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSS – Control System StudioTechnology and Interfaces CSS – Control System Studio Summary Presentation @ GSI February 11th 2009 Matthias Clausen, Jan Hatje (DESY / MKS-2) Presented by: Jan Hatje

  2. Overview • Structure of CSS • Eclipse technology • Eclipse add-ons • CSS Core features • Data Access Layer (DAL) • Archive Access Layer (AAL)

  3. CSS Design IDE with CSS applications CSS UI CSS Headless CSS appl. CSS appl. CSS appl. CSS appl. UI CSS appl. CSS appl. Eclipse IDE CSS Core UI CSS Core Eclipse RCP UI Eclipse RCP Eclipse Runtime OSGi (Equinox) Java Virtual Machine

  4. Components Custom Applications TINE JMS IOC Namespace Browser Archive Record LDAP Eclipse Data Browser CSS OSGi LDAP Server TINE Alarm Table TINE archiver Archive API AAPI Server Alarm Tree SDS LDAP - JMS XNDS Channel archiver DAL JMS Server EPICS TINE

  5. 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, …)

  6. 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

  7. 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 New CSS Plug-in Extension Point with an implementation from other plug-ins CSS Core Definition of an Extension Point Eclipse RCP

  8. 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 Settings for build process of the plug-in File for Eclipse related configuration (on top of OSGi bundle) Content structure of plug-in help files

  9. 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 Menu “CSS” shows all applications applicable for process variable Context menu on right mouse click on a process variable Call applications and send selected process variable

  10. Preferences Preferences are ordered by topic and plug-in • Eclipse provides a Preference Store for all plug-in preferences • Define plug-in preferences • Create an initializer for default values (optional) • Create preference page (optional) Widgets for preference pages are available Plug-in preferences • Several levels for preference definition • Easy to administer preference settings • Different preferences for different CSS installations by *.ini files Product file preferences User preferences

  11. Views, Editors and Perspectives Workbench: Users can arrange views and editors File types are connected to dedicated editors Detached view outside of CSS workbench Perspective: Predefined and individual arrangements of views and editors Editor: connected to workspace resources View: basic UI part

  12. 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

  13. Help Center 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

  14. 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

  15. 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

  16. 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 Characteristic (‘HOPR’ in EPICS) Process variable name

  17. 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 Channel Archiver Epics IOC TINE Archive Server

  18. 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

More Related