CSS – Control System Studio Technology and Interfaces - PowerPoint PPT Presentation

slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
CSS – Control System Studio Technology and Interfaces PowerPoint Presentation
Download Presentation
CSS – Control System Studio Technology and Interfaces

play fullscreen
1 / 20
CSS – Control System Studio Technology and Interfaces
Download Presentation
Download Presentation

CSS – Control System Studio Technology and Interfaces

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. CSS – Control System StudioTechnology and Interfaces CSS – Control System Studio Summary Presentation @ ITER March 8th 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. Headless Build I • Errors in CSS plugins are detected automatically • The headless build process is not used for deployment yet • Ant scripts for headless build are predefined in eclipse • The selection of plugins for the headless build is set in a CVS project • A program checks the log files and sends status mails to the developers

  15. Headless Build II CVS Headless Build Configuration Check log file Configuration CSS plug-ins Eclipse Headless Build Developer generate Send status mails Check Headless Build check log files Detailed description: csstudio.org → Developers Corner → Headless Build

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

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

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

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

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