Presentation is loading. Please wait.

Presentation is loading. Please wait.

11 March 2008IT&EE Palaver, Dietrich Beck Neues vom CS-Framework Motivation Grundlagen Entwicklungen der letzten Jahre Status und Ausblick.

Similar presentations


Presentation on theme: "11 March 2008IT&EE Palaver, Dietrich Beck Neues vom CS-Framework Motivation Grundlagen Entwicklungen der letzten Jahre Status und Ausblick."— Presentation transcript:

1 11 March 2008IT&EE Palaver, Dietrich Beck Neues vom CS-Framework Motivation Grundlagen Entwicklungen der letzten Jahre Status und Ausblick

2 11 March 2008IT&EE Palaver, Dietrich Beck Definition of "Framework" Wikipedia: "A software framework is a reusable design for a software system.... (It) may include support programs, code libraries, a scripting language, or other software to help develop and glue together the different components of a software project..." freie Übersetzung: "Ein Software Framework ist ein wieder verwertbares Design für ein Software system.... (Es) kann Hilfsprogramme, Code-Bibliotheken, ein Scripting-Werkzeug und andere Software enthalten, die es erlauben, verschiedene Komponenten für ein konkretes Softwareprojekt zu entwickeln und zusammenzufügen."

3 11 March 2008IT&EE Palaver, Dietrich Beck Why Frameworks for Control Systems standardization of code –re-usability of software components –maintainability of software components –... flexibility –exchange of hardware during run-time –add/remove hardware during run-time –change operational states on-the-fly –... common solutions –same look and feel at different experiments –ease transfer of know-how...

4 11 March 2008IT&EE Palaver, Dietrich Beck Definition of the CS framework optional usage of sequencers (= sequences of commands) optional usage of state machines (= states and actions) optional GUIs on the device level optional interfaces to control systems of accelerator and DAQ standardization via a framework, here: C ontrol S ystem framework  Main emphasis: device control, not process control Back-end (SCADA, GUI,...) Middleware (communication,...) Front-end (devices, drivers,...) Ansatz: "Three-layer architecture"

5 11 March 2008IT&EE Palaver, Dietrich Beck Definition of the CS framework control system = framework + add-ons EE/KS and contributors experiment bug reports, new features requested add-ons may become part of framework bug fixes, new features, maintenance Cycle Control AFG Timing+DAQ HV GUI

6 11 March 2008IT&EE Palaver, Dietrich Beck Different Points of View – A Framework is... Developer: User:... a tool box... something ready to use (sth. to solve a problem) without additional work (= the solution!)

7 11 March 2008IT&EE Palaver, Dietrich Beck Cooking Recipe for the CS Framework One development tool  LabVIEW Standardization  object oriented approach Distribution to many nodes  DIM (www.cern.ch/dim)www.cern.ch/dim –Event driven communication for everything –Scaling to large systems by distribution –Remote access –… SCADA functionality (alarming, trending, …)  LabVIEW DSC module

8 11 March 2008IT&EE Palaver, Dietrich Beck LabVIEW is......just another programming language. –graphical programming instead of text based programming –dataflow paradigm...an enormous collection of tools and libraries.

9 11 March 2008IT&EE Palaver, Dietrich Beck Object Orientation (OO) with CS "BaseClass" provides basic functionality (communication layer, active threads,...) "DeviceClass" adds functionality according to specs of device type "DS345". Instantiation: one object per device "BaseClass" "Device Class" inheritance AFG1 AFG2 AFG3 of course: classes for GUIs, Sequencer, State machines,... OO implemented by CS using pure LabVIEW (no LVOOP)

10 11 March 2008IT&EE Palaver, Dietrich Beck Example for a Simple Control System User PC n Control GUIOn-line Analysis GUI Central PC Sequencer DataCollector DSC EngineDSC Interface SR430FPGADS345 Front-end PC 1 Data Acquisition DataAcq. Instr. Driver Timing Timing Instr. Driver AFG AFG Instr. Driver High Voltage HV Instr. Driver IHQF015p HardwareSoftware (Proc)Software (Lib) Exp. SpecificGeneral PartBuy! EventOPC Front-end PC n DiscArchiver

11 11 March 2008IT&EE Palaver, Dietrich Beck Developments During the Past Years 1.project management a.CS as Open Source Project on SourceForge b.CS Wiki-Page @ GSI c.source code control using Subversion 2.DIM as communication layer 3.Domain Management System for process management 4.CS for different operating systems (Windows, Linux, Pharlap) 5.reservation mechanisms for sub-systems 6.device base classes 7.configuration database 8.stability and performance

12 11 March 2008IT&EE Palaver, Dietrich Beck CS-Wiki @ GSI

13 11 March 2008IT&EE Palaver, Dietrich Beck Statistics from SourceForge among top 1% of SourceForge projects > 800 downloads of CSMain 29 packages (of 2 maintainers) 42 (open 3) bugs 30 (open 1) feature requests 16 (open 2) patches 3 feature requests 8 developers

14 11 March 2008IT&EE Palaver, Dietrich Beck Distributing CS developer: source code control via Subversion at GSI user: packages on SourceForge (+Unpackager) –dependency/conflict checking –package checking –installing packages –removing packages –downloading packages –... –"three-click installation"

15 11 March 2008IT&EE Palaver, Dietrich Beck Communication Layer: DIM Distributed Information Management: www.cern.ch/dimwww.cern.ch/dim originally developed at DELPHI@LEP/CERN around 1991 available for a multitude of platforms and languages light-weight, aiming at high performance, based on TCP/IP today: "backbone" of control systems for LHC experiments concept: named services, peer-to-peer connections DIM server A DIM server B DIM client 1 DIM client 2 service "i" service "ii" command "iii" DIM name server (negotiates connections)

16 11 March 2008IT&EE Palaver, Dietrich Beck DIM-LabVIEW Performance

17 11 March 2008IT&EE Palaver, Dietrich Beck Domain Management System: Process Management in a Distributed Environment

18 11 March 2008IT&EE Palaver, Dietrich Beck Example: DMSViewer

19 11 March 2008IT&EE Palaver, Dietrich Beck Device Base Classes: Motivation Standardization of parameters for –events (command pattern, "call process") –services (publisher-subscriber pattern, status info) "Standard" defined by device model –arbitrary function generator –power supply –motor –... Allows exchange of different hardware device types of the same device model Requires only one GUI for all classes of the same class model Defines interface/behavior for programming a device class

20 11 March 2008IT&EE Palaver, Dietrich Beck Class Hierarchy BaseProcess DeviceBase PSChannelBase SimPowerSupply PSChannelBaseGUI BaseGUI

21 11 March 2008IT&EE Palaver, Dietrich Beck PSChannelBaseGUI Class (user view) available via double-click in "GOG" one instance per power supply object one GUI class for all classes inheriting from the PSChannelBaseClass

22 11 March 2008IT&EE Palaver, Dietrich Beck Configuration versus Programming create objects during run-time –identical binaries for different experiments possible –application characterized by configuration configuration data base –presently using MS-Access –device interfaces, bus-addresses,... –access via TCP/IP settings "database" –typically as XML files –... Back-end (SCADA, generic GUIs,...) Middleware (communication, generic management of settings...) Front-end (devices, drivers,...)

23 11 March 2008IT&EE Palaver, Dietrich Beck Testing Stability and Performance dedicated set-up including hardware for testing –long term stability (months...) –interoperability of different versions –stress situations –performance –...

24 11 March 2008IT&EE Palaver, Dietrich Beck Experiments using the CS framework... require high flexibility have a large variety of hardware types have up to 10,000 (1M possible) process variables require fast (  100 ns) timing control using dedicated hardware PHELIX PHELIX Motion CaveA SHIPTRAP ISOLTRAP REXTRAP REXTRAP LEBIT LEBIT GSI, Germany Mainz, Germany Greifswald, Germany CERN, Switzerland MSU, USA Lanzhou, China data taking development commissioning Motion CaveA FOPI RISING others... HITRAP LPT TrigaTRAP ClusterTRAP

25 11 March 2008IT&EE Palaver, Dietrich Beck Conclusion and Outlook CS 3.10 released for LV8.2.1. about 10-15 active applications 1,000,000 PVs demonstrated, an even larger number should be feasible 5,000 objects (  hardware devices) demonstrated, an even larger number should be feasible stability of a distributed CS system is better than a few hundred hours of continuous operation about 15 (60) hardware devices supported on SourceForge (Subversion) FAIR: MATS and parts of HITRAP have selected CS as control system framework. NUSTAR? PANDA?

26 11 March 2008IT&EE Palaver, Dietrich Beck Acknowledgements... Holger Brand, Dietrich Beck, Alexander Schwinn, Falk Ziegler, Romain Savreux, Chabouh Yazidjian, Klaus Blaum, Dennis Neidherr, Melanie Wolf, Stefan Schwarz, Josh Savory, Stefan Götte, Maximilian Kugler, Tobias Habermann, Michael Block, Frank Herfurth, Christian Rauth, Stephen Koszudowski, Manas Mukherjee, Thomas Rechel,..., IT@GSI,...

27 11 March 2008IT&EE Palaver, Dietrich Beck Event basics an entity waits for the next event, no polling! timeout handling is an important issue publisher subscriber client receiver observer pattern: "one-to-many" command pattern: "many-to-one" data command example: radio, television added in CS 3.0 example: typical human communication sole possibility for CS < 3.0


Download ppt "11 March 2008IT&EE Palaver, Dietrich Beck Neues vom CS-Framework Motivation Grundlagen Entwicklungen der letzten Jahre Status und Ausblick."

Similar presentations


Ads by Google