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

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Lectures on File Management
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
01/11/2002SNS Software Final Design Review1 V123S Event Link Encoder, Transmission System and PLL Receiver Thomas M. Kerner (BNL) SNS Global Controls.
Chapter 19: Network Management Business Data Communications, 4e.
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.
Client/Server Architecture
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Distributed Control Systems Emad Ali Chemical Engineering Department King SAUD University.
Chapter 2 TCP/ IP PROTOCOL STACK. TCP/IP Protocol Suite Describes a set of general design guidelines and implementations of specific networking protocols.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
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.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Lecture 1 The OSI Model Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
Presentation on Osi & TCP/IP MODEL
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Input/OUTPUT [I/O Module structure].
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Network Management Fourteen Meeting. Principles Of Network Management Telecommunications management network (TMN) provides a framework for telecommunications.
An Introduction to Software Architecture
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.
Architecting Web Services Unit – II – PART - III.
The OSI Model.
The Control System for the Caltech Millimeter Array Steve Scott OVRO.
Chapter 4 Realtime Widely Distributed Instrumention System.
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.
Monitor and Control Software Green Bank Software Development Division Mark Whitehead.
Processes Introduction to Operating Systems: Module 3.
Atacama Large Millimeter/submillimeter Array Karl G. Jansky Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array GBT Control System.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Open System Interconnection Describe how information from a software application in one computer moves through a network medium to a software application.
April 8/9, 2003 Green Bank GBT PTCS Conceptual Design Review Overview of the High Frequency Observing System Richard Prestage.
CSCE 315 – Programming Studio Spring Goal: Reuse and Sharing Many times we would like to reuse the same process or data for different purpose Want.
ICALEPCS 2005 Geneva, Oct. 12 The ALMA Telescope Control SystemA. Farris The ALMA Telescope Control System Allen Farris Ralph Marson Jeff Kern National.
Background Real-time environmental monitoring is a field garnering an ever-increasing amount of attention. The ability for sensors to make and publish.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
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.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
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
Software Testing Techniques
How SCADA Systems Work?.
Architecting Web Services
Oracle Solaris Zones Study Purpose Only
Maximizing Performance Using LXI
Chapter 3: Open Systems Interconnection (OSI) Model
Mobile Agents.
Service Oriented Architecture + SOAP
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.
Chapter 15: File System Internals
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

GBT General GBT Design Goal Results (2011) - 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 GBT Software Design The general GBT design goals influenced the monitor and control software design principles. The key principles are: - Systems implemented as autonomous units, coordinated by time. - Object-oriented development - Code re-use where possible - Consistent metaphor for devices - Consistent device state machine

GBT Ygor: GBT Monitor and Control What is Ygor? -Software is intangible, so we often create names for it. -Ygor is the name selected for the generic portion of the GBT monitor and control software. The GBT control system is built using Ygor. 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 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: 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 controlled and 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: Coordinators and Managers Scan Coordinator Antenna Coordinator LO1 Manager Spectrometer Manager Antenna Manager Active Surface Manager

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 its 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 its 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 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: 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 Parameters units, precision or accuracy). There is a one-to-one correspondence between a Manager or Coordinator and its 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 18 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: Monitor System

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 22 Questions?