120 likes | 219 Views
CSS Introduction 2 nd Generation of Software Sharing. EPICS Collaboration Meeting Aix-en-Provence June 3 rd , 2010 Matthias Clausen - DESY. CSS Introduction. Where we started from Technology Philosophy Plans. Where we started from. Alternative for X-Window based applications
E N D
CSS Introduction2nd Generation of Software Sharing EPICS Collaboration Meeting Aix-en-Provence June 3rd , 2010 Matthias Clausen - DESY
CSS Introduction • Where we started from • Technology • Philosophy • Plans
Where we started from • Alternative for X-Window based applications • Decide for Java • Select Eclipse • Define basic data types – how many? • Drag and drop more than just the channel name (string) • Interface to more then one control system • Start design of the Data Access Layer • Sharable source core by means of a central cvs repository • Start design of a new synoptic display • Start exploring (Eclipse) GEF • Not necessarily EPICS focused
CSS - Technology • Java • Eclipse • Interfaces • Extension points • Eclipse plug-ins • CSS-Core • Interfaces • Extension points • Functionality • Data Types
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
CSS – running the DCT Editor and SDS Displays running ‘as shell’
What’s a CSS Product? • A CSS Product • Eclipse core • A selection of Eclipse Plugins(e.g. cvs support)Any Eclipse Plugin can run in a CSS product • CSS Core • A selection of CSS-Plugins • Fixed: CSS Core plugins • Variable: Selection of CSS plugins -> defines ‘your’ CSS Product • CSS products can be extended using the ‘p2’ update mechanism. • From the Eclipse Update Site • From your (other) CSS update site • A CSS Headless Product • Eclipse core (has no UI component) • CSS core (is UI independent) • Your Eclipse plugin (may not contain UI components)
Technology Status • Interfaces • PV • DAL • Archive API • Authorization/ Authentication • …. • CSS Core • Interfaces • Libraries – core libraries only ONCE in your workspace • Logging • Basic services • Remove UI dependent plugins from core – or separate into UI dependent plugin • Synoptic Display • GEF • Cvs repository: • CSS-Core • CSS-Applications • CSS-Sandbox
Philosophy • A new approach for software sharing • A central cvs repository at DESY (for now) • A stable CSS-core set of plugins • Applications may use direct channel access or the Data Access Layer (DAL) • No restrictions to new applications • Except the usage of the CSS-Core plugins
Plans • Common Widget Library for SDS and BOY • Collaboration with ITER • Move source code from DESY cvs repository to Sourceforge Mercurial repository