Monitor and Control Software Green Bank Software Development Division Mark Whitehead.

Slides:



Advertisements
Similar presentations
Monitor and Control Software Green Bank Software Development Division Mark Whitehead.
Advertisements

CENTURION™ (C4-SERIES) Erin Cox, Market Research Analyst, Natural Gas Production Controls - Presenter Sanjay Kumar, Market Research Specialist & Product.
Chapter 19: Network Management Business Data Communications, 4e.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Chapter 14: Object-Oriented Design
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Client/Server Architecture
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
Distributed Control Systems Emad Ali Chemical Engineering Department King SAUD University.
1 Object-Oriented Software Engineering CIS 375 Bruce R. Maxim UM-Dearborn.
Overview SAP Basis Functions. SAP Technical Overview Learning Objectives What the Basis system is How does SAP handle a transaction request Differentiating.
E-LABORATORY PRACTICAL TEACHING FOR APPLIED ENGINEERING SCIENCES W O R K S H O P University of Oradea, Romania March 5, 2012 P R E S E N T A T I O N Project.
E-LABORATORY PRACTICAL TEACHING FOR APPLIED ENGINEERING SCIENCES W O R K S H O P University of Oradea, Romania February 6, 2012 G E N E R A L P R E S E.
STRATEGIES INVOLVED IN REMOTE COMPUTATION
Presentation on Osi & TCP/IP MODEL
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
An Introduction to Software Architecture
DCS Overview MCS/DCS Technical Interchange Meeting August, 2000.
Data Acquisition Data acquisition (DAQ) basics Connecting Signals Simple DAQ application Computer DAQ Device Terminal Block Cable Sensors.
The OSI Model An ISO (International standard Organization) that covers all aspects of network communications is the Open System Interconnection (OSI) model.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architecting Web Services Unit – II – PART - III.
Topics of presentation
MODULE I NETWORKING CONCEPTS.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
1 Computing Challenges for the Square Kilometre Array Mathai Joseph & Harrick Vin Tata Research Development & Design Centre Pune, India CHEP Mumbai 16.
CENTRALISED AND CLIENT / SERVER DBMS. Topics To Be Discussed………………………. (A) Centralized DBMS (i) IntroductionIntroduction (ii) AdvantagesAdvantages (ii)
Lecture 1: Introduction to Software Engineering WXGE6103 Software Engineering Process and Practice Object-oriented Design.
Atacama Large Millimeter/submillimeter Array Karl G. Jansky Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array GBT Control System.
Chapter 4 MARIE: An Introduction to a Simple Computer.
The Process Manager in the ATLAS DAQ System G. Avolio, M. Dobson, G. Lehmann Miotto, M. Wiesmann (CERN)
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
April 8/9, 2003 Green Bank GBT PTCS Conceptual Design Review Overview of the High Frequency Observing System Richard Prestage.
Configuration Mapper Sonja Vrcic Socorro,
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
Slide 1 Chapter 10 Object-oriented Design. Slide 2 Characteristics of OOD l Objects are abstractions of real-world or system entities and manage themselves.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
André Augustinus 18 March 2002 ALICE Detector Controls Requirements.
TCP/IP Protocol Suite Suresh Kr Sharma 1 The OSI Model and the TCP/IP Protocol Suite Established in 1947, the International Standards Organization (ISO)
Computer Network Lab. 1 3 장 OSI 기본 참조 모델 n OSI : Open System Interconnection n Basic Reference Model : ISO-7498 n Purpose of OSI Model ~ is to open communication.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI MODEL.
Design Review.
Case Study -- Weather system
Architecting Web Services
How SCADA Systems Work?.
Architecting Web Services
Distribution and components
Part 3 Design What does design mean in different fields?
Oracle Solaris Zones Study Purpose Only
Chapter 3: Open Systems Interconnection (OSI) Model
Chapter 2 Database Environment.
Chapter 2: System Structures
X Windows.
Training Module Introduction to the TB9100/P25 CG/P25 TAG Customer Service Software (CSS) Describes Release 3.95 for Trunked TB9100 and P25 TAG Release.
An Introduction to Software Architecture
Diagnostics Analytical 920 LC Semi-Prep 940 LC
OSI Model OSI MODEL.
Implementing Processes, Threads, and Resources
Presentation transcript:

Monitor and Control Software Green Bank Software Development Division Mark Whitehead

GBT General GBT Design Goals - Provide high sensitivity, low-noise observing platform - Allow for expansion and upgrades - Minimize interdependencies - Allow expert users to manipulate and use every capability of the hardware, allow novice users to think about astronomy, rather than device settings - Create a laboratory of instruments, rather than a monolithic telescope - The key design element: VERSATILITY

GBT General GBT Design Goal Results - GBT monitor and control software has been used with the 140 foot telescope, the Green Bank Interferometer, the 85 meter telescope and the GBT. - “Part of the scientific strength of the GBT is its flexibility and ease of use, allowing for rapid response to new scientific ideas…” - “The GBT is also readily reconfigured with new and experimental hardware, adopting the best technology for any scientific pursuit.” - “The GBT was designed to readily allow upgrades and changes to all aspects of its hardware and software.”

GBT 4 How to address versatility? Modularity

GBT Ygor: GBT Software Design The general GBT design goals influenced the monitor and control software design principles. The key principles are: - System composed of autonomous units, coordinated by time. - Object-oriented development - Code re-use where possible - Consistent device state machine

GBT Ygor: GBT Monitor and Control What is Ygor? - Ygor is the name selected for the generic portion of the GBT monitor and control software. What does Ygor do? - Ygor monitors and controls the many pieces of hardware that make up the GBT. - Ygor provides monitoring for logging purposes. - Ygor provides an alarm and messaging system for unexpected failures. Why the name Ygor? - Ygor is based on the icon of a faithful (but not too bright) laboratory assistant.

GBT 7 Ygor: What does it do? Control Monitor Alerts Data

GBT Ygor: Core Libraries Core LibrariesYgor Path Coordinators and Managers../ygor/libraries/Control Communication Support../ygor/libraries/RPC++ Monitor System../ygor/libraries/Monitor../ygor/libraries/Sampler../ygor/monitor Message System../ygor/libraries/Message FITS System../ygor/libraries/FitsIO

GBT Ygor: Manager Details There is a one-to-one correspondence between an Ygor Manager and a piece of hardware. Managers encapsulate two main functions: - Managers contain the mechanism to sequence a scan based on the basis of clock time. - Managers receive and compute options to configure the device.

GBT 10 Ygor: Managers Manager Instance Manager Instance Hardware (e.g. RX) Hardware (e.g. RX) Application Manager Base Class Manager Base Class The Control library provides base classes used to construct Coordinators and Managers. There is a one-to-one correspondence between an Ygor Manager and a piece of hardware. Managers encapsulate two main functions: - Managers contain the mechanism to sequence a scan based on the basis of clock time. - Managers receive and compute options to configure the device.

GBT Ygor: Coordinators and Managers Scan Coordinator Antenna Coordinator LO1 Manager Spectrometer Manager Antenna Manager Active Surface Manager For a telescope to perform an observation, the various autonomous units must be coordinated. A Coordinator is responsible for the synchronization and operation of Managers or other Coordinators. These base classes allow us to arrange a control hierarchy of Coordinators and Managers.

GBT Ygor: Coordinators and Managers Recall a general design goal: systems should be implemented as autonomous units, coordinated by time. For a telescope to perform an observation, the various autonomous units must be coordinated. The Control library provides base classes used to construct Coordinators and Managers. A Coordinator is responsible for the synchronization and operation of Managers or other Coordinators. A Manager is responsible for receiving device options and using the options to configure/control hardware. These base classes allow us to arrange a control hierarchy of Coordinators and Managers.

GBT Ygor: Coordinator Details A daemon (process) called the ScanCoordinator resides at the top of the control hierarchy. When a user starts a scan, the ScanCoordinator uses a three phased approach to coordinate it’s children. First, a signal is issued to all systems requesting a start-time estimate. Second, when all the children have reported back, the ScanCoordinator issues the activate/arm command to command the children to start at the agreed upon time. Finally, each child then performs it’s function, relative to the start time. For example, the antenna follows a precise trajectory or a backend starts integrating. Where high synchronization rates are needed (e.g. switching signals) hardware signals are used.

GBT Ygor: Manager Details - Scans Upon receiving an activate command from a parent, managers connected directly to hardware automatically sequence themselves through a state machine. Each manager derives from a Manager base class that contains the state machine. Standby Ready Stopping Running Activating Committed Aborting Off

GBT Ygor: Manager Details - Scans StateAction OffManager is dormant/inactive. StandbySimilar to Off, but Manager monitors device (e.g. receiver temperatures). ReadyManager/device is ready for configuration and use. ActivatingScan is being initiated but has not started – can be re-initiated/restarted. Device settings updated. CommittedScan is about to start - can no longer be re-started. RunningScan is in progress. StoppingScan is ending normally. AbortingScan is ending abnormally. Terminated by Manager/device or user.

GBT Ygor: Manager Details – Device Options Configurable device options are represented using a Parameter class. The Ygor framework defines 16 base Parameters for scan coordination (all are known to the Manager base class). Programmers add additional Parameter classes to represent device-specific settings. Parameters contain arbitrary C++ data; Parameters add validation and can express dependencies. Example: - Consider three inputs – m, x and b. - Each input would be a Parameter. A fourth Parameter, y, depends upon the other three inputs to represent the expression y = m*x + b. - If m, x or b change then the system automatically re-computes y.

GBT Ygor: Communications Support The Communications library was built using Open Network Computing Remote Procedure Calls (ONC-RPC). ONC-RPC uses ‘eXternal Data Representation’ (XDR) to encode data. XDR allows binary communication with heterogeneous computing architectures. Very fast, low-latency, maintains data-integrity, automatic recovery on network errors. Eliminates inter-system dependencies and alleviates the need to restart processes due to inter-dependence.

GBT Ygor: Communications Support Recall that: (1) “Managers receive and compute options to configure the device.” and (2) Options are expressed via Parameter classes. Programmers create Data Description libraries (DDL) which express Parameter and ancillary type information (e.g. a Parameter’s units, precision or accuracy). There is a one-to-one correspondence between a Manager or Coordinator and it’s Data Description Library. The Communications library uses the Data Description Libraries to encode/decode data and transmit/receive data between communication end- points (e.g. device managers and user-interfaces). Analogy: The DDL is a cookbook of recipes. The Communications library looks up in the DDL an ID (cookbook page number) and type information (a recipe) to encode/decode data for transmitting over the wire.

GBT Ygor: Monitor System Just as the Parameter class is used to set hardware options, a Sampler class is used to read hardware options. In addition to expressing Parameter type information, Data Descriptor libraries are used to express Sampler type information. Processes use the Sampler library to place data into a ring-buffer. Processes use the Monitor library to receive sampled data from other systems. Two support programs, the Transporter and the Accessor, allow for monitoring across a distributed system. The Transporter makes Sampler data available to the Accessor. The Accessor multiplexes data to user-interfaces or other applications.

GBT Ygor: Monitor System

GBT 21 Ygor: Manager Details

GBT Ygor: Message System A message system is used to provide alarm or information events to users or operators. The Message library includes a Message class which encapsulates state (asserted or not asserted). Messages express event severity (e.g. Notice, Warning, Error, etc.). Messages have printf-like capability: message.check(x>0, “The value of x is %f”, x); A support program, the Message Multiplexor, is used to manage all system messages. Specifically, the Message Multiplexor: - Receives all messages - Publishes messages to user interfaces - Logs message events for archival - Clears messages when a device is turned off or restarted

GBT Ygor-based Monitor System

GBT 24 Ygor gives us FITS VEGAS Antenna LO FITS sdfits SDFITS Pipeline

GBT Ygor: FITS System All system data are written to FITS files. The Ygor FITS library, FitsIO, encapsulates the CFITSIO library. See for details about CFITSIO. The library provides an interface: - for manipulating data tables - for writing custom device data - for accessing a wide variety methods associated with scan information (e.g. start time, scan ID, etc.) and spectrometer information (e.g. blanking, switching signals, etc.)

GBT 26 ASTRID: Astronomer’s Integrated Desktop

GBT 27 CLEO: Control Library for Engineers and Operators

GBT 28 Beamforming Instrument Integration 1 Straw man proposal: recommend minimal integration for the beamforming backend on initial GBT tests. - Deriving from Manager Base class and implementing control and monitor logic with parameters and samplers in C++ is straight-forward. Graduate students would not need much guidance to accomplish this. - Get the manager state machine and start-of-scan signals for free. - Get ASTRID configuration and observation scripts for free. - We have experience with a similar architecture (VEGAS) and may be able to reuse code. - We took this approach with FLAG and it worked well. - If there is a long term path for the instrument on the GBT, all the infrastructure will be in place so making it a user instrument could be easier.

GBT 29 Beamforming Instrument Integration 2 Antenna Front End DC & D Back End M&C DF Data Questions for discussion: Assume we’ll re-use and modify RcvrArray1_2? Does the down converter/digitizer need a manager? WVU – manager development? WVU – HI pipeline development? BYU – core beamformer firmware? ??? – pulsar search software? What is the firmware architecture for the modes (spectral, pulsar, calibration)? Similar to VEGAS?

GBT 30 Questions?