FLAMINGOS2 SOFTWARE - PowerPoint PPT Presentation

1 / 60
About This Presentation
Title:

FLAMINGOS2 SOFTWARE

Description:

University of Florida. Infrared Astrophysics. FLAMINGOS-2 CDR. August 2003 ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 61
Provided by: astro8
Category:

less

Transcript and Presenter's Notes

Title: FLAMINGOS2 SOFTWARE


1
FLAMINGOS-2 SOFTWARE
  • THIS PAGE INTENTIONALLY LEFT BLANK

2
Instrument Software Context
Engineering (Console)
3
Conext Observatory System
4
Context Intrument (Sub)system(s)
5
Gemini Requires Flamingos Software to conform to
the following
  • Requirements for IR Imagers Spectrometers (CICS
    documentation)
  • Requirements for Detector Array Controllers (CICS
    documentation)
  • ICD1ab - Command Interface Baseline
    Attribute/Value Interface
  • ICD1c - Baseline Data Handling System (DHS)
    Interface
  • ICD1.9/3.1 - Science Instrument to Observatory
    Control System (OCS)
  • ICD1.9/3.2 - Science Instrument to DHS
  • ICD1.9e/3.x -The Flamingos/OCS Interface
  • ICD2 - System Status and Alarm Interface
  • ICD3 - Bulk Data Transfer (DHS)
  • ICD4 - Logging Information
  • ICD6 - ICS/TCS Direct Control Interface
  • ICD13 - Standard Gemini Instrument Controller
  • ICD 14 - How to build a real ICS from the CICS
    template
  • ICD16 - Parameter Definition Format
  • SPE-C-G00 Software specification requirements
  • SPE-C-G0009 - Software programming standards
  • SPE-C-G0011 - Software configuration control plan
  • SPE-C-G0014 - Software requirements specification

6
Context Full Client Server Architecture
Instrument Engineering Console
Observatory Data Services (DHS)
Cisco Switch
Observatory Data LAN
Observatory Control LAN
Flamingos2 Context Client/Server Architecture
Observatory Data Transfer Agent
Inet Boot Service Executive Agent (Daemon)
Starts Manages All Agents
Pfeiffer Vacuum Monitor Agent
Image Server
Epics IS SAD
Pixel/Image Pre- Process
Epics Channel Server
Frame Grab Daemon
MCE4 Fibre
LakeShore218 Temperature Agent
UFLIBClient
MCE4 Detector Control Agent
LakeShore331 Temperature Agent
PorteScap Motor Agent
Observatory Control LAN
7
ICD1.9e/3.x - The Flamingos/OCS Interface
  • Specification is 100 Epics Channel Access
  • ICS Epics DB exposesa set of top-level Epics
    Records to OCS via is Instrument Sequencer (IS)
  • Top-level (IS) Apply Record accepts Command
    Directivesfrom OCS
  • Command Directives are Abort, Mark, Preset,
    Start, Stop
  • Command Directives are accompanied with a Client
    ID
  • OCS marks IS CAD records to be processed by
    setting CAD inputs
  • OCS monitors IS CAR for command activity
  • OCS monitors selected SAD records for flags,
    status, and alarms
  • Each CAD record supports a unique command,
    categorized as
  • Compulsary Sequence Commands
  • Engineering Commands
  • General (Instrument Specific) Commands
  • Observing Tool Sets Nominal CAD Inputs
  • Engineering Console Sets Override CAD Inputs

8
Epics Client Server Architecture TRECS vs.
FLAMINGOS-2
OCS, AT scripts
OCS, AT scripts
TRECS
FLAMINGOS-2
Solaris/Linux
Solaris/Linux
VxWorks Epics 3.13.4-8 OR Epics 3.14.x
VxWorks Epics 3.13.4
CC, DC, EC Agents
Solaris/Linux
Grand Unification (GU) Potentially
Solaris/Linux Epics 3.14.x (Portable Epics)
Solaris/Linux
EPICS IS Instrument Sequencer DC Detector
Controller CC Component Controller EC
Environment Controller NOT an EPICS DB,
but uses Epics Channel Access
9
Flamingos-2 Instrument Sequencer Records
(ICD1.9e/3.x)
  • Compulsary or Standard Gemini System CADs (and
    CARs)
  • flamabort (and flamabortR)
  • continue(R) datum(R) debug(R) init(R)
    observe(R) park(R) pause(R) stop(R) test(R)
  • Each of the above Command Action Directive (CAD)
    records has an associated set of inputs
  • Each Input must be checked for correctness and
    accepted or rejected
  • Once all inputs are accepted, a CAD is marked
    for processing.
  • Once processing commences a CAD's associated
    Comman Action response (CAR) record is BUSY
  • When the Command completes successfully the CAR
    becomes IDLE
  • If the Command fails or Times-Out the CAR is set
    to ERR
  • Compulsary or Standard Instrument System CADs
    (and CARs)
  • flamdataMode
  • flaminstrumentSetup
  • flamobservationSetup
  • flamreboot
  • flamsetDhsInfo
  • flamsetWcs

10
Flamingos-2 Science Data (DHS ICD 1.9/3.2)
  • ObservationID DHS DataLabel
  • DataLabel string terminated by Index.SubIndex
    field
  • MEF (MultiExtension FITS) is Gemini Standard
  • Primary Header Exposure Seqence in Dither
    Pattern
  • Single Extension Header Dither Index.SubIndex
  • 2048x2048 Single Image Data
  • 32 bit signed integer raw image
  • Archiving Permanence on/off according to SetDHS
    CAD
  • Quick Look Streams Depend on Network Bandwidth
  • 512x512 image from 4x4 window averaging
  • Banded Image of Spectra
  • Full Image Scaled to 16 or even 8 bits?

11
Lessons Learned
  • Gemini 'Baseline' evolved from Gem6.x to Gem7.x
    to current Gem8.4 while TRECS did not.
  • Preship AT performed with Gem6.0
  • Summit AT required substantial upgrade work to
    Gem8.4
  • Development
  • Emulate Summit environment as closely as possible
  • Keep development environment sync'd with Summit
  • Ensure stability continuity in staff and work
    assignments
  • Unit tests should provide standalone
    capabilities
  • AT (preship)
  • Need lab. support for interface tests
  • OCS TCS local simulators (not just DHS)
  • Deployment Commisioning
  • Defer as little as possible
  • PPC replaced to support newer VxWorks Epics
    baseline
  • Cisco replaced and reconfigured to support summit
    network topology
  • Other Projects
  • NASA RXTE OSS, COTS
  • NASA EOS DCE/RPC, COTS

12
Work Packages Deliverables
  • C Class Libraries, C Lbraries
  • Unit Test Applications (clients)
  • Daemons (server agents)
  • GUI(s) Java or DHTML or Gtk
  • Development Test Environment
  • OS System Libraries
  • Device Driver(s) Libraries
  • Compiler Debugger
  • Installation (Make) scripts
  • Configuration files
  • Docs.

13
Client/Server Architecture Comparison
  • 3-Tier, Fat Client or Thin Client (Fat Server),
    Distributed
  • Peer-to-Peer
  • Web Services
  • Gui Epics Agenst are all the above
  • Gemini
  • Epics Channel Access
  • Each Channel provides network I/O with DB element
  • I/O enumerates DB element processing
  • DM processing triggers Instrument Func. Callbacks
  • DHS IMP
  • C/C RPC like function interface provided by
    library
  • DHSClient calls DHS library functions to
    interact/transact
  • Control, Config, Status
  • Header Keywords
  • Images
  • UFLIB
  • C STL (stdlib), Object Serialization over
    Sockets (OSS)

14
Client/Server Technologies (cont'd)
  • GTC CORBA/RPC -- No DB, more like DHS library
  • Client/Server with connection mediated by Object
    Request Broker
  • GTC provides Separate Client and Server class
    libraries
  • GTC provides environment of standard services
  • Instrument Team develops specialized clients and
    servers using above
  • EOS DCE/RPC now considered obsolete

15
Comments on Mothodologies
  • Stroustrup
  • No Waterfall
  • Iterate analysis, design, and implementatio
  • Allow for feedback through iterations
  • Meyers, others
  • Design for change Design by contract
  • Progam in the future tense (for change)
  • Plan for modification and enhancement
  • Kernighan Pike
  • Program defensively
  • Consistency
  • Plan to throw away (at least) once

16
UML Standard Diagrams
  • Not all required
  • Hybrids are allowed
  • Model Elements Diagrams
  • Use Cases requirments and analysis
  • Packages Activities subsystem partitioning
    and work units
  • Classes object specification
  • Objects class instances and usage
  • Collaborations object interactions
  • Components -libraries, applications
  • States Activies object and application i/o
    and logic flow
  • Configurations Change Management source code
    to (re)install
  • Deployment install configure

17
Elements of UFUML
  • Requirements
  • Vision, Stakeholder Needs, Use Cases/Scenarios
  • Supplementary Specs. (ICDs)
  • Classes Objects Collaborations
  • Components (Work) Packages
  • State (Runtime Transitions) Activities
  • CM Deployment
  • Activities (Runtime)
  • Scenarios Testing
  • Unit Tests, Integration Test
  • Acceptance Test
  • Iterations

18
UML Diagrams Interelated
19
Elements of UFUML (Hybrids)
20
UML Iterative Model
21
Vision Stakeholders (Req. Guidelines)
  • Support Queued and Classical Observating modes
  • Support all Standard Gemini Facility Instrument
    Interfaces (OCS TCS Epics, DHS IMP)
  • Instrument Control Data Acq.
  • via Engineering Console
  • via Instrument Sequencer (IS) Epics Status and
    Alarm Database (SAD)
  • Telescope Info. from TCS SAD.
  • No requirement to merge Flamingos-2 IS (Epics DB)
    with WFS IS.
  • Provide source install config. test
    procedures, documentation.

22
Use Cases (Func. Reqs.)
  • Interface/Architectural Requirements
    Guidelines
  • Instrument Sequencer (IS) provides primary
    interface between the Instrument and all external
    Observatory Control System elements. Actual
    sequencing is fairly minimal.
  • Internal Subsystems (UFProtocol)
  • IS -- Component Controller Agent (CC)
  • IS -- Environment Controller Agent (EC)
  • IS -- Detector Controller Agent (DC)
  • IS -- Data Acquisition Agent (DA)
  • IS -- SAD (Epics Channel Access).
  • DA -- DHSClient.
  • External Subsystems
  • IS -- OCS (Epics Channel Access).
  • IS -- TCS (Epics Channel Access).
  • DHSClient -- DHS Services Archive Quicklook
    (IMP).

23
Use Cases(cont'd)
  • Component Control, Status and Alarms (SAD)
  • MOS Cryostat CryoCooler -- power on/off
  • Detector Cryostat CryoCooler -- power on/off
  • Decker Wheel -- stepper motor via RS232 serial
    com.
  • MOS wheel -- stepper motor via RS232 serial com.
  • 2 Filter Wheels -- stepper motor via RS232 serial
    com.
  • Lyot Wheel -- stepper motor via RS232 serial com.
  • Grism Wheel -- stepper motor via RS232 serial
    com.
  • Focus Drive -- stepper motor via RS232 serial com.

24
Use Cases (cont'd)
  • Environment Control, Status and Alarms (SAD)
  • Lakeshore 340 (2 channels) via RS232 serial com.
  • LakeShore 218 (8 channels) via RS232 serial com.
  • Granville-Philips (2 channels) via RS232 serial
    com.

25
Use Cases (cont'd)
  • Detector Control, Status and Alarms (SAD)
  • MCE4 -- via RS232 serial com.
  • Science Data Acquisition Handling
  • EDT Fiber Link from MCE4 (Intra-subsystem)
  • Gigabit or 100BaseT Ethernet to Gemini Data LAN
    and DHS

26
Use Cases (cont'd)
  • Engineering Console (GU I)
  • Standalone operation of all instrument functions
  • Provides OCS - IS interface test tool
  • Supports AT and Comissioning
  • System and Component Power, (re)configuration,
    (re)boot, shutdown
  • Baytech -- individual power control via network
  • (X)Inetd -- network shutdown, (re)boot control

27
Network Interfaces Protocols
  • TCP/IP over Ethernet
  • Separate Data (for DHS) and Control (for Epics)
    LANs
  • Perle Console Server 100BaseT Ethernet (Control
    LAN) to RS232
  • UFProtocol -- TCP/IP (Sockets)
  • Epics Channel Access -- UDP TCP (Sockets)
  • h3) DHS IMP -- RPC TCP (currently
    Solaris-Sparq will Linux libraries binaries be
    available?)
  • NFS -- RPC UDP

28
Implementation Reqs.
  • Each instrument subsystem is a network Agent
    (Service) and can run on any host.
  • Reuse many elements of TReCS software, perhaps
    some NICCI.
  • Solaris or Linux, Gnu C/C, avoid VxWorks and
    Capfast schematics.
  • Engineering Console (GUI) - Java or DHTML or
    GTK/Gnome
  • SADs purely Epics Channel Names.

29
Implementation Reqs.
  • IS is integrated Epics Portable Channel Service
    UFProtocol application.
  • OCS uses IS Epics Channel name types CAD, CAR,
    Apply, and SAD only (no GenSub if possible).
  • Epics Device layer records (CAD, CAR, Apply) used
    for unit test with Agents. Not integrated with
    IS.
  • Device control performed by Agents.
  • Agents derive from UFLIB and are very similar to
    TReCS Agents

30
Implementation Reqs.
  • TCS is read-only for DataSet header elements (no
    IS to TCS or SCS required).
  • DHS client application will reuse UFLIB class(es)
    similar to TReCS but generate GMOS-like data
    formats.

31
Use Case EC - Dev. Agent
  • Obs. DataLabel
  • Engineering Console (EC) GUI to Epics Device
    Layer DB via Channel Access
  • Epics Device DB TCP/IP to Agent
  • Agent Epics Channel Access to Epics Device DB
    SAD

32
Use Case IS Dev. Agent
  • Obs. DataLabel
  • Instruement Sequencer (IS) to Epics DB via
    Channel AccessEpics DB TCP/IP to Agent
  • Agent Epics Channel Access to Epics Device DB
    SAD

33
Use Case Dev. Agent Perle ConsoleServer RS232
  • Agent TCP/IP (socket) to Perle TerminalConsole
    via LAN
  • Perle TerminalConsole to RS232 back

34
C Class Libraries
  • LibUFProtocol -- Socket Serialization Objects
    (Also Java counterpart)
  • LibUF -- General Posix Runtime
  • LibDevice -- Detector, Environment, Component
    Control
  • LibUFFrame -- Frame Acq. EDT Runtime
  • LibUFGem -- Epics CA DHS wrappers
  • LibUFSerial -- TerminalServer, RPC, Serial
    Ports Runtime

35
Develop Build (Make)
  • RCS with CVS mirror
  • ufci ufco, ufcvsco scripts
  • GNU Makefiles
  • Make includes .makerules .maketargets
  • Top Level System Makefiles
  • Indevidual subsystem Makefiles
  • Dev. Src Tree workspace directories
  • libUF, libUFProtocol, libUFSerial,
    libUFGem
  • portescap, lakeshore, granvphil, ufmce
  • instrum, instrum.epics, instrum.scripts,
    instrum.doc

36
Deploy (Install, Config.) Test
  • Install Tree UFINSTALL/
  • include, lib, slib, bin, sbin, scripts, etc
  • instrum.epics/bin, pv
  • extern/include, lib, gemini/dhs, epics
  • Inetd UFExecutive (All UFAgents)
  • (X)Inetd.conf - UFInetBoot

37
Instrument Sequencer (IS) UML
Package
Console GUI
Ufcaservd
Ufmotord
UFCAService
Package
Attributes
UFCAServ
Attributes
...
Attributes
UFPV
Attributes
Functions
...
Attributes
Functions
Ufcaservd
Attributes
UFPVAttr
Functions
Functions
...
Functions
Attributes
...
Functions
Functions
Attributes
Functions
...
...
Functions
Functions
ufmotord
...
Functions
Functions
...
Console User
Portescap Indexor(s)
38
IS Classes, Objects, Collaborations
39
IS Apply(s), CADs, CARs
40
Detector Control (DC) Context
41
DC Classes, Objects, Collaborations
42
DC Apply(s), CADs, CARs
43
Environment Control (EC) UML
44
EC Classes, Objects, Collaborations
45
EC Apply(s), CADs, CARs
46
Component Control (CC) UML
47
CC Classes, Objects, Collaborations
48
CC Apply(s), CADs, CARs
49
Status And Alarms (SAD)
50
Gemini Device Agent(s) (GDA) UML
51
GDA Classes, Objects, Collaborations
52
DHS UML
53
DHS Classes, Objects, Collaborations
54
Engineering Console (GUI) UML
55
Console Classes, Objects, Collaborations
56
Observations Setup Scenario
57
Observe Scenario
58
Acceptance Test
59
Commissioning
60
Documentation
Write a Comment
User Comments (0)
About PowerShow.com