atst software and instrument development

60
ATST Software and Instrument Development 18 March 2009 Boulder, CO

Upload: metea

Post on 08-Jan-2016

60 views

Category:

Documents


5 download

DESCRIPTION

ATST Software and Instrument Development. 18 March 2009 Boulder, CO. Overview. ATST Software framework principal systems interfaces Instrument Development ATST-supplied tools mode scripts software for hardware instrument interface data plugins. Framework. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ATST Software and Instrument Development

ATST Software andInstrument Development

18 March 2009Boulder, CO

Page 2: ATST Software and Instrument Development

Overview

• ATST Software– framework– principal systems– interfaces

• Instrument Development– ATST-supplied tools– mode scripts– software for hardware– instrument interface– data plugins

Page 3: ATST Software and Instrument Development

Framework

• Common Services Framework (CSF)– defines the software architecture for communications,

control, and services.

• ATST base (“base”)– provides implementations for common controllers and

connections.

• Instrument Control System– controls the execution of observations by an instrument.

“A software framework, in computer programming, is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality.” –Wikipedia.

Page 4: ATST Software and Instrument Development

Framework

• Instrument Control System Framework– execution of instrument scripts

• observing mode, experiment parameters

– building collections of mechanism• management controllers, hardware controllers, connections

– operating cameras• synchronization, data transfer, header collection

“Frameworks are similar to software libraries in that they are reuseable abstractions of code wrapped in a well-defined API. Unlike libraries, however, the overall program's flow of control is not dictated by the caller, but by the framework. This inversion of control is the distinguishing feature of software frameworks.” -- Wikipedia

Page 5: ATST Software and Instrument Development

Common Services Framework

• Control Model– command, action, response

• Container/Component Model– idealized installable components

• Configuration Model– narrow command interface, broad parameterization

• Service Model– useful functionality provided as external server resources.

• Documented in SPEC-0022– “Common Services Users’ Manual”

Page 6: ATST Software and Instrument Development

Command-Action-Response

• Command– control configurations, not

actions– do not block– queue & schedule configurations

• Action– perform work in the background– multiple, simultaneous actions

• Response– 1st: after command accepted– 2nd: after action completes– associated configuration ID

Page 7: ATST Software and Instrument Development

Containers and Components

ComponentsComponents

Container

Lifecycle control Service interfaces

Custom interface

User (functional) code

Toolbox

CS code

Page 8: ATST Software and Instrument Development

Components

• Uniform Lifecycle– Part of technical architecture– Managed by container

• Access to services– Provided by container– Shared/private services

• Isolated namespace– Independent from other

components in same container

Create

Initialize

Startup

Shutdown

Uninit

Running

(Functional Behavior)

Remove

Page 9: ATST Software and Instrument Development

Configurations

Configuration

AttributeTable

AttributeName Value

Header Tag

Access Key Config Id

AttributeName Value

AttributeName Value

Page 10: ATST Software and Instrument Development

Services

“Major” Service Classes “Minor” Service Classes

• App (for connections)

• Event

• Log

• Health

• Archive

• Property and Constant

• Header

• IdDB

Used by all ComponentsAvailable to

Support Functionality

Page 11: ATST Software and Instrument Development

Example:ViSP

• Five systems: hardware controller and 4 Virtual camera controllers– hardware controller

• one C++ container holding components– ICS instrument sequencer (atst.ics.visp)– ICS mechanism components (atst.ics.visp.mc.*)

» slit, slide, grating(3), stage(4)

– each Virtual Camera controller• one C++ container holding components

– ICS virtual camera controller (atst.ics.visp.dc)– ICS bulk data transfer controller (atst.ics.visp.dc.bdt)

Page 12: ATST Software and Instrument Development

ViSP Container 5ViSP Container 5ViSP Container 4ViSP Container 4

ViSP Container 3ViSP Container 3

dcdcdc.vcdc.vc

dc.vc.timebasedc.vc.timebasedc.vc.cameradc.vc.camera

dc.bdtdc.bdtdc.bdt.buffersdc.bdt.buffers

Example: ViSP Components

ViSP Container 1ViSP Container 1

isis

mcmcmc.slitmc.slit

mc.slit.deckermc.slit.decker

mc.slit.rotmc.slit.rot

mc.slidemc.slide

mc.grating1mc.grating1

mc.grating1.amc.grating1.a

mc.grating1.bmc.grating1.b

mc.grating1.gmc.grating1.g

mc.stage1mc.stage1

mc.stage1.gmc.stage1.gmc.stage1.bmc.stage1.bmc.stage1.amc.stage1.amc.stage1.zmc.stage1.zmc.strage1.ymc.strage1.ymc.stage1.xmc.stage1.x

ViSP Container 2ViSP Container 2

dcdcdc.vcdc.vc

dc.vc.timebasedc.vc.timebasedc.vc.cameradc.vc.camera

dc.bdtdc.bdtdc.bdt.buffersdc.bdt.buffers

Page 13: ATST Software and Instrument Development

Principal Systems

• Observatory Control System– executes the observing program that controls the

experiment.

• Telescope Control System– moves the telescope and controls the optical configuration

• Data Handling System– transfers, displays, processes, and stores camera data.

• Instrument Control System

Page 14: ATST Software and Instrument Development

Observatory Control System

• Facility Management– deploy containers, components, and systems– control services

• Experiment Management– build, queue, and manage experiments– create and run observing programs– coordinate experiments and data

• User Interactions– alarms, health, telescope control– script building, observing control

Page 15: ATST Software and Instrument Development

Telescope Control

TCS Functions:• Ephemeris calculator• Coordinate conversions• Pointing corrections• Mount and enclosure trajectories• Wavefront correction strategy• Polarization and calibration configuration

TCS

Mount

Azimuth

Altitude

Coudé

M1 Mirror

Actuators

Supports

Thermal

M2 Mirror

Hexapod

Tip-Tilt

Lyot Stop

Heat Stop

Occulter

FeedOptics

M3

M4

M7-M9

GOS

Enclosure

Carousel

Shutter

Thermal

Vent Gates

Wavefront

Coudé AO

Coudé aO

Coudé CT

Acq.

Camera

Filter

Shutter

Pointing

Optics

Trajectories

Coordination

PAC

Polarization

Analysis

Calibration

Control & coordinate the subsystems:• Mount Control System• M1 Mirror Control System• M2 Mirror Control System• Feed Optics Control System• Wavefront Correction Control System• Enclosure Control System• Acquisition Control System• Polarization, Analysis, Calibration System

Page 16: ATST Software and Instrument Development

Data Handling

• High-speed instrument data• High-speed data storage• High-speed quick look display

Inst Inst Inst

Fibre Channel Switch

RealtimeStorage

NSODigital Archive

Virtual SolarObservatory

Processing

Reduction

Databases

Calibration

Quality Assurance

Pipeline

Inst

DataStorage

QuicklookQuicklook

Quicklook

Data Control

• Large volume data processing• Use of existing Digital Archive• Connection to worldwide VSO

Page 17: ATST Software and Instrument Development

Instrument Control

Observation ManagementObservation Management

ObservationsObservations

ScriptsScripts

Instrument SequencerInstrument Sequencer

Mechanism Controller

Mechanism Controller

Detector ControllerDetector

Controller

Other Instruments

Other Instruments

Page 18: ATST Software and Instrument Development

Interfaces

• ICS Interfaces– Observatory Control System– Instruments (ViSP, VBI, VTF, NIRSPen)– Synchrobus

• Instrument Interfaces– ICS– Camera

• Synchrobus• Bulk Data Transfer

• User Interfaces

Page 19: ATST Software and Instrument Development

Instrument Control System Interfaces

OCS4.2OCS4.2

ICS3.1.4ICS

3.1.4TCS4.4TCS4.4

DHS4.3

DHS4.3

VBI3.2VBI3.2

ViSP3.3

ViSP3.3

NIRSP3.4

NIRSP3.4

VTF3.5VTF3.5

Data LAN

SynchroBus

Cameras3.6

Cameras3.6

ICD 3.1-4-4.2

ICD 3.1.2-3.6

ICD 3.1.4-3.2 ICD 3.1.4-3.3 ICD 3.1.4-3.4 ICD 3.1.4-3.5

ICD 3.5-3.6ICD 3.4-3.6ICD 3.3-3.6ICD 3.2-3.6

ICD 3.1.1-4.4

ScriptsScripts

ICD 3.6-4.3

ICD 3.1.1-3.1.2

SynchroBus3.1.2

SynchroBus3.1.2

ICD 3.1.2-3.1.4

GOS3.1.1GOS3.1.1

BDT4.3.1BDT4.3.1

UsersUsers

Page 20: ATST Software and Instrument Development

OCD to ICS

• Select the controlling experiment– Instrument then has access to experiment’s parameters.– ICS can allocate and control instruments in experiment.

• Change the current observing mode– Instrument responds to new mode with new script.– Instrument can cancel/abort current script.

• Events– Unallocated instruments can ‘follow’ observing mode.– Current script status (% done, iteration, alarms, etc) is

reported.

Page 21: ATST Software and Instrument Development

ICS to Instrument

• Property Definitions– general instrument properties

• beamlines in use, current configuration

– mechanisms and their properties• connection type, positions, rates, channels, etc.

– virtual cameras and their properties• cameras, identifiers, data filters, sizes, etc.

• Script Definitions– available modes– repetitions, wavelenght, order, steps, policies, etc– script library

Page 22: ATST Software and Instrument Development

Virtual Camera Controller

Virtual Camera Controller

Virtual Camera Controller

Virtual Camera Controller

Virtual Camera Controller

Virtual Camera Controller

Polarizer ControllerPolarizer

Controller

Synchrobus

GPS ReceiverGPS Receiver Timecode GeneratorTimecode Generator

DistributionHub

DistributionHub

Timecode Receiver

Timecode Receiver

Timecode Receiver

Timecode Receiver

Timecode Receiver

Timecode Receiver

Timecode Receiver

Timecode Receiver

NTP/Ethernet

Antenna

Network Switch

Network Switch

IRIG-B/DCLS Fiber

CPUCPU

CPUCPU

CPUCPU

Page 23: ATST Software and Instrument Development

Synchrobus

• Symmetricom bc635PCI-V2– PCI bus– IRIG B analog or DC Level Shift– 100 nsec resolution– .000001-100MPPS rate synthesizer– external event capture– flywheel drift on signal loss– Linux SDK

Page 24: ATST Software and Instrument Development

Synchrobus Software

• ATST base TimebusController– slave to GPS/TAI– rate generation– event interrupt– input pulse tagging

• ATST base ITimebusConnection• ATST base Bc635Connection

– Symmetricom bc625 driver and library– Implementation of TimebusController

functions.

TimebaseControllerTimebaseController

BaseControllerBaseController

ITimebaseConnectionITimebaseConnection

Bc635ConnectionBc635Connection

HardwareControllerHardwareController

ITimebaseConnectionITimebaseConnection

<uses>

Page 25: ATST Software and Instrument Development

Instrument to camera

• TBD– built from the existing virtual camera interface of DST.

• Modes:– accumulated, burst, frame select, monitor– focus, alignment, etc

Page 26: ATST Software and Instrument Development

Camera to Synchrobus

• Select bc635 modes– rate generation, event interrupt

• Select pulse tagging– reference time, pulse multiplier

Page 27: ATST Software and Instrument Development

User Interfaces

• Resident Astronomer– experiment control

• Observer/Operator– facility control

• telescope, framework

– observation control• observing scripts, mode

• Instrument Scientist– instrument configuration

• instrument scripts, telemetry

ExperimentsExperiments

ObservationsObservations

PropertiesProperties

BuildAstronomer

Scientist

BuildAstronomer

Scientist

RunObserverOperator

RunObserverOperator

Page 28: ATST Software and Instrument Development

Manage Experiments

Manage Experiments

Build Experiments

Build Experiments

Run Experiments

Run Experiments

ManageData

ManageData

OperateFacility

OperateFacility

Analyze Data

Analyze Data

ControlData Resources

ControlData Resources

Select Experiments

Select Experiments

Select Instruments

Select Instruments

Resident Astronomer

Resident Astronomer

Instrument Scientist

Instrument Scientist

ObserverObserver

OperatorOperator

EngineerEngineer OperateComponents

OperateComponents

OperateTelescopeOperate

Telescope

Manage ServicesManage Services

Run ScriptsRun

Scripts

Configure InstrumentConfigure

Instrument

Build Instruments

Build Instruments

Build ScriptsBuild Scripts

ComponentsComponents

ExperimentsExperiments

ServicesServices

InstrumentsInstruments

ScriptsScripts

TelescopeTelescope

Data StoreData Store

Actors Roles Resources

Page 29: ATST Software and Instrument Development

Instrument Development

• ATST-supplied software– CSF, base, ICS, mini-DHS, TCS simulator

• Observing mode scripts– one script for each supported mode, null mode script.

• New hardware– help extend ATST base with controllers and connections

• Instrument interface– define all instrument properties and configurations

• Data plugins– quick look display, quality assurance, reduction software

Page 30: ATST Software and Instrument Development

Instrument Development

• Complete facility instrument– completely integrated into software architecture

• synchronized, modal response, data transfer

– full use of software framework• events, alarms, health, logs, component/container

• Proxy facility instrument– partial use of software framework

• non-standard parts, proxies, stand-alone components

• Visitor facility instrument– partially integrated into software architecture– minimal use of software framework

Page 31: ATST Software and Instrument Development

Instrument Development

• Instrument User Interfaces– stand-alone engineering user interface

• used for calibration, configuration, and engineering• may use non-framework components

– instrument scientist interface• development and testing of mode scripts• status reports during observations

Page 32: ATST Software and Instrument Development

Mode "Scripts"

• Observatory broadcasts its current observing mode– all systems run in that mode (OCS, TCS, ICS, instruments)– allocated instrument execute their appropriate script

• Modes for each instrument:– setup– observe– calibrate (wave, pol, tel, etc)– specialized instrument modes

Page 33: ATST Software and Instrument Development

New hardware

• Instrument builders will choose/use new hardware– build/find Linux drivers– build CSF Controller support– possibly build new connection interfaces– build new hardware connections.

• Add hardware to ATST standards– propose new standard– develop to CSF software standards– enjoy full ATST support of software

Page 34: ATST Software and Instrument Development

Instrument Interface

• Properties– each instrument component should have a set

• range, positions, rates, etc

– stored in the Property service– retrieved automatically at load time

• atst.ics.visp.mc.slide (ContinuousMotorController)– {minpos, maxpos, scale, channel, maxvel}

• atst.ics.visp.mc.grating1 (DiscreteMotorController)– {minpos, maxpos, pos, channel, maxvel}

Page 35: ATST Software and Instrument Development

Data Plugins

• Quick Look– convert data stream to quick look display– low latency, fully automated, no display feedback

• Quality Assurance– convert data stream to uqality control data files– high latency, selective files

• Reduction– only necessary to physically reduce the data volume

Page 36: ATST Software and Instrument Development

OCS User Interfaces

Page 37: ATST Software and Instrument Development

Experiment Control

Page 38: ATST Software and Instrument Development

How the display is organizedInstrument setup/control/monitoring

Observation mode setup/control/monitoring

Detaileddisplay/setup

Page 39: ATST Software and Instrument Development

What the display is showingExperiment being examined

Instrument being displayed

ModeStatus(color)

Time left

Mode being displayed

Details for ViSP'sObserve mode

ViSP action for ObserveMode

Active mode (by color)

Time left

Finish rule

Instrument health (by color)

Operation status(by color)

Status messages go here

Page 40: ATST Software and Instrument Development

What the display controlsExperiment being examined

ModeControl(pull down)

Operation control (pull down)

Set params for ViSP's Observe mode

Select action forObserve Mode

Select mode to display

Instrument todisplay

Display mode overview (deselect instrument)

Display inst. overview (deselect mode)

Page 41: ATST Software and Instrument Development

Alarm/Health Management

Page 42: ATST Software and Instrument Development

What the display is showingHealth (by color) Alarm status (by color)

Raised alarm

Acknowledged alarm

Log a comment about an alarm

View alarm history

Page 43: ATST Software and Instrument Development

Checking an alarm

Details on alarm. Can acknowledge, clear, or leave raised.

Page 44: ATST Software and Instrument Development

Checking health detail

Can get details on any component byselecting that component.

Page 45: ATST Software and Instrument Development
Page 46: ATST Software and Instrument Development

Framework

• Observatory Control System– executes the observing program that controls the

experiment.

• Telescope Control System– moves the telescope and controls the optical configuration

• Data Handling System– transfers, displays, processes, and stores camera data.

“Frameworks are similar to software libraries in that they are reuseable abstractions of code wrapped in a well-defined API. Unlike libraries, however, the overall program's flow of control is not dictated by the caller, but by the framework. This inversion of control is the distinguishing feature of software frameworks.” -- Wikipedia

Page 47: ATST Software and Instrument Development

Overview

• ICS Interfaces– Synchrobus, Observatory Control, Data Handling

• Requirements– Synchronization, scripting,

• Design– Sequencer, mechanism, detector controllers– ATST base controllers

• Common Services Framework

Page 48: ATST Software and Instrument Development

ICS Interfaces

• Put interface picture here

Page 49: ATST Software and Instrument Development

Synchrobus Requirements

• Requirements

Page 50: ATST Software and Instrument Development

Synchrobus Design

• Design picture

Page 51: ATST Software and Instrument Development

Synchrobus Interface

Page 52: ATST Software and Instrument Development

OCS Interface

Page 53: ATST Software and Instrument Development

DHS Interface

Page 54: ATST Software and Instrument Development

ICS Design Requirements

Page 55: ATST Software and Instrument Development

ICS Design

Page 56: ATST Software and Instrument Development

ICS Instrument Sequencer

Page 57: ATST Software and Instrument Development

ICS Components

Page 58: ATST Software and Instrument Development

ICS Detectors

Page 59: ATST Software and Instrument Development

ATST Base Controllers

Page 60: ATST Software and Instrument Development

Common Services Framework