21
01. Dezember 2008 Martin Feldmann, [email protected] Control Control System Studio System Studio CSS

Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, [email protected] Control System Studio CSS

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

ControlControl System StudioSystem Studio

CSS

Page 2: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

ÜberblickÜberblick

• Was ist CSS ?• Motivation• Design• Applikationen• Entwicklungsbeispiel • Kollaboration/ Entwicklung• Demo

Page 3: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Was ist CSS?Was ist CSS?

CSS ist:

• ein Framework für Plug-ins zurEntwicklung vonKontrollsystemkomponenten

• eine eclipse Rich Client Application

Page 4: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

MotivationMotivation

Aktueller Stand der Operator Interfaces (OPI):• Viele Anwendungen verschiedenster Art

– implementiert von verschiedenen Entwicklern– mit unterschiedlichem Look & Feel– in verschiedenen (Programmier/ GUI) Sprachen– nur für spezifische Betriebsysteme– nur im Kontext spezifischer Kontrollsystem Typen– Datenaustausch ist oft nur als 'String' möglich

Page 5: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

DesignDesign

Ziel: Verbesserung der aktuellen Situation• gleiches Look & Feel• Information 'on your fingertips'• drag 'n' drop von Objekten zwischen CSS Plug-ins• Middleware statt spezifische API's:

– Management Interfaces– Name Server (JNDI)– Data Access Layer (DAL)– Archive Access Layer (AAL)

• effektive Kollaboration

CSS

TANGO

EPICSTINE

Page 6: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

DesignDesign

Fazit:

• Java– eine Sprache für viele Plattformen

• eclipse– um den RCP Ansatz zu verwenden– um der wachsenden Gemeinde von eclipse Entwicklern

beizutreten– eingebaute Multi Language Unterstützung (localization)– gemeinsames Look & Feel

Page 7: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

eclipseeclipse

• gestartet 2001 von IBM• Open Source Community• verbreitet als Java IDE (Integrated Development Environment)• praktisch ein Plug-in Manager

Page 8: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

eclipse RCPeclipse RCP

• eclipse dient als Open Tools Plattform• RCP: org.eclipse.ui und org.eclipse.core.runtime

Features:• schnelle Entwicklung, Fokus auf Funktionalität neuer Applikationen• RCP Komponenten sind Open Source• viele wieder verwendbare Komponenten(z.B. Update Manager, Help UI, Cheat Sheets, Intro, etc.)

• Entwicklung einer offenen Plattform in eigenem Anwendungsbereichmöglich: CSS

Page 9: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

CSStudioCSStudio PlugPlug--In ÜbersichtIn Übersicht

Applikationen:

•Display•Alarm•Diagnostic Tools•Configuration•Utilities•Trends

Page 10: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Applikationen: DisplayApplikationen: Display

•SDS

•ADL Converter

•PV Tabelle

•Garbage Collector

Page 11: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Applikationen: AlarmApplikationen: Alarm

•JMSAlarmLog

•JMSLogsArchive

•TreeView

Page 12: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Applikationen: Applikationen: DiagnosticDiagnostic ToolsTools

•JMS Logs•JMS Sender•AMS Monitor•RMT Control•Post Analyser•Probe•SNL Editor/Debugger•Statistic Viewer

Page 13: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Applikationen: Applikationen: ConfigurationConfiguration

•AMS Configurator

•IO Config

•Action Request Explorer

•Directory Viewer

•Save Value

•Authorize ID

Page 14: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Applikationen: Applikationen: UtilitiesUtilities

•Name Space Browser (LDAP)•Name Space Search•Name Space Browser (TINE)•Screenshot•System Monitor•CA Snooper•Record Property•Quickstart•(Clock, Therapist)

Page 15: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Applikationen: TrendsApplikationen: Trends

•Daten Browser

Page 16: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

SDS erweitern, Beispiel:SDS erweitern, Beispiel:Meter Meter WidgetWidget

• Widgets sind auf der MVC Architektur aufgebaut:

• ModelDefiniert Eigenschaften, speichert die zugehörigen Werte und verfolgt Wertänderungen.

• ViewDie visuelle Repräsentation des Modells.

• ControlKontrolliert das Zusammenspiel zwischen graphischer Repräsentation und Modell.

Page 17: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Beispiel: Beispiel: MeterModelMeterModel

Modell:• ein Modell anlegen: MeterModel extends AbstractWidgetModel

- assoziierte Factory erstellen: MeterModelFactory implements IWidgetModelFactory

• das Widget Modell registrieren (Extension Point org.csstudio.sds.plugin.xml):

<extension point="org.csstudio.sds.widgetModelFactories">... <widgetModelFactory

class="org.csstudio.sds.components.internal.model.MeterModelFactory"description="Creates a meter control."icon="icons/meter.gif"name="Meter"typeId="org.csstudio.sds.components.Meter"/>

<widgetModelFactory...

</extension>

Page 18: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Beispiel: Beispiel: MeterModelMeterModel

View:• Visuelle Elemente implementieren das eclipse core Interface

IAdaptable:RefreshableMeterFigure

extendsorg.eclipse.draw2d.Shapeimplementsorg.eclipse.core.runtime.IAdaptable

Page 19: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Beispiel: Beispiel: MeterModelMeterModel

Control:• SDS Widget Controller sind spezielle GEF Edit Parts. SDS bietet dazu ein Framework an:

– MeterEditPart extends org.csstudio.sds.ui.editparts.AbstractWidgetEditPart– MeterEditPart assoziiert das Modell und den View

- Den Edit Part registrieren (Extension Point org.csstudio.sds.ui.plugin.xml):

<extension point="org.csstudio.sds.ui.widgetEditParts">...

<widgetEditPartclass="org.csstudio.sds.components.ui.internal.editparts.MeterEditPart"typeId="org.csstudio.sds.components.Meter">

</widgetEditPart>...</extension>

- typeId verbindet die Komponenten des Meters

Page 20: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

CSS Entwicklung/ KollaborationCSS Entwicklung/ Kollaboration

Einzelpersonen:• Matthias Claussen, Jan Hatje, Kay Kasemir, Sergei Chevtsov, Emma Shepherd, …• Basic design, tools (archive viewer …)

JSI (Josef Stefan Institut - Slovenien):• Studenten in Kollaboration mit Cosylab• Basic design, graphic libraries, management tools, login, secure password store

Cosylab:• Data Access Layer (DAL)

C1-WPS (spin-off der Universität Hamburg):• Basic design, CSS-Core refactoring, CSS-Wizard, synoptic display studio (SDS)

Universität Hamburg:• Studentische Diplomarbeiten• Authorization in CSS

• CSS record/ playback

DESY:• Logging, alarming, database integration, managing CSS

Page 21: Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System Studio CSS

01. Dezember 2008 Martin Feldmann, [email protected]

Demos und LinksDemos und Links

Flash Demos:http://css.desy.de/content/e70/e10/index_eng.htmlCode Repository:● CVS Repository @ DESY● ‘Offen’ für registrierte Benutzer mit DESY AccountMailing List:● [email protected] Page:● http://css.desy.de● http://www.cs-studio.orgCodeBeamer : Documentation, Tracker, Story Cards:● http://elogbook.desy.de:8181