Automated Software Configuration in the MONSOON System

Slides:



Advertisements
Similar presentations
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 1 Introduction to Perl and CGI.
Advertisements

IRRA DSpace April 2006 Claire Knowles University of Edinburgh.
DOCUMENT TYPES. Digital Documents Converting documents to an electronic format will preserve those documents, but how would such a process be organized?
Enhancing Spotfire with the Power of R
Chapter 10 Database Applications Copyright © 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. McGraw-Hill.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
ASP.NET Programming with C# and SQL Server First Edition
Attribute databases. GIS Definition Diagram Output Query Results.
1 © 2006 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Presentation Using the Cisco Technical Support.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Lesson 6 Operating Systems and Software
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
MySQL GUI Administration Tools Rob Donahue Manager, Distributed Systems Development May 7th, 2001 Rob Donahue Manager, Distributed Systems Development.
What is QTP ► QTP stands QuickTest Professional ► It is an automated testing tool provided by HP/Mercury Interactive ► QTP integrates with other Mercury.
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
Simple Database.
FireRMS NEMSIS (Part 2) Presented by Laura Small FireRMS Quality Assurance.
DB-based DAQ monitoring and Physics analysis tools Emiliano Barbuto European Emulsion Group (LNGS May 2003)
Chapter 1 Computer Systems. Why study Computer Architecture? Examples Web Browsing - how does the browser access pages from a server? How can we create.
Construction Planning and Prerequisite
What is WinRunner ► WinRunner is Mercury’s legacy automated testing tool ► It is similar to QTP in functionality ► WinRunner integrates with other Mercury.
Database Management Systems (DBMS)
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Chapter 29. Copyright 2003, Paradigm Publishing Inc. CHAPTER 29 BACKNEXTEND 29-2 LINKS TO OBJECTIVES Attach an XML Schema Attach an XML Schema Load XML.
CHAPTER 9 File Storage Shared Preferences SQLite.
1 © 2004 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Seminar Using the Cisco Technical Support Website.
Web Application & Validation Hans Wenzel 20 th Geant4 Collaboration Meeting September 28, 2015.
1 RIC 2009 Symbolic Nuclear Analysis Package - SNAP version 1.0: Features and Applications Chester Gingrich RES/DSA/CDB 3/12/09.
Product Training Program
Integration with External Applications: General View
Autodesk Inventor 2008 Essentials Plus
Integration Framework of SAP Business One as Platform for Scenario Development January 2016 Public.
PLM, Document and Workflow Management
Easily retrieve data from the Baan database
HTTP Server Protocol Module :
Google Web Toolkit Tutorial
AMRDEC Test Facility Improvement Project
mysql and mysql workbench
Introduction to Programming the WWW I
Microsoft Office Illustrated
CFS Community Day Core Flight System Command and Data Dictionary Utility December 4, 2017 NASA JSC/Kevin McCluney December 4, 2017.
Chapter 2: Operating-System Structures
Chapter 6 System and Application Software
Brief description on how to navigate within this presentation (ppt)
The MONSOON Implementation of the Generic Pixel Server
The MONSOON Generic Pixel Server Software Design
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
The Generic Pixel Server (GPX) Dictionary
MONSOON Software Design & Status
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Manipulating and Sharing Data in a Database
Database Applications
IntroductionToPHP Static vs. Dynamic websites
Outline Chapter 2 (cont) OS Design OS structure
Database Connectivity and Web Development
A QUICK START TO OPL IBM ILOG OPL V6.3 > Starting Kit >
Tutorial 6 PHP & MySQL Li Xu
Automation of Control System Configuration TAC 18
System calls….. C-program->POSIX call
Chapter 6 System and Application Software
Chapter 6 System and Application Software
SQL – Application Persistence Design Patterns
Chapter 6 System and Application Software
MONSOON Software Review
Database Instructor: Bei Kang.
Web Application Development Using PHP
Web Service Requirements for WISE Data Exchange
Presentation transcript:

Automated Software Configuration in the MONSOON System P. N. Daly N. C. Buchholz P. C. Moore (NOAO) Copyright, 2004 © AURA, Inc.

MONSOON Team L to R: Peter Moore, Dee Stover, Paul Schmitt, Dave Dryden, John Garcia, Jerry Penegor, Nick Buchholz, Phil Daly and Dave Sawyer. (Not shown: Gustavo Rahmer, Mike Warner, Ricardo Schmidt, Mark Hunten).

MONSOON Results 8 August 2003: First Light Aladdin 19 September 2003: First Light Hawaii II 29 September 2003: First Light CCD

Typical MONSOON System

Configuration Requirements Provide an automated boot and configuration system for safe detector operations Provide astronomer, hardware and software engineering interfaces Provide edit capability from various operating systems and trusted users

The GPX Dictionary Only point of entry for high level software (HLS) systems and/or astronomers Named modes hide underlying functionality Translated to PPX commands on a 1-to-1 or 1-to-many basis

Software / Hardware Engineers Look at the same system differently Need ability to call commands different names Need ability for hardware engineers to add new commands with little or no effort from software engineers Needs back door for debug/development

The MONSOON Configuration File Simple ASCII text file CSV format 1 command entry per line Well-understood fields Easy to edit and re-load CSV This format was used because the original configuration files were generated via an Excel spreadsheet

Configuration Record Fields Field SQL Type Example Description panName varchar(32) intTime Unique PAN name dheName varchar(32) MCB_SEQITR Non-unique DHE name baseAddr integer 0x10000 Base address in DHE memory nelms integer 1 Number of array elements Creg integer 0x200000 Miscellaneous control register setMethod text SIMPLE Function to call to encode a value getMethod text SIMPLE Function to call to decode a value panType text FLOAT Data type as known to PAN dheSize text ULONG Data size as known to DHE coef1 float8 1000.00 First coefficient to conversion function coef2 float8 0.00 Second coefficient to conversion function funcID text LINEAR Conversion function minValue float8 0.00 Minimum value (before conversion) maxValue float8 65536.00 Maximum value (before conversion) units varchar(32) seconds Units (if applicable) help varchar(128) Integration time to 1 ms Associated help text

Memory Map cmdListPPX holds the well-known PPX/GPX commands (fixed number of entries) cmdListATT is loaded from lines in the configuration file (variable number of entries) Each panName becomes a new command

Command Execution cmdListPPX is searched first cmdListATT is search if command is not found in PPX table: Parameter not present: read execute Parameter present: write execute

Example (integration time) Set the integration time: gpxSetAVP intTime=4.0 ppxSetAVP intTime=4.0 intTime 4.0 Get the integration time: gpxGetAVP intTime ppxGetAVP intTime intTime NB HLS software uses the GPX/PPX interface whereas software and hardware engineers typically use the ATT interface

Array Handling If nelms > 1, an array of commands is automatically created which can be used: Single element: mcbSeqLoopReg[12] 44.0 Range of elements: mcbSeqLoopReg[] <2:8> 44.0 All elements: mcbSeqLoopReg[] 44.0

Problems with this approach Unix file clobbering can ruin your day No error checking of CSV file No template to start from Our solution to these problems is to create and maintain an SQL database

MSDs SQL Database ... Create database using MSDs: CREATE DATABASE monsoondb; \c monsoondb CREATE FUNCTION msdsql_msd( ) RETURNS float8 AS ‘/MNSN/soft_dev/lib/libmsdSql’ LANGUAGE C; CREATE TABLE generic_I ( panName varchar(32), dheName varchar(32), baseAddr integer CHECK(baseAddr>=0). nelms integer CHECK(nelms>=0), creg integer CHECK(creg>=0), MSDs For an explanation of MSDs, see “The MONSOON Implementation of the Generic Pixel Server” by Daly & Buchholz (5496-42)

SQL Database … continued setMethod text CHECK(setMethod=‘NOMETHOD’ OR setMethod=‘SIMPLE’ OR setMethod=‘INTTIME’ OR setMethod=‘ROISETC’ OR setMethod=‘ROISETR’ OR setMethod=‘FNAMESET’ OR setMethod=‘FNAMESET’ OR setMethod=‘SETVOFF’ OR setMethod=‘SETBIASV’ OR setMethod=‘SETFBIAS’ OR setMethod=‘WRT2READ’ OR setMethod=‘STRINGSET’ OR setMethod=‘RDMSKWRT’), getMethod text CHECK(getMethod=‘NOMETHOD’ OR getMethod=‘SIMPLE’ OR getMethod=‘INTTIME’ OR getMethod=‘ROISETC’ OR getMethod=‘ROISETR’ OR getMethod=‘FNAMESET’ OR getMethod=‘FNAMESET’ OR getMethod=‘SETVOFF’ OR getMethod=‘SETBIASV’ OR getMethod=‘SETFBIAS’ OR getMethod=‘WRT2READ’ OR getMethod=‘STRINGSET’ OR getMethod=‘RDMSKWRT’), panType text CHECK(panType=‘CHAR’ OR panType=‘UCHAR’ OR panType=‘SHORT’ OR panType=‘USHORT’ OR panType=‘INT’ OR panType=‘UINT’ OR panType=‘LONG’ OR panType=‘ULONG’ OR panType=‘STRING’ OR panType=‘FLOAT’), dheSize text CHECK(dheSize=‘ONEBIT’ OR dheSize=‘BYTE’ OR dheSize=‘CHAR’ OR dheSize=‘UCHAR’ OR dheSize=‘SHORT’ OR dheSize=‘USHORT’ OR dheSize=‘LONG’ OR dheSize=‘ULONG’ OR dheSize=‘TWLVBIT’ OR dheSize=‘TWNT4BIT’),

SQL Database … continued coef1 float8, coef2 float8, funcID text CHECK(funcID=‘ERROR’ OR funcID=‘LINEAR’ OR funcID=‘POWER’ OR funcID=‘TABLE1’ OR funcID=‘BITFIELD’ OR funcID=‘NONE’), minValue float8, maxValue float8, units varchar(32), help varchar(128), id integer CHECK(id>=0), msd float8 CHECK(msd>=0.0) ); CREATE FUNCTION msdsql_utc( ) RETURNS int4 AS ‘/MNSN/soft_dev/lib/libmsdSql’ LANGUAGE C; CREATE FUNCTION msdsql_mjd( ) RETURNS float8 AS ‘/MNSN/soft_dev/lib/libmsdSql’ LANGUAGE C; CREATE FUNCTION msdsql_jd( ) RETURNS float8 AS ‘/MNSN/soft_dev/lib/libmsdSql’ LANGUAGE C; CREATE FUNCTION msdsql_ld( ) RETURNS float8 AS ‘/MNSN/soft_dev/lib/libmsdSql’ LANGUAGE C;

Populating the SQL Database Use well-used CSV files and convert via Perl scripts: csv2sql Converts CSV to SQL csv2xml Converts CSV to XML xml2csv Converts XML to CSV xml2sql Converts XML to SQL sql2csv Recovers database records to CSV sql2xml Recovers database records to XML

Displaying the Configuration Can use Unix utilities such as cat, more, vi XML for web-browsing: MONSOON schema developed MONSOON style sheet developed Consistent look and feel to output regardless of detector type

Typical XML Record <monsoonRecord id="1"> <panName>intTime</panName> <dheName>MCB_SEQITR</dheName> <baseAddr>0x00010000</baseAddr> <nelms>1</nelms> <creg>0x02000000</creg> <setMethod>SIMPLE</setMethod> <getMethod>SIMPLE</getMethod> <panType>FLOAT</panType> <dheSize>ULONG</dheSize> <coef1>1000.0</coef1> <coef2>0.0</coef2> <funcID>LINEAR</funcID> <minValue>0.0</minValue> <maxValue>65536.0</maxValue> <units>s</units> <help>Integration time to 1 ms</help> </monsoonRecord>

XML Record Via Web-Browser

Java Front End … TBD

Conclusions Ability to talk to MONSOON via a number of appropriate mechanisms Named modes automate startup Extensible command and configuration file Persistency via SQL Common visualization via XML Cross-platform database access via Java

Papers at SPIE ... N. C. Buchholz and P. N. Daly, “The MONSOON Generic Pixel Server Software Design”, 5496-41. P. N. Daly and N. C. Buchholz, “The MONSOON Implementation of the Generic Pixel Server”, 5496-42. P. N. Daly, N. C. Buchholz and P. C. Moore, “Automated Software Configuration in the MONSOON System”, 5496-43. N. C. Buchholz and P. N. Daly. “The Generic Pixel Server Dictionary”, 5494-20. R. G. Probst, N. Gaughan, G. Chisholm, P. N. Daly, E. A. Hileman, M. Hunten, M. Liang, K. M. Merrill and J. Penegor, “Project Status of NEWFIRM: the Wide-field Infrared Camera for NOAO 4m Telescopes”, 5492-124.