RDB-Based Configuration Management - A New Approach

Slides:



Advertisements
Similar presentations
Epics Configuration Management Steve Hunt v1.0. Goals Maximize control system availability Minimize development cycle time Reduce risk.
Advertisements

Control System Studio (CSS)
Jeffrey Hill.  LANSCE Requirements – a Review  EPICS Paradigm Shift – a Review  Status – What is Implemented  What is an Abstract Data Type?  Benefits.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
MS Access: Database Concepts Instructor: Vicki Weidler.
1 Web Developer Foundations: Using XHTML Chapter 11 Web Page Promotion Concepts.
Effectively Validate Query/Report: Strategy and Tool Steven Luo Sr. System Analyst Barnes & Noble Session id:
March 9-11 IRMISRon Chestnut SLAC RDB and EPICS The World According to SLAC Ideas and Implementations by: J. Rock, D. Rogind, S. Allison.
BROOKHAVEN SCIENCE ASSOCIATES High level applications and EPICS control GUOBAO SHEN NSLS-II, Control Group May 4 th, 2009.
Elder Matias, Diony Medrano, Dong Liu (At Michigan State University - Nov 2011) IRMIS at CLS.
Prachi Chitnis.  The CSS feel  SDS – Synoptic Display Studio  ADL Converter  PV table, Probe…
MASAR Server & Application Guobao Shen Photon Sciences Department Brookhaven National Laboratory Collaboration Working Group Oct 02, 2013.
Graphing and statistics with Cacti AfNOG 11, Kigali/Rwanda.
15/06/2006 The Future of Visual DCT EPICS Collaboration 2006 Argonne National Laboratory
ACNET to EPICS Meeting SNS Device DB Tools J. Patrick November 4, 2008.
MS Access: Database Concepts Instructor: Vicki Weidler Assistant: Joaquin Obieta.
Managed by UT-Battelle for the Department of Energy CSS Update Matthias Clausen, Helge Rickens, Jan Hatje and DESY Delphy Armstrong, Xihui Chen,
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to.
RDB for Controls Configuration Management: Complications Roland Müller Based on/ Update of previous Presentations given by B. Franksen: EPICS Meeting `01,
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
07/10/2007 VDCT Status Update EPICS Collaboration, October 2007 Knoxville, Tennessee
1 CmpE 195A Project Motion Capture Tool Project Description By: Dr. Mohamed Fayad & Huáscar Sánchez.
T. Birke  IRMIS Collaboration meeting  March '05  APS  BESSY Configuration Management BESSY Configuration Management Plans / Wishes Thomas Birke, Benjamin.
EPICS to TANGO Translator Rok Šabjan on behalf of Rok Štefanič Presented at ICALEPCS, Knoxville, October.
Jožef Stefan Institute Visual DCT – EPICS Databases Can Be Fun Rok Sabjan Sunil Sah and Matej Sekoranja, JSI and Cosylab
BROOKHAVEN SCIENCE ASSOCIATES Enhanced Directory Service Ralph Lange EPICS Collaboration Meeting October 11, 2009.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
SNS EPICS Config. Database Control System Configuration DB Workshop, Sep. Jlab … participants from BESSY, BNL, JLab, PSI IOC DB meeting, Oct. 2-3.
Rack Wizard LECC 2003 Frank Glege. LECC Frank Glege - CERN2/12 Content CMS databases - overview The equipment database The Rack Wizard.
B. Dalesio, N. Arnold, M. Kraimer, E. Norum, A. Johnson EPICS Collaboration Meeting December 8-10, 2004 Roadmap for IOC.
SNS EPICS Config. Database May 2001 Kay-Uwe Kasemir, LANL.
R. Keitel IRMIS Workshop, APS, 9-Mar-2005 RDB Tools at TRIUMF/ISAC.
RDB Issues at SLAC Archiver Store General EPICS Support.
CS 440 Database Management Systems Stored procedures & OR mapping 1.
V7 Foundation Series Vignette Education Services.
An Introduction to Epics/Tango Steve Hunt Alceli EPICS Meeting 2008 INFN Legnaro 15 Oct 17:15.
R. Keitel Epics Collaboration Meeting, SLAC, 27-Apr-2005 RDB Use at TRIUMF/ISAC.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
LCLS Commissioning & Operations High Level Software
Databases (CS507) CHAPTER 2.
Operations Machine Simulator.
Graphical Data Engineering
Database Management.
CSE 103 Day 20 Jo is out today; I’m Carl
Component and Deployment Diagrams
MS Access Forms, Queries, Reports Matt Martin
Working in the Forms Developer Environment
Hadoop.
An Introduction to database system
Practical Office 2007 Chapter 10
Data Virtualization Tutorial: XSLT and Streaming Transformations
tdct – a Capfast replacement
Relational Database Collaboration
Existing Perl/Oracle Pipeline
ChannelFinder Directory Service
CERN-Russia Collaboration in CASTOR Development
IRMIS Technical Details
PHP Training at GoLogica in Bangalore
LCLS Commissioning & Operations High Level Software
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Hands-on Introduction to Visual Basic .NET
CS 440 Database Management Systems
Control System Studio (CSS)
Informatica & ETL Testing
EPICS IOCs – Relational DB
Ralph Lange EPICS Seminar IHEP Beijing 2002
Chapter 3 Database Management
Database Management System
Configuration DB Status report Lana Abadie
Presentation transcript:

RDB-Based Configuration Management - A New Approach Ralph Lange – EPICS Collaboration Meeting at SLAC, April 2005

RDB-Based Configuration Management – Reinventing the Wheel? A New Attempt to Make Life Easier Forced by the progress on BESSY’s Willy-Wien-Laboratory project (compact 200-600 MeV synchrotron for the German bureau of standards currently under construction at the BESSY site) Discussed and developed by Thomas Birke, Benjamin Franksen, Bernhard Kuner, Ralph Lange, Patrick Laux, Roland Müller, Götz Pfeiffer, Joachim Rahn A question that sometimes drives me hazy: am I or are the others crazy?

RDB Use for BESSY‘s Current Control System Device oriented approach: One set of RDB tables and at least one application per device class Devices are represented by a set of DB templates: Simple templates are edited as plain text, complex templates are managed by CapFast, vdct Substitution files are generated from RDB data by a script in the application directory: Many applications use simple generic scripts, some contain many exceptions Other applications (ALH, Archiver, Snapshots, …) are configured manually in most cases Text Editor CapFast, vdct … DB Template Substitutions EPICS DB Script RDB The only source of knowledge is experience.

The Top 5 Features That We Don’t Like 100s of tables in 10s of different structures Not maintainable after a few years Tight coupling of application and RDB Several iterations with RDB manager (requiring a few days) when starting a new application Data maintenance by device experts is nice But never worked Most parameters for most devices are in the RDB For some singular devices creating the RDB structures would be just too much effort We never had a complete view of our system Links to other applications (ALH, Archiver, Snapshots, …) are not within the RDB Wildly growing, distributed and unmanageable All internal information from complex template files is missing For complex templates, there’s only one device entry in the database No way to map hierarchies Devices may consist of sub-devices A set point may be the sum of independent values (higher order inputs) Our naming convention is not sufficiently covering the sub-device part A person who never made a mistake never tried anything new.

What We Would Expect From a New System Generation of configurations for all kinds of applications .substitution, .template, .db AlarmHandler, Archiver, Snapshots, Orbit Correction, StripTool, … even unknown future applications All these are different views to the same data set EPICS DB CDEV ddl RDB Save/Restore Archiver AlarmHandler StripTool generic Appl. Screens (adl) Orbit-Corr. Measurement High Level Applications Navigation Displays IOC Preconfigured Applications * Actually configured from RDB Imagination is more important than knowledge.

A New Attempt Generic RDB model Stores hierarchies allowing “is part of” and “is of type” relationships Represented by directed acyclic graphs with name/value pairs attached to any of the nodes Implemented in 4 tables and a few views RDB structures have no installation and application dependencies Access functions (API) in PL/SQL to be run on the RDB server side 27 functions/procedures with 60 signatures (~1500 LOC) All write access and most reads go through API Interfaces with all scripting languages used at BESSY Values may contain math and string expressions referencing other names Generic tools to handle the graphs and name/value pairs Graphical application to manipulate the graphs Insanity: doing the same thing over and over again and expecting different results.

… PAH1R PAH2R pCavRdbk EPICS-DB RF-System IOC1S15G Sample Graph PAH1R PAH2R pCavRdbk … LOPR 650 HOPR 500 CAN-timeout EPICS-DB RF-System IOC1S15G Application Device Class IOC Name PV Name 12 NODEID 2 CANPORT I used to go away for weeks in a state of confusion.

How Far We Got Database Structures finished Basic PL/SQL Functions implemented, stable, being tested Generic Graphical Tool under development Sample Application Test environment is EPICS DB generation – so this works Waiting for the first real world application (this summer) – that naturally won’t work A man should look for what is, and not for what he thinks should be.

To Sum It Up Driving force: The need to create applications more efficiently Generic RDB structure to represent hierarchies: The hierarchy information, which used to be contained in the specific database structure, is now moved to being data in a generic structure Query results are sets of name/value pairs (allowing redefinition and expressions along the hierarchy) Implementation is well under way Tests show promising results, first real applications later this year: We’ll keep you posted on the experiences… If we knew what it was we were doing, it would not be called research, would it?