135
1 Requirements, Requirements, Software Architecture Software Architecture & Design & Design

Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

Embed Size (px)

Citation preview

Page 1: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

1

Requirements, Requirements, Software Architecture Software Architecture

& Design& Design

……

Page 2: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

2

ContentsContentsHardware OverviewHardware Overview

Underlying Assumptions & Requirements for Underlying Assumptions & Requirements for MONSOON SoftwareMONSOON Software

Design Philosophy & Software System ArchitectureDesign Philosophy & Software System Architecture

Functional Decomposition, Interfaces and LibrariesFunctional Decomposition, Interfaces and Libraries

Top Level Data FlowsTop Level Data Flows

PAN Process Architecture and Coordination PAN Process Architecture and Coordination

Software Management, Test Plan, Resources and Software Management, Test Plan, Resources and ScheduleSchedule

Page 3: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

3

Hardware OverviewHardware Overview

Page 4: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

4

MONSOON Hardware RequirementsMONSOON Hardware Requirements

Scalable, lowScalable, low--cost, highcost, high--performance system.performance system.Support both IR and OUV devices.Support both IR and OUV devices.““DetectorDetector--LimitedLimited”” performance.performance.Device independent data acquisition architecture.Device independent data acquisition architecture.Small modular packaging.Small modular packaging.Low power dissipation.Low power dissipation.Low total cost of ownership.Low total cost of ownership.

Page 5: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

5

MONSOON Image Acquisition SystemMONSOON Image Acquisition SystemScalable multiScalable multi--channel highchannel high--speed Image Acquisition System.speed Image Acquisition System.Scalable at all levels based on cost/performance tradeScalable at all levels based on cost/performance trade--offs.offs.Specifically designed to address the needs of nextSpecifically designed to address the needs of next--generation generation IR & CCD mosaic systems.IR & CCD mosaic systems.–– ORION (2k x 2k) InSb & HgCdTe development .ORION (2k x 2k) InSb & HgCdTe development .–– NEWFIRM (4k x 4k).NEWFIRM (4k x 4k).–– WYIN QUOTA (8k x 8k) => ODI (32k x 32k).WYIN QUOTA (8k x 8k) => ODI (32k x 32k).–– LSST (40k x 40k) and growingLSST (40k x 40k) and growing……..

Increased performance over existing solutions.Increased performance over existing solutions.–– With reduced cost, size and power consumption.With reduced cost, size and power consumption.

Page 6: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

6

MONSOON System MONSOON System CommunicationsCommunications3 3 CriticalCritical Networks. Networks.

1.1. 1 1 GHzGHz (2.4 GHz) COTS fiber optic network. (2.4 GHz) COTS fiber optic network. •• HiHi--speed, lospeed, lo--latency latency -- 50 Mpixel/s SL100, 120 Mpixel/s SL240.50 Mpixel/s SL100, 120 Mpixel/s SL240.•• Handles all communication to DHE.Handles all communication to DHE.

2.2. EthernetEthernet..•• Provides power control for DHE for system error recovery. Provides power control for DHE for system error recovery.

3.3. ControllerController synchronization.synchronization.•• Key system element, Key system element, ““hardhard--synchronizedsynchronized”” controllers.controllers.•• Distributed 40 Mhz master system clock and sync pulse.Distributed 40 Mhz master system clock and sync pulse.•• Controlled impedance, skew adjusted LVDS signal Controlled impedance, skew adjusted LVDS signal

distribution.distribution.

Page 7: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

7

MONSOON ANALOG PerformanceMONSOON ANALOG PerformanceCurrent dynamic range: > 60,000:1Current dynamic range: > 60,000:1–– 1616--bit 1mhz ADC resolution, supporting S/N > 90dbbit 1mhz ADC resolution, supporting S/N > 90db–– Future support for higher resolutionsFuture support for higher resolutions

NonNon--linearity: < 0.1% over entire rangelinearity: < 0.1% over entire rangeRead noise: < 10% contribution to total noiseRead noise: < 10% contribution to total noiseChannel to channel cross talk: < 0.0015% (16Channel to channel cross talk: < 0.0015% (16--bit bit resolution)resolution)Pixel to pixel cross talk: < 0.01%Pixel to pixel cross talk: < 0.01%

Page 8: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

8

MONSOON Key TechnologiesMONSOON Key TechnologiesLowLow--cost cost ““GHzGHz––classclass”” PCPC’’s.s.–– Removes the need for Removes the need for embeddedembedded DSPs in system, (PC cost ~ 2.5k).DSPs in system, (PC cost ~ 2.5k).

Scalable commercial highScalable commercial high--bandwidth fiber optic networks.bandwidth fiber optic networks.–– Buy not build, use a wellBuy not build, use a well--supported commercial product.supported commercial product.

»» Systran FiberExtreme SL100/SL240 . Systran FiberExtreme SL100/SL240 . »» SL100: 100 Mbyte/s => 50 <Mpix/s , SL240 240 Mbyte/s => 120 MpixSL100: 100 Mbyte/s => 50 <Mpix/s , SL240 240 Mbyte/s => 120 Mpix/s./s.

Standard software systems.Standard software systems.–– Use dependable components with large user base.Use dependable components with large user base.

»» Redhat LINUX.Redhat LINUX.»» Existing software components or systems or design patterns.Existing software components or systems or design patterns.

StateState--ofof--the art analog & mixed signal electronic the art analog & mixed signal electronic components.components.–– Increased performance with reduced power, size, and costIncreased performance with reduced power, size, and cost ..

»» Allows construction of large channel count systems.Allows construction of large channel count systems.

Page 9: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

MONSOON DHE DesignMONSOON DHE Design

Clk & BiasBoard

VideoAcquisition

Board

VideoAcquisition

Board

Seria

l Cfg

Bus

Sequ

ence

Ctl

Bus

Pixe

l Dat

a B

us

To FPAscPCI Backplane

SL100PIXELPIPE

LOGIC

Master Control Board

SEQUENCERLOGIC

FIBERINTERFACE

LOGIC

64

64

64

64

64

FIBEROPTIC

CLKDISTNET-

WORK

CLK/SYNC IN

CLK/SYNC OUT

5

RABBITEMBEDDED

CONTROLLER

FPGA ToHandle Configuration

And Integration Timing

Page 10: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

10

MONSOON 3 Board / 3 Bus SystemMONSOON 3 Board / 3 Bus System3 Boards3 Boards

1.1. Master Control Board (MCB) Master Control Board (MCB) -- Common to all systemsCommon to all systems2.2. Clock & Bias Board (C&B) Clock & Bias Board (C&B) -- Designed to meet FPA needs, 2 Designed to meet FPA needs, 2

or more versions planned (IR & CCD)or more versions planned (IR & CCD)3.3. Acquisition Board Acquisition Board -- Designed to meet FPA needs, 2 or more Designed to meet FPA needs, 2 or more

versions planned (IR & CCD)versions planned (IR & CCD)

3 Buses (403 Buses (40--66MHz )66MHz )1.1. 6464--Bit Pixel Bus Bit Pixel Bus -- Synchronous transfer of 64Synchronous transfer of 64--bit pixel data bit pixel data

from Acq board to MCBfrom Acq board to MCB2.2. Sequencer Bus Sequencer Bus -- Hi Speed Timing Bus (MCB to Acq & C&B Hi Speed Timing Bus (MCB to Acq & C&B

Boards) for all controller timing Boards) for all controller timing 3.3. Serial Configuration Bus Serial Configuration Bus -- JTAG Serial Configuration Bus to JTAG Serial Configuration Bus to

configure & read back Acq/C&B boardsconfigure & read back Acq/C&B boards

Page 11: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

11

Master Control BoardMaster Control BoardProvides all timing & sequencing to system.Provides all timing & sequencing to system.–– Provides MONSOON system synchronization.Provides MONSOON system synchronization.–– Employs FPGA (Xilinx Virtex) hardware sequencer.Employs FPGA (Xilinx Virtex) hardware sequencer.

Provides interface to Systran fiber. Provides interface to Systran fiber. –– Fiber handles all primary cmd/response and pixel data.Fiber handles all primary cmd/response and pixel data.

Provides interface to optional embedded Ethernet Provides interface to optional embedded Ethernet processor.processor.–– Ethernet used for Ethernet used for ““backback--doordoor”” reset.reset.

Page 12: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

12

Clock & Bias Board ModelClock & Bias Board ModelBoard may be tailored to FPA & system Board may be tailored to FPA & system reqreq’’ss..All interface to MONSOON bus through FPGA:All interface to MONSOON bus through FPGA:

»» PCI compatible signals PCI compatible signals -- reconfiguration of bus interface reconfiguration of bus interface signals if needed signals if needed -- room for added functionality & lots of room for added functionality & lots of flexibility.flexibility.

All clock voltages & bias voltages have read back.All clock voltages & bias voltages have read back.Bias voltages & clock rails set by Serial Cfg Bus.Bias voltages & clock rails set by Serial Cfg Bus.–– IR board will support highIR board will support high--speed parallel DACs for some speed parallel DACs for some

nodes.nodes.

High channel count density on 6U format:High channel count density on 6U format:–– Advances in CMOS dacs allow 100Advances in CMOS dacs allow 100’’s of channels on 6U s of channels on 6U

format.format.

Page 13: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

13

Acquisition Board ModelAcquisition Board ModelAll interface to MONSOON bus through FPGA:All interface to MONSOON bus through FPGA:

»» PCI compatible signals PCI compatible signals -- reconfiguration of bus interface reconfiguration of bus interface signals if needed signals if needed -- room for added functionality & lots of room for added functionality & lots of flexibility.flexibility.

High channel counts on 6U format.High channel counts on 6U format.–– 36 channel IR board in PCB fabrication.36 channel IR board in PCB fabrication.

Cost & power for 36 1mhz IR channels.Cost & power for 36 1mhz IR channels.–– 5W 5W –– 10W for 36x1MHz IR channels ( < 500mW/MHz/ch).10W for 36x1MHz IR channels ( < 500mW/MHz/ch).–– < $5000 component cost (< $200 / MHz / < $5000 component cost (< $200 / MHz / chch))

Page 14: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

14

PANPAN--DHE CommunicationsDHE CommunicationsICD 6.1 ICD 6.1 -- MONSOON PAN to DHE Command/Response Interface.MONSOON PAN to DHE Command/Response Interface.

Four Commands from PAN to DHE.Four Commands from PAN to DHE.–– Read memory, Write Memory, AsyncResponse, Read memory, Write Memory, AsyncResponse, startExposurestartExposure..

DHE echoes every word sent to itDHE echoes every word sent to it……–– except except startExposurestartExposure command.command.

DHE sends a AsyncMsg on hardware reset or power up.DHE sends a AsyncMsg on hardware reset or power up.–– This message can have information on cause embedded in it.This message can have information on cause embedded in it.

Memory Addresses allow for: Memory Addresses allow for: –– 10 board select Bits 10 board select Bits -- expandable to 14.expandable to 14.–– 65536 memory locations on each board.65536 memory locations on each board.

»» 0 0 -- 31 are considered 32 bits wide.31 are considered 32 bits wide.»» 3232--65535 are 16 bits wide.65535 are 16 bits wide.

Page 15: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

15

PANPAN--DHE CommunicationsDHE Communications

Page 16: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

16

Underlying Assumptions Underlying Assumptions & &

Requirements for MONSOON SoftwareRequirements for MONSOON Software

Page 17: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

17

MONSOON Pixel ServerMONSOON Pixel Server

LINUX PCPCI FIBER CARD

Ethernet Link100Mb/s

1Gb/s Fiber(50Mpixel/s)

1Gb/s Fiber(50Mpixel/s)

LINUX PCPCI F IBER CARD1Gb/s Fiber

(50Mpixel/s)

SYNC

Ethernet Link100Mb/s

SYNC

Ethernet Link100Mb/s

N NODES

SUPERVISORY NODELINUX PC

LINUX PCPCI FIBER CARD

CCDor

FPA

10Mb/sEthernet 10Mb/s

Ethernet 10Mb/sEthernet

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

SYNC SYNCN NODES

SUPERVISORY NODELINUX PC

CCDor

FPA

10Mb/sEthernet 10Mb/s

Ethernet 10Mb/sEthernet

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

PIXEL ACQUISITION NODE 1

DETECTOR HEADELECTRONICSNODE 1

SYNC SYNCN NODES

SUPERVISOR NODELINUX PC

CCDor

FPA

10Mb/sEthernet 10Mb/s

Ethernet 10Mb/sEthernet

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

CCDor

FPA

PIXEL ACQUISITION NODE 2 PIXEL ACQUISITION NODE 3

DETECTOR HEADELECTRONICSNODE 2

DETECTOR HEADELECTRONICSNODE 3

Page 18: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

18

Underlying AssumptionsUnderlying AssumptionsPCI bus system with GIGAPCI bus system with GIGA--Hz class CPU(s).Hz class CPU(s).PCI system in consolePCI system in console--less operation.less operation.Will use an Open Source wellWill use an Open Source well--known OS. (Linux).known OS. (Linux).Hardware and Software Systems to be Open Source.Hardware and Software Systems to be Open Source.Command & Data communication by ethernet.Command & Data communication by ethernet.DHE Communication over COTS Fiber (3 Km).DHE Communication over COTS Fiber (3 Km).MultiMulti--tiered security policy.tiered security policy.–– Connection location/source (firewalls, name/address).Connection location/source (firewalls, name/address).–– Privileged system (password security).Privileged system (password security).

Remote (ethernet) power control on DHE.Remote (ethernet) power control on DHE.

Page 19: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

19

Requirements for MONSOON Requirements for MONSOON SoftwareSoftware

Science Generated RequirementsScience Generated RequirementsDetector Development RequirementsDetector Development Requirements

System Generated RequirementsSystem Generated RequirementsSoftware Development RequirementsSoftware Development Requirements

Page 20: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

20

Science Software RequirementsScience Software Requirements

1.1. Support detector safe operations.Support detector safe operations.2.2. Support detector limited performance.Support detector limited performance.3.3. Support both IR and OUV detector systems.Support both IR and OUV detector systems.

4.4. Extensible to Extensible to VVery ery LLarge arge FFocal ocal PPlanes.lanes.

5.5. Able to treat mosaics as single focal plane.Able to treat mosaics as single focal plane.

6.6. Support science observation by Support science observation by ‘‘namednamed’’ modes.modes.

Page 21: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

21

Science Software Requirements Science Software Requirements (cont)(cont)

7.7. Provide for efficient science operation support.Provide for efficient science operation support.

8.8. Support high observing efficiency.Support high observing efficiency.

9.9. Support existing and new observing paradigms.Support existing and new observing paradigms.

10.10. Provide ROI support for readout speed up.Provide ROI support for readout speed up.

11.11. Provide ROI support for data compression.Provide ROI support for data compression.

12.12. Support Support ““technicaltechnical”” imaging. (Guiders, etc.).imaging. (Guiders, etc.).

Page 22: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

22

Science Software Requirements Science Software Requirements (cont)(cont)

13.13. Array configuration by Array configuration by ‘‘standard parameter setstandard parameter set’’..

14.14. Parameter sets determined in the Detector Lab.Parameter sets determined in the Detector Lab.

15.15. Provide Provide limitedlimited tuning of detector performance.tuning of detector performance.

16.16. Provide limited Provide limited ‘‘onon--thethe--flyfly’’ reconfiguration.reconfiguration.

17.17. Allow addition of new processing algorithms.Allow addition of new processing algorithms.

18.18. Provide for an instrument calibration mode.Provide for an instrument calibration mode.

Page 23: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

23

Detector Development RequirementsDetector Development RequirementsSupport detector characterization operations.Support detector characterization operations.–– LowLow--level control of detector parameters.level control of detector parameters.

–– Automated control of characterization process.Automated control of characterization process.

–– New data reduction algorithm development.New data reduction algorithm development.

Support detector research and development.Support detector research and development.–– Incorporation of new detector types.Incorporation of new detector types.

–– Development of new operation modes.Development of new operation modes.

Support hardware development & debugging.Support hardware development & debugging.

Page 24: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

24

System Software RequirementsSystem Software Requirements22.22. Support efficient bootSupport efficient boot--up and initialization.up and initialization.

23.23. StartStart--up & initialisation without intervention.up & initialisation without intervention.

24.24. Support system operations logging.Support system operations logging.

25.25. Support connection security.Support connection security.

26.26. Support convenient error detection/recovery.Support convenient error detection/recovery.

27.27. Support remote diagnosis, debug & operation.Support remote diagnosis, debug & operation.

28.28. System to include simulation capabilities. System to include simulation capabilities.

Page 25: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

25

System Software Requirements System Software Requirements (cont)(cont)

29.29. Help available for commands/parameters.Help available for commands/parameters.

30.30. System layered to allow maximum reuse. System layered to allow maximum reuse.

31.31. Pixel data processing chain rePixel data processing chain re--configurable.configurable.

32.32. Support efficient configuration for new systems.Support efficient configuration for new systems.

33.33. Configurable w/o reConfigurable w/o re--compile of base code.compile of base code.

34.34. Features added without rebuilding system.Features added without rebuilding system.

35.35. Software to use wellSoftware to use well--defined interfaces.defined interfaces.

Page 26: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

26

System Software Requirements System Software Requirements (cont)(cont)

36.36. Interfaces documented and published.Interfaces documented and published.

37.37. Use GPX Interface to outside world.Use GPX Interface to outside world.

38.38. Documentation maintained with code base.Documentation maintained with code base.

39.39. Documentation in standardized format.Documentation in standardized format.

40.40. Support Support ““PackagePackage--likelike”” installation.installation.

41.41. Support verification & removal of versions.Support verification & removal of versions.

42.42. Develop source code maintenance manual.Develop source code maintenance manual.

Page 27: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

27

Development Software RequirementsDevelopment Software Requirements

43.43. All Software to be Open Source.All Software to be Open Source.

44.44. Use widely available software technologies.Use widely available software technologies.

45.45. Use free tools to the greatest extent possible.Use free tools to the greatest extent possible.

46.46. Support multiSupport multi--site distributed development.site distributed development.

47.47. Use source code version control (CVS).Use source code version control (CVS).

48.48. Testing and verification built into development.Testing and verification built into development.

Page 28: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

28

Design Philosophy Design Philosophy & &

Software System ArchitectureSoftware System Architecture

Page 29: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

29

Design PhilosophyDesign PhilosophyMake maximum use of facilities provided by the OS.Make maximum use of facilities provided by the OS.

Isolate & limit scope of software functions.Isolate & limit scope of software functions.

Use libraries to provide ease of use & modification.Use libraries to provide ease of use & modification.

Layer functionality in libraries for ease of change.Layer functionality in libraries for ease of change.–– Separate generic and hardware specific layers.Separate generic and hardware specific layers.

–– Insure isolation between layers. Insure isolation between layers.

Use processes to perform identifiable tasks.Use processes to perform identifiable tasks.

Page 30: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

30

Design PhilosophyDesign Philosophy (cont)(cont)

BuildBuild--in monitoring of system processes.in monitoring of system processes.

Allow kill/restart of rogue processes.Allow kill/restart of rogue processes.

User interface concerns left to client systems.User interface concerns left to client systems.–– MSL and PAN are software program interfaces.MSL and PAN are software program interfaces.

Idiosyncrasies left to observatory staffers.Idiosyncrasies left to observatory staffers.–– Unique DHS requirements.Unique DHS requirements.

–– Observatory specific systems (EPICS, WIYN router, etc).Observatory specific systems (EPICS, WIYN router, etc).

–– Unique GUI tools.Unique GUI tools.

Page 31: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

31

GPX Data FlowsGPX Data FlowsMONSOON Concept Data flows

Fits Imageon Disk

Local DHSInterfaceRoutines

Observatory StatusInterface

Client System(Engineering Lab Console)

(Instrument Control System )(Observation Control System)

MONSOONGPX

Pixel Server

Responses

Commands

System Status

AsynchronousMessages

AsynchronousMessageReports

Pixel DataStream

Status Request& Response

Page 32: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

32

MONSOON Level 0 ContextMONSOON Level 0 ContextMonsoon System Context Diagram

Science Client System

Local DHSInterface

Fits Imageon Disk

Local DHSInterface

ICD 4.0 GPX Interface

ICD 4 .1 MONSOON Restrictions (TBD)

(Level 0 )

3.0DHE

System

ICD 5.0 PPX Interface

ICD 6.0 Generic DHEICD 6.1 MONSOON DHE

1.0Supervisor

Layer

MONSOON GPX(Pixel Server)

Local StatusInterface

Df1.5Status DataConn ection

(Instrum ent Control System)(Observation Control System)

Client System(Engineering Lab Console)

Df1.2Response Strin g

Con nection

Df1.3Asynchronou s

Status Con nection

(Engineering Lab Console)

2.0PAN

System

Df1.4Pixel Data

Stream

TBD

Df1.1Co mm an d S tr ing

Conn ection

Df1.4Pixel Data

Stream

External Entity or Process

Interface Definition Label

1 .0InternalProcessDf 1.1

Data Flow Label

Data Flow 2.1MONSOO N

ExternalProcess

Page 33: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

33

Three Layer System ArchitectureThree Layer System Architecture

1.1. MONSOON MONSOON SupervisorSupervisor (MSL) Layer. (MSL) Layer.

2.2. Pixel Acquisition Node (PAN) Layer.Pixel Acquisition Node (PAN) Layer.

3.3. Detector Head Electronics (DHE) Layer.Detector Head Electronics (DHE) Layer.

Page 34: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

34

Three Layer System ArchitectureThree Layer System Architecture (cont)(cont)

1.1. MONSOON Supervisor Layer. (MSL).MONSOON Supervisor Layer. (MSL).–– A command/control Layer, (no pixel data).A command/control Layer, (no pixel data).–– Provides GPX interface to clients.Provides GPX interface to clients.–– Provide single point contact to system. Provide single point contact to system. –– Provides client access security.Provides client access security.–– Provides data transfer control.Provides data transfer control.–– Provides multiple client connections.Provides multiple client connections.–– Provides error monitoring & recovery.Provides error monitoring & recovery.–– Handles Command/response to/from multiple PANs.Handles Command/response to/from multiple PANs.–– Understands observing Understands observing ‘‘modesmodes’’..–– May run remotely or on a PAN.May run remotely or on a PAN.

Page 35: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

35

Three Layer System Architecture Three Layer System Architecture (cont)(cont)

2.2. Pixel Acquisition Node (PAN) Layer.Pixel Acquisition Node (PAN) Layer.–– No knowledge of other PANNo knowledge of other PAN--DHE pairs.DHE pairs.–– Provides PPX interface to MSL or users.Provides PPX interface to MSL or users.–– Provides runProvides run--time configuration of PAN/DHE.time configuration of PAN/DHE.–– Provides first level data archiving.Provides first level data archiving.–– Provides multiple image processing Provides multiple image processing ‘‘modesmodes’’..

»» Fowler Sampling, coadds, MSR techniques, OT imaging.Fowler Sampling, coadds, MSR techniques, OT imaging.

–– Provides parameter verification/control/help.Provides parameter verification/control/help.–– Deals with IR/OUV/etc. differences.Deals with IR/OUV/etc. differences.

Page 36: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

36

Three Layer System Architecture Three Layer System Architecture (cont)(cont)

2.2. Pixel Acquisition Node (PAN) Layer Pixel Acquisition Node (PAN) Layer (cont).(cont).

–– Handles single exposure sequencing. Handles single exposure sequencing. –– Handles raw data preHandles raw data pre--processing. processing. –– Provides interface to DHE hardware.Provides interface to DHE hardware.–– Provides sequence configuration/download.Provides sequence configuration/download.–– Provides PAN error monitoring/reporting.Provides PAN error monitoring/reporting.–– Provides PAN process error recovery.Provides PAN process error recovery.–– Provides support for Provides support for ‘‘speed ROIspeed ROI’’..–– Provides support for Provides support for ‘‘compression ROIcompression ROI’’ss’’..

Page 37: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

37

Three Layer System Architecture Three Layer System Architecture (cont)(cont)

3.3. Detector Head Electronics (DHE) Layer.Detector Head Electronics (DHE) Layer.–– Handles array hardware control.Handles array hardware control.

»» Voltage levels, sequencing, monitoring.Voltage levels, sequencing, monitoring.

–– Handles integration timing.Handles integration timing.–– Handles detector readout sequencing.Handles detector readout sequencing.–– Handles digital averaging.Handles digital averaging.–– Handles shutter control.Handles shutter control.–– Can handle array temperature control.Can handle array temperature control.–– Board Self Identification and Version tracking.Board Self Identification and Version tracking.

In Current DHE implementation this is all in In Current DHE implementation this is all in FPGA firmware FPGA firmware

Page 38: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

38

Functional Decomposition, Functional Decomposition, Interfaces and LibrariesInterfaces and Libraries

Page 39: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

39

Supervisor Layer FunctionsSupervisor Layer FunctionsSystem startSystem start--up and initialization. up and initialization. (multiple PAN(multiple PAN’’s).s).

Network/client connection control/security.Network/client connection control/security.Multiple connection accept & Setup.Multiple connection accept & Setup.Connection error detection and recovery.Connection error detection and recovery.Primary client communications interface Primary client communications interface (GPX).(GPX).

Command distribution to multiple pans.Command distribution to multiple pans.Response gathering from multiple PANs.Response gathering from multiple PANs.Data transfer control Data transfer control (organizing the transfer).(organizing the transfer).

Configuration/Mode nameConfiguration/Mode name-->database translation.>database translation.

Page 40: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

40

PANPAN ((Pixel Acquisition Node)Pixel Acquisition Node) FunctionsFunctionsConnection Control & Security Connection Control & Security (MSL & Client).(MSL & Client).

Secondary communications interface (PPX). Secondary communications interface (PPX).

PAN/DHE startPAN/DHE start--up and initialization.up and initialization.

Command/parameter verification.Command/parameter verification.

Command/parameter setting security.Command/parameter setting security.

Parameter name/address translation.Parameter name/address translation.

Configuration security/control.Configuration security/control.

Page 41: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

41

PAN FunctionsPAN Functions (cont)(cont)

MidMid--level exposure control level exposure control (multiple identical images)(multiple identical images)..

Pixel data capture.Pixel data capture.

Image data preImage data pre--processing.processing.

Immediate image archiving Immediate image archiving (FITS image on disk)(FITS image on disk)..

DHE interface and control.DHE interface and control.

DHS notification of image availability.DHS notification of image availability.

Status Tracking, Notification, Logging.Status Tracking, Notification, Logging.

Page 42: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

42

PAN Functions PAN Functions (cont)(cont)

Operations and error logging.Operations and error logging.

Data capture error recovery.Data capture error recovery.

Diagnosis and debug support.Diagnosis and debug support.

SelfSelf--test support.test support.

Operation verification.Operation verification.

Page 43: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

43

DHEDHE (Detector Head Electronics) (Detector Head Electronics) FunctionsFunctionsLowLow––level hardware control.level hardware control.Detector timing pattern control.Detector timing pattern control.

Integration timingIntegration timing (if master node)(if master node)..Image data conversion and transmission.Image data conversion and transmission.Hardware housekeeping & status response.Hardware housekeeping & status response.Detector protection.Detector protection.–– Bias power control, hardware test facilities, ESD Protection.Bias power control, hardware test facilities, ESD Protection.

Error Detection and Recovery.Error Detection and Recovery.–– Power glitches/outages, Electronic component failures.Power glitches/outages, Electronic component failures.

In Current DHE implementation this is all in In Current DHE implementation this is all in FPGA firmware FPGA firmware

Page 44: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

44

Interface DefinitionsInterface DefinitionsClient System to Generic Pixel Server.Client System to Generic Pixel Server.

ICD 4.0 Generic Pixel Server ICD 4.0 Generic Pixel Server -- Communications, Command/Response Communications, Command/Response and Data Stream Interface Description. and Data Stream Interface Description. (GPX)(GPX)..

MONSOON Restrictions on Science Client Access.MONSOON Restrictions on Science Client Access.ICD 4.1 MONSOON Command and Parameter Restriction Lists. ICD 4.1 MONSOON Command and Parameter Restriction Lists.

Supervisor Layer to Pixel Acquisition Node.Supervisor Layer to Pixel Acquisition Node.ICD 5.0 Generic Pixel Acquisition Node ICD 5.0 Generic Pixel Acquisition Node –– Communications, Command Communications, Command

& Response Description. & Response Description. (PPX).(PPX).

PAN to Generic DHE PAN to Generic DHE (Detector Controller)(Detector Controller)..ICD 6.0 Generic Detector Head Electronics ICD 6.0 Generic Detector Head Electronics -- Command and Data Command and Data

Stream Interface Description. Stream Interface Description. (A Command Interface).(A Command Interface).

MONSOON PAN to MONSOON DHE.MONSOON PAN to MONSOON DHE.NICD 6.1 MONSOON Detector Head Electronics NICD 6.1 MONSOON Detector Head Electronics -- Command and Data Command and Data

Stream Interface Description. Stream Interface Description. (Hardware/Software Interface Details).(Hardware/Software Interface Details).

Published interface TBDTBD

Page 45: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

45

Interfaces and Software LayeringInterfaces and Software LayeringScience or Engineering Clients

SDSU-IIDetector

Head Electronics

MONSOONDetector

Head Electronics

Simulated MONSOONDetector

Head Electronics

OTHERDetector

Head Electronics

Supervisor Layer Software

Pixel Acquisition Node Software

ICD 6.1 MONSOON DHE Interface & Design

ICD 6.2 SDSU-IIDHE Interface & Design

ICD 6.99 Other DHEInterface & Design

OTHER DHE Interface Software

SDSU-II DHE Interface Software

MONSOON DHEInterface Software

OTHER FiberDrivers

SDSU-II FiberDrivers

Systran FiberDrivers

Systran Fiber Hdwr SDSU-II Fiber Hdwr OTHER Fiber Hdwr

ICD 6.0 Generic Detector Head ElectronicsCommand and Data Stream Interface Description

Communications to Simulator

ICD 4.0 Generic Pixel Server - Communications, Command/Response and Data Stream Interface Description

ICD 5.0 PAN Pixel Node - Communications, Command/Response & Data Stream Interface Description

ICD 7.0 MONSOON Backplan e

ICD 6.1 MONSOON DHE Interface & Design

Page 46: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

46

MONSOON Software ReviewMONSOON Software Review

Questions SessionQuestions Session

Page 47: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

47

BreakBreak

Southern LunchSouthern Lunch

Page 48: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

48

Monsoon Layers and ICD'sMonsoon Layers and ICD'sMONSOON GPX Image Acquisition system

ICD and Software Layer relationship Monsoon Supervisory Layer (ICD 4.0 GPX)

Systran SL240 Hardware

Monsoon PAN Interface Layer

Pixel Acquisition Node(ICD 5.0 PPX)

Monsoon DHE(Detector Head Electronics)

Pixel Acquisition NodePixel Acquisition Node

Monsoon DHE Utility Library (libDheUtil) (ICD 6.0 Generic DHE)

Monsoon DHE Hardware Library (libmonsoon) (ICD 6.1 MONSOON DHE)

Monsoon Com Utility Library (libComUtil) (Com Util Library API)

Monsoon Com Hardware Library (libsystran) (Com Hdw Library API)

Systran SL240 Drivers (libfxslapi) (FXSL Library API)

Not started

Processes in Coding

In codingComplete (in use)Complete (in use)Complete (in use)Complete (in use)COTS (Complete)COTS Hardware

NOAO/CTIO Hdw

Page 49: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

49

MONSOON LibrariesMONSOON Libraries

Library Structure & ArchitectureLibrary Structure & ArchitectureGeneral Functionality LibrariesGeneral Functionality Libraries

Generic Interface LibrariesGeneric Interface LibrariesHardware Specific LibrariesHardware Specific Libraries

Page 50: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

50

Library Structure & ArchitectureLibrary Structure & ArchitectureLibraries divided into classes of function. Libraries divided into classes of function. Call sequence similar for all functions.Call sequence similar for all functions.Functions provide inherited status value. Functions provide inherited status value. Functions provide text status string.Functions provide text status string.Libraries provide user selectable debug levels.Libraries provide user selectable debug levels.Simulation mode included in:Simulation mode included in:–– Hardware specific libraries.Hardware specific libraries.–– Generic interface libraries.Generic interface libraries.

Page 51: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

51

Library Structure & ArchitectureLibrary Structure & ArchitectureIndividual test program built for each library.Individual test program built for each library.

Library API document provided with libraries.Library API document provided with libraries.

API documentation extracted from source code.API documentation extracted from source code.

Generic Makefile.Generic Makefile.–– Static and shared library versions built.Static and shared library versions built.

Page 52: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

52

General Functionality LibrariesGeneral Functionality Libraries

libavUtil libavUtil -- AttributeAttribute--Value pair search, add & modify routines. Value pair search, add & modify routines.

libcliUtillibcliUtil-- command line interface; parse, search & help.command line interface; parse, search & help.

libqueUtil libqueUtil -- queue functions; new, add, remove, full, empty.queue functions; new, add, remove, full, empty.

libsemUtil libsemUtil -- semaphore functions; new, init, give, take, releasesemaphore functions; new, init, give, take, release……

libshmUtil libshmUtil -- shared memory functions; attach, detachshared memory functions; attach, detach……

libsockUtil libsockUtil -- socket functions; new, listen, accept, read, writesocket functions; new, listen, accept, read, write……

libmiscUtil libmiscUtil -- a set of routines used by many pan processes.a set of routines used by many pan processes.

Page 53: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

53

Generic Interface LibrariesGeneric Interface LibrarieslibppxUtil libppxUtil -- the PAN pixel server interface routines.the PAN pixel server interface routines. (ICD 5.0).(ICD 5.0).–– Pan implementation of simplified ICD 4.0 (GPX).Pan implementation of simplified ICD 4.0 (GPX).–– Converts gpxXXXConverts gpxXXX-->ppxXXX.>ppxXXX.–– Single AttributeSingle Attribute--Value pair set/read.Value pair set/read.–– Low level Set/Read implemented for engineering consoles.Low level Set/Read implemented for engineering consoles.

libdheUtil libdheUtil -- generic DHE interface routines generic DHE interface routines (ICD 6.0).(ICD 6.0).–– Open, Close, Read, Write, IOCTL.Open, Close, Read, Write, IOCTL.–– readValue, writeValue, readDetector, resetDHE,readValue, writeValue, readDetector, resetDHE,–– abortReadout, dhePowerCntl, shutterCntl, biasPwrCntl,abortReadout, dhePowerCntl, shutterCntl, biasPwrCntl,–– startExp, pauseExp, stopExp, abortExp, resumeExp,startExp, pauseExp, stopExp, abortExp, resumeExp,–– readValArray, writeValArray, loadWaveform,readValArray, writeValArray, loadWaveform,–– asyncResponse,asyncResponse,–– testDataLink, testClockDrvr, testDCBiasSup,testDataLink, testClockDrvr, testDCBiasSup,

Page 54: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

54

Generic Interface LibrariesGeneric Interface LibrarieslibcomUtil libcomUtil -- generic communications link routines.generic communications link routines.

–– Modeled on POSIX I/O library facilities.Modeled on POSIX I/O library facilities.–– Open, Close, Read, Write, IOCTL Open, Close, Read, Write, IOCTL ……

libpanUtil libpanUtil -- shared memory setup & init used by PAN processes .shared memory setup & init used by PAN processes .

–– Shared Memory Allocate, Release, Shared Memory Allocate, Release, –– Shared Memory Initialization.Shared Memory Initialization.–– Image data buffer setup and Initialization.Image data buffer setup and Initialization.–– Get/Set Attribute by name.Get/Set Attribute by name.

Page 55: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

55

Hardware Specific LibrariesHardware Specific Librarieslibdetector.libdetector.–– Implements routines unique to a detector/instrument.Implements routines unique to a detector/instrument.–– Implements OUV, IR, Guider, etc. differences.Implements OUV, IR, Guider, etc. differences.–– Integration Time Calculations, ROI checking & setup, Integration Time Calculations, ROI checking & setup, –– Unique Array Initialization & Setup requirements. Unique Array Initialization & Setup requirements. –– OTI details, charge/image shift commands, etc.OTI details, charge/image shift commands, etc.–– User Function name to User Function name to ‘‘CC’’ function translation provided.function translation provided.

»» Same structure as runtime command configuration.Same structure as runtime command configuration.»» Translation compiled into library.Translation compiled into library.

–– Shared Library loaded at run time.Shared Library loaded at run time.»» One Library for each unique detector/instrument combination.One Library for each unique detector/instrument combination.»» Library loaded from detector/instrument directory. Library loaded from detector/instrument directory.

Page 56: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

56

Hardware Specific LibrariesHardware Specific Librarieslibsystran.libsystran.–– Implements the SL240 specific interface to the com link. Implements the SL240 specific interface to the com link.

–– Open, Close, Configure hardware link & COTS software.Open, Close, Configure hardware link & COTS software.–– Systran hardware functions, read, write, IOCTL functions.Systran hardware functions, read, write, IOCTL functions.

libmonsoon.libmonsoon.–– Implements the MONSOON DHE access routines Implements the MONSOON DHE access routines (ICD6.1).(ICD6.1).

–– Open, Close, Reset, Read, Write, IOCTL, etc.Open, Close, Reset, Read, Write, IOCTL, etc.–– asyncResponse, Test routines, error detection/recovery. asyncResponse, Test routines, error detection/recovery. –– MONSOON DHE Exposure control commands.MONSOON DHE Exposure control commands.–– MONSOON DHE Data Capture Routines.MONSOON DHE Data Capture Routines.–– Specific command routines implementing Specific command routines implementing ICD 6.0ICD 6.0..

Page 57: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

57

Top Level Data FlowsTop Level Data Flows

Page 58: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

58

GPX Data FlowsGPX Data FlowsMONSOON Concept Data flows

Fits Imageon Disk

Local DHSInterfaceRoutines

Observatory StatusInterface

Client System(Engineering Lab Console)

(Instrument Control System )(Observation Control System)

MONSOONGPX

Pixel Server

ICD 5.0 System Status

AsynchronousMessages

AsynchronousMessageReports

Pixel DataStream

Status Request& Response

Commands

Responses

Page 59: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

59

Supervisory Layer DFDSupervisory Layer DFD (Level 0)(Level 0)

Monsoon Supervisory Layer Data Flow Diagram

Fits Imageon Disk

Local DHSInterface

(Level 0)

ICD 5.0 (TBD)

1.0Supervisor

Level

2.0Pixel

AcqusitionNode

2.0Pixel

AcqusitionNode

2.0Pixel

AcqusitionNode

Df1.4Pixel Data Stream (ICD 4.1)

Df2.1MONSOONCommandMessages

Df2.2CommandResponseMessages Df2 .3

AsynchronousStatus Messages

[ Optional Additional Pixel Acquisition Nodes ]

Local StatusInterface

Df1.5Status Data Stream

Science Client System(OCS, ICS)

Engineering Console Client

Df1.3Asynchronous

Status Connect ion

Df1 .2Response String

ConnectionDf1.1Command String

ConnectionDf1 .5

Engineering Data Connection

Page 60: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

60

Pixel Acquisition Node DFD Pixel Acquisition Node DFD (Level 0)(Level 0)Science Client System

(OCS, ICS)

Fits Imageon Disk

Local DHSInterface

1.0Supervisory

Process

2.0Pixel

AcqusitionNode

Df2.1MONSOONCom mandMessages

Df2.2Com mandResponseMessages

Df2.3Asynchronous

Status Messages

3.0Detector Head

Electronics

Df3.1DHE

CommandMessages

Df3.2Com mandResponseMessages Df3.3

AsynchronousStatus

Messages

Df3.4Pixel Data

Blocks

Local StatusInterface

Df1.5Status Data

Stream

Df1.2MONSOONCom mandMessages

Df1.4Asynchronous

Status MessagesDf1 .3

Comm andResponseMessages

Df1 .1MONSOONConnectionRequests

Df2.4MONSOONConnection

Updates

Engineering Console Client

Df2.2Com mandResponseMessages

Df2.3Asynchronous

Status Messages

ICD 5.0 PPX Command, Response and Data Interface

Df2.1MONSOONCom mandMessages

Df1 .6Engineering DataConnection (FITS)

Df1.4Pixel Data

Stream (ICD 4.1)

Engineering Console Client

Page 61: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

61

Detector Head Electronics DFD Detector Head Electronics DFD (Level 0)(Level 0)

3.0Detector Head

Electronics(DHE)

PixelAcquisition

Node

DiagnosticCommandConsoleDf3.1

DHECommandMessages

Df3.3Asyn chronous

StatusMessages

Df3.5Diag nostic

Com mands & Respon ses

Df3.4Pixel Data

Blocks

Df3.2Comm andResponseMessages

Page 62: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

62

System State DiagramSystem State Diagram

MSLInitialization

SetExposure

Parameters

Arm orTrigger

Exposure

CapturePixel Data

ProcessCaptured

Data

ErrorRecovery

Exposure TriggerReceived

Complete Pixel Data Capture

Error Detected

Unable to recover from Error

MONSOON Top-Level System State Diagram

State State TransitionReason forTransition

AcceptConnectionsComplete System

Inial ization

Pass Datato DHS

Complete PixelData Processing

AcceptCommand

String

Connection Acceted(update Connection List]

Valid Attribute Cmd

ConnectionRequest

Reset or Restert

Complete PixelData Achiving

Send OKResponse

SendERROR

Response

Attribute ErrorDetected

Command Completed

Response Sent

Response Sent

Error Detected

Error Detected

Error RecoveryComplete

Error Detected

Error Detected

Exposure Requested

Page 63: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

63

PAN Process Architecture PAN Process Architecture &&

Coordination Coordination

Page 64: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

64

PAN Layered Process ArchitecturePAN Layered Process Architecture

Shared Memory Interface

panSaverpanProcAlgpanCapture

libfxslapi - Systran Sl240 Driver

libcomutil - generic communications link routines

libmonsoon - Monsoon DHE hardware interface ICD6.1

Socket interface and CLI to command processorHigh level DHE control

Pan Process Startup and shutdownProcess control for Pan processes

Error checking and recovery

PanDaemon

libsystran - systran versions of communications link interfaceWell defined API's

fSaver(FITS Writer)

libdheutil - Generic DHE Interface ICD 6.0

Command or Semaphore accessData or data dddress flow pathShared memory access

PANprocess

libppx - Generic Pan Interface ICD 5.0

extTrgger

Well defined API's

libdetCmnd - Detector Specific Routines

Page 65: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

65

PAN Detailed Process InterconnectsPAN Detailed Process Interconnects

Page 66: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

66

PAN Detailed Process InterconnectsPAN Detailed Process Interconnects

Page 67: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

67

PAN Detailed Process InterconnectsPAN Detailed Process Interconnects

Page 68: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

68

PAN Detailed Process InterconnectsPAN Detailed Process Interconnects

Page 69: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

69

PAN Process CoordinationPAN Process CoordinationControlling

Client

panDaemon

PPX CommandsPPX Responces

PPX CommandsPPX Responses

GPX CommandGPX Responses

MONSOONDHE

Hardware

ICD6 .1 Com mand

ICD6.1 Response

MONSOONSupervisory

Layer

expStartCommand

TakesysRdySem

frompanSaver

GiveexpStartSem

Next Command

Page 70: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

70

PAN Process CoordinationPAN Process CoordinationpanCapture

MONSOONDHE

Hardware

startExp Command

Pixel Data Burst

TakeexpStartSem

frompanDaemon

TakeemptyFinBufSem

GiveexpTrigGoSem

Next Exposu re

Setup Read/Wait for P ixels

Initialize Process

f romfSaver

Prepare Finish Buffer

GivereadyFinBufSem

TakeemptyRawBufSem

f rompanProcA lg

Loop

Calu late Timeou t etc.

expTrigger

TakeexpTrigGoSem

Initialize Process

Wait Predeterm ined delay time

Loop

Loop

TakeemptyRawBufSem

frompanProc Alg

GivefullRawBufSem

LastFrame?

NO

YES

GivefullRawBufSem

Forked Process

Page 71: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

71

PAN Process CoordinationPAN Process CoordinationpanProcAlg

TakereadyFinBufSem

frompanCapture

Next Exposure

GiveemptyRawBufSem

TakefullRawBufSem

frompanCapture

Process Raw Data Buffer

In itialize Process

Loo p

Frame IDNULL ?

Loo p

NO

GivefullFinBufSem

Gather Fits In fo

YES

Cont

Page 72: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

72

PAN Process CoordinationPAN Process Coordination

panSaver

TakefullFinBufSem

Next Exposure

Initialize Process

frompanProc Alg

Fork fSaver Process

GivesysRdySem

fSaver

Lo op

Forked Process

Save FITS Header to disk

Save Finish Data buffer to disk

Unscramble Finish Buffer

GiveemptyFinBufSem

Zero Fin ish Data buffer

Exit

Page 73: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

73

Process State DiagramsProcess State Diagrams

Page 74: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

74

MONSOON Software ReviewMONSOON Software Review

Questions SessionQuestions Session

Page 75: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

75

BreakBreak

Northern LunchNorthern Lunch

Page 76: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

76

PAN Security IssuesPAN Security IssuesPreventing unauthorized access.Preventing unauthorized access.–– Legal Connection List. Source IP address.Legal Connection List. Source IP address.–– Firewall.Firewall.

Verifying parameter values.Verifying parameter values.–– Trusted routines.Trusted routines.–– Internal parameter sets.Internal parameter sets.–– Password restrictions.Password restrictions.

Restricting Parameter access.Restricting Parameter access.–– Password protection on privileged connection.Password protection on privileged connection.–– No Client access to certain parameters.No Client access to certain parameters.

Page 77: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

77

Error Detection/RecoveryError Detection/RecoveryClientClient--PAN communication link errors.PAN communication link errors.–– Caught by reliable connection protocol.Caught by reliable connection protocol.–– Command String verification.Command String verification.

Socket connection errors.Socket connection errors.–– Client responsible for reconnection.Client responsible for reconnection.–– Responses to pending commands dropped.Responses to pending commands dropped.

Disk full errors.Disk full errors.–– Spare disk partition for small number of frames.Spare disk partition for small number of frames.–– Exposure lockout until Data removed from disk.Exposure lockout until Data removed from disk.

Page 78: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

78

Error Detection/RecoveryError Detection/RecoveryPAN process errors.PAN process errors.–– Process verification at key events.Process verification at key events.–– Process kill and restart automatic.Process kill and restart automatic.

Deadlock Detection/Recovery.Deadlock Detection/Recovery.–– High level time outs.High level time outs.–– Semaphore release on shutdown or failures.Semaphore release on shutdown or failures.–– Queue content control. (Special buffer IDQueue content control. (Special buffer ID’’s).s).

Livelock Prevention.Livelock Prevention.–– Semaphore sequence control.Semaphore sequence control.–– Semaphore count control.Semaphore count control.–– Routine invariants.Routine invariants.

Page 79: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

79

PAN Semaphore UsagePAN Semaphore UsageMonsoon PAN Semaphores

panProcAlg

panSaverdataCapture

fSaver

SpawnProcess [2]

panDaemon

expTrigger

sysRdySem [1]

expTrigGoSem [4]

emptyFinBu fSem

expStartSem [2 ]

expStartSem [0]

expTrigGoSem

readyFinBufSem [2]

readyFinBufSem [1 ]

fullRawBufSem [5]

rawDataRdySem [2]

em ptyFinBufSem [1]

sysRdylSem [3]

fulFinBufSem [4 ]

fullFinBufSem [1]emptyRawBufSem [3]

emptyRawBufSem [3]

Page 80: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

80

Error Detection/RecoveryError Detection/RecoveryDHE communication link errors.DHE communication link errors.–– Timeouts. Timeouts. –– EchoEcho--back errors.back errors.–– Systran driver errors.Systran driver errors.

DHE parameter errors.DHE parameter errors.–– DHE parameter verification errors.DHE parameter verification errors.–– DHE parameter value drift.DHE parameter value drift.

DHE access errors (bad address).DHE access errors (bad address).

DHE reset or power glitch.DHE reset or power glitch.–– Async Message errors.Async Message errors.

Page 81: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

81

Software Management, Test Plan, Software Management, Test Plan, Resources Resources

& & ScheduleSchedule

Page 82: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

82

Management Management Design by ConsensusDesign by Consensus..

Depend on SWE experience.Depend on SWE experience.

PseudoPseudo--Code by lead designer.Code by lead designer.

Final coding by lead or second programmer.Final coding by lead or second programmer.

Verification by second or lead programmer.Verification by second or lead programmer.

ReRe--Verification by designer.Verification by designer.

Final test & verification in Use.Final test & verification in Use.

Page 83: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

83

DocumentationDocumentationOCCD and FPRD published but not complete.OCCD and FPRD published but not complete.System Architecture document in work.System Architecture document in work.ICDICD’’s Published and reviewed.s Published and reviewed.Library API Published.Library API Published.–– Maintained with Source code.Maintained with Source code.

Process description documentation begun.Process description documentation begun.–– Using source code Documentation system for processes.Using source code Documentation system for processes.–– Manually produced text used to detail process interactions.Manually produced text used to detail process interactions.–– Queues and Semaphores described in added text.Queues and Semaphores described in added text.

Page 84: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

84

Test & VerificationTest & VerificationMuch functionality in Libraries.Much functionality in Libraries.Individual Library Test programs.Individual Library Test programs.–– Functions verified against description.Functions verified against description.–– Function invariants tested.Function invariants tested.–– Library functions tested and verified independently.Library functions tested and verified independently.–– Test program constructed for each library.Test program constructed for each library.–– Interactions tested w/multiple test program instances.Interactions tested w/multiple test program instances.

In Debug system.In Debug system.–– Currently libraries are being used in dheHdwDbg.Currently libraries are being used in dheHdwDbg.–– Revealed bugs fixed and reRevealed bugs fixed and re--verified in individual test.verified in individual test.–– New version tested immediately.New version tested immediately.

Page 85: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

85

Test & Verification Test & Verification (cont)(cont)

In PAN process system.In PAN process system.–– Processes tested against expected behavior using Processes tested against expected behavior using

dheSim.dheSim.–– Processes verified against functional description.Processes verified against functional description.–– Process invariants tested and verified.Process invariants tested and verified.–– Revealed bugs fixed and reRevealed bugs fixed and re--verified in individual test.verified in individual test.–– New version tested immediately.New version tested immediately.–– Pan process test bed planned.Pan process test bed planned.

Page 86: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

86

Schedule & ResourcesSchedule & ResourcesLibraries tested & running in dheHdwDbgLibraries tested & running in dheHdwDbg (May `03)(May `03)

–– Generic Interface LibrariesGeneric Interface Libraries–– Hardware Specific LibrariesHardware Specific Libraries–– Some General Utility LibrariesSome General Utility Libraries

PAN Interface & processes running DHEPAN Interface & processes running DHE (Sept `03)(Sept `03)

–– Remaining General Utility LibrariesRemaining General Utility Libraries–– PPX interface Library completePPX interface Library complete

TCL/TK Engineering Client TCL/TK Engineering Client (Sept. (Sept. ‘‘03)03)

Everything Needed for NEWFIRMEverything Needed for NEWFIRM (Nov `03)(Nov `03)

MultiMulti--Pan system development starting Pan system development starting (Jan (Jan ‘‘04)04)

Page 87: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

87

Schedule & Resources Schedule & Resources (cont)(cont)

1.0 FTE Sr. Software Engineer1.0 FTE Sr. Software Engineer NCBNCB

0.5 FTE Sr. Software Engineer0.5 FTE Sr. Software Engineer PNDPND

0.1 FTE 0.1 FTE ““black marketblack market”” Software Engineer II Software Engineer II PBRPBR

1.1+.55+.11 = 1.76 FTE1.1+.55+.11 = 1.76 FTE

NOAO software engineers give 110%NOAO software engineers give 110%

Page 88: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

88

MONSOON Software ReviewMONSOON Software Review

Questions SessionQuestions Session

Page 89: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

89

Panel Deliberation Panel Deliberation

Page 90: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

90

Panel Verbal Report Panel Verbal Report

Page 91: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

91

MONSOON Software ReviewMONSOON Software ReviewAppendicesAppendices

I.I. Methods to Achieve Requirements.Methods to Achieve Requirements.II.II. Process State Diagrams.Process State Diagrams.III.III. Interface Control documents.Interface Control documents.

A.A. ICD 4.0 GPX Command, Status and Data Interface.ICD 4.0 GPX Command, Status and Data Interface.B.B. ICD 5.0 PPX Command, Status and Data Interface.ICD 5.0 PPX Command, Status and Data Interface.C.C. ICD 6.0 Generic DHE Command Interface.ICD 6.0 Generic DHE Command Interface.D.D. ICD 6.1 MONSOON PAN to DHE Interface.ICD 6.1 MONSOON PAN to DHE Interface.

IV.IV. Original Project DocumentsOriginal Project DocumentsA.A. MONSOON OCCDMONSOON OCCDB.B. MONSOON FPRDMONSOON FPRD

Page 92: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

92

Methods for Achieving MONSOON Methods for Achieving MONSOON Software Requirements.Software Requirements.

Science Generated RequirementsScience Generated RequirementsDetector Development RequirementsDetector Development Requirements

System Generated RequirementsSystem Generated RequirementsSoftware Development RequirementsSoftware Development Requirements

Page 93: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

93

Science Software RequirementsScience Software RequirementsSupport detector safe operations.Support detector safe operations.–– Use Use ““Standard Parameter SetsStandard Parameter Sets””..–– Parameter range restrictions in science operations.Parameter range restrictions in science operations.–– Only Limited parameter tuning permitted.Only Limited parameter tuning permitted.–– Bias power off until detector voltages confirmed correct.Bias power off until detector voltages confirmed correct.–– Detector engineer determines Detector engineer determines ““safesafe”” operation.operation.

Support detector limited performance.Support detector limited performance.–– Use highUse high--end gigaend giga--Hz CPUHz CPU’’s.s.–– No restrictions on speed built into software.No restrictions on speed built into software.–– Allow overlap of execution to greatest extent possible.Allow overlap of execution to greatest extent possible.

Page 94: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

94

Science Software Requirements Science Software Requirements (cont)(cont)

Support both IR and OUV detector systems.Support both IR and OUV detector systems.–– Per detector runtime command configuration.Per detector runtime command configuration.–– Runtime preRuntime pre--processing algorithm selection.processing algorithm selection.–– Base system code nonBase system code non--specific.specific.–– User interface left to Observatory/Instrument staff.User interface left to Observatory/Instrument staff.

Extensible to Extensible to ““Very Large Focal PlanesVery Large Focal Planes””..–– Individual PANIndividual PAN’’s know only about their FP section.s know only about their FP section.–– Final image assembly left to DHS.Final image assembly left to DHS.–– MSL knows how to deliver commands to FP sections.MSL knows how to deliver commands to FP sections.

Page 95: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

95

Science Software Requirements Science Software Requirements (cont)(cont)

Able to treat mosaics as single focal plane.Able to treat mosaics as single focal plane.–– User view is of an image server. User view is of an image server. –– MSL deals with details of multiple PANMSL deals with details of multiple PAN’’s.s.–– Data sent to DHS by individual PANData sent to DHS by individual PAN’’s for reassembly.s for reassembly.

Support science observation by Support science observation by ‘‘namednamed’’ modes.modes.–– Mode database converts names to Parameter settings.Mode database converts names to Parameter settings.–– MSL knows how to send parameter settings to PANMSL knows how to send parameter settings to PAN’’s.s.–– Instrument/detector scientists/engineers determine Modes.Instrument/detector scientists/engineers determine Modes.–– User can add features to base modes within restrictions.User can add features to base modes within restrictions.–– User modes savable in database.User modes savable in database.

Page 96: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

96

Science Software RequirementsScience Software Requirements (cont)(cont)

Provide for efficient science operation support.Provide for efficient science operation support.–– Allow overlap of execution to greatest extent possible.Allow overlap of execution to greatest extent possible.–– Provide Modes to support Focus, Calibration frames, etc.Provide Modes to support Focus, Calibration frames, etc.–– Provide fast setup and configuration.Provide fast setup and configuration.

Support high observing efficiency.Support high observing efficiency.–– Allow overlap of execution to greatest extent possible.Allow overlap of execution to greatest extent possible.–– Provide Modes to support Focus, Calibration frames, etc.Provide Modes to support Focus, Calibration frames, etc.–– Provide fast setup and configuration.Provide fast setup and configuration.

Support existing and new observing paradigms.Support existing and new observing paradigms.–– Connections permit Remote observing, Queue observing, Connections permit Remote observing, Queue observing, –– Published Interfaces allow automation of observations.Published Interfaces allow automation of observations.–– Facilities for adding functionality allow new modes.Facilities for adding functionality allow new modes.

Page 97: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

97

Science Software RequirementsScience Software Requirements (cont)(cont)

Provide ROI support for readout speed up.Provide ROI support for readout speed up.–– Single ROI to reduce readout time.Single ROI to reduce readout time.–– ROI spans chips in restricted ways.ROI spans chips in restricted ways.–– Allowed alternatives determined by mosaic layout.Allowed alternatives determined by mosaic layout.

Provide ROI support for data compression.Provide ROI support for data compression.–– Readout time not reduced all pixels readout.Readout time not reduced all pixels readout.–– Multiple ROIMultiple ROI’’s allowed.s allowed.–– Only data within the ROIOnly data within the ROI’’s sent to DHS.s sent to DHS.

Support Support ““technicaltechnical”” imaging. (Guiders, etc.).imaging. (Guiders, etc.).–– Runtime configuration allows customization.Runtime configuration allows customization.–– Detector library permits unique handling for purpose.Detector library permits unique handling for purpose.

Page 98: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

98

Science Software Requirements Science Software Requirements (cont)(cont)

Array configuration by Array configuration by ‘‘standard parameter setstandard parameter set’’..–– Detector setup by named Mode.Detector setup by named Mode.–– Parameter set database converts names to parameter settings.Parameter set database converts names to parameter settings.–– Provision for expansion of Database by Users. Provision for expansion of Database by Users.

Parameter sets determined in the Detector Lab.Parameter sets determined in the Detector Lab.–– Initial database created by detector engineer.Initial database created by detector engineer.–– Instrument scientist can tune modes for instrument.Instrument scientist can tune modes for instrument.–– User has limited ability to modify base operating mode.User has limited ability to modify base operating mode.

Provide limited tuning of detector performance.Provide limited tuning of detector performance.–– User can modify restricted range & class of parameters. User can modify restricted range & class of parameters.

Page 99: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

99

Science Software Requirements Science Software Requirements (cont)(cont)

Provide limited Provide limited ‘‘onon--thethe--flyfly’’ reconfiguration.reconfiguration.Allow addition of new processing algorithms.Allow addition of new processing algorithms.–– Processing algorithm can be restarted with new algorithm.Processing algorithm can be restarted with new algorithm.–– New data taking algorithms can be loaded.New data taking algorithms can be loaded.–– New detector waveforms can be loaded as needed.New detector waveforms can be loaded as needed.

Provide for an instrument calibration mode.Provide for an instrument calibration mode.–– Instrument Client can run MSL/PANInstrument Client can run MSL/PAN’’s automatically.s automatically.–– Password restriction allows access to restricted parameters.Password restriction allows access to restricted parameters.–– Engineering console can be used to tune parameters.Engineering console can be used to tune parameters.

Page 100: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

100

Detector Development RequirementsDetector Development RequirementsSupport detector characterization operations.Support detector characterization operations.–– ppx interface provides Lowppx interface provides Low--level control of parameters.level control of parameters.–– Interface allows automated control of process.Interface allows automated control of process.–– ““on the flyon the fly”” reconfiguration allows new algorithm development.reconfiguration allows new algorithm development.–– Library & process APIs allow convenient development.Library & process APIs allow convenient development.

Support detector research and development.Support detector research and development.–– Runtime configuration allows new detector types.Runtime configuration allows new detector types.–– ““on the flyon the fly”” reconfiguration allows new operation modes.reconfiguration allows new operation modes.

Support hardware development & debugging.Support hardware development & debugging.–– Ppx interface allows LowPpx interface allows Low--level hardware command support.level hardware command support.

Page 101: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

101

System Software RequirementsSystem Software RequirementsSupport efficient bootSupport efficient boot--up and initialization.up and initialization.–– Each PAN boots up independently.Each PAN boots up independently.–– BootBoot--up only depends on local information.up only depends on local information.–– Runtime configuration sent to all PANRuntime configuration sent to all PAN’’s.s.–– Communication mechanism Communication mechanism ““universaluniversal”” & easy to use. & easy to use.

StartStart--up & initialization without intervention.up & initialization without intervention.–– Startup scripts keyed to Instrument/system.Startup scripts keyed to Instrument/system.–– MSL does Startup time checking to insure correct operation.MSL does Startup time checking to insure correct operation.–– Crashed/down nodes restarted automatically.Crashed/down nodes restarted automatically.–– StartStart--up monitored by logging mechanism.up monitored by logging mechanism.

Page 102: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

102

System Software RequirementsSystem Software RequirementsSupport system operations logging.Support system operations logging.–– Error detection and recovery logging.Error detection and recovery logging.–– Command sequence playback.Command sequence playback.–– Status display of current state saved with exposure.Status display of current state saved with exposure.

Support connection security.Support connection security.–– Multiple connections allowed.Multiple connections allowed.–– Connection security enforced (firewall, IP restrictions).Connection security enforced (firewall, IP restrictions).–– OnOn--Telescope connection priority observed.Telescope connection priority observed.–– Engineering level commands password protected.Engineering level commands password protected.

Page 103: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

103

System Software RequirementsSystem Software RequirementsSupport convenient error detection/recovery.Support convenient error detection/recovery.–– Routines track and inherit status.Routines track and inherit status.–– First error is reported and correction is attempted.First error is reported and correction is attempted.–– Errors reported and corrected automatically if possible.Errors reported and corrected automatically if possible.–– Error help included in report.Error help included in report.

Support remote diagnosis, debug & operation.Support remote diagnosis, debug & operation.–– Multiple connections permitted.Multiple connections permitted.–– Engineering connection password protected.Engineering connection password protected.–– Test facilities built into system at several levels.Test facilities built into system at several levels.

Page 104: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

104

System Software Requirements System Software Requirements (cont)(cont)

System to include simulation capabilities.System to include simulation capabilities.–– Hardware libraries provide simple simulation.Hardware libraries provide simple simulation.–– Simulation automatic in absence of Hardware.Simulation automatic in absence of Hardware.

Help available for commands/parameters.Help available for commands/parameters.–– Help provided by Runtime Configuration process.Help provided by Runtime Configuration process.–– Command help available for every command.Command help available for every command.–– Parameter help available for settable parameters.Parameter help available for settable parameters.

System layered to allow maximum reuse.System layered to allow maximum reuse.–– General Purpose & Generic Interface libraries reusable.General Purpose & Generic Interface libraries reusable.–– Top level process code reusable.Top level process code reusable.–– Framework of Hardware Specific libraries reusable.Framework of Hardware Specific libraries reusable.

Page 105: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

105

System Software Requirements System Software Requirements (cont)(cont)

Pixel data processing chain rePixel data processing chain re--configurable.configurable.–– Multiple processing algorithms supported in panProcAlg.Multiple processing algorithms supported in panProcAlg.–– Multiple panProcAlg versions supportable.Multiple panProcAlg versions supportable.–– Process interconnects will be well defined and published.Process interconnects will be well defined and published.

Support efficient configuration for new systems.Support efficient configuration for new systems.–– Engineers define hardware with spread sheet.Engineers define hardware with spread sheet.–– Runtime configuration derived from spread sheet.Runtime configuration derived from spread sheet.

Configurable w/o reConfigurable w/o re--compile of base code.compile of base code.Features added without rebuilding system.Features added without rebuilding system.–– Hardware specific libraries compiled as shared libraries.Hardware specific libraries compiled as shared libraries.–– New configurations read at runtime.New configurations read at runtime.

Page 106: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

106

System Software Requirements System Software Requirements (cont)(cont)

Software to use wellSoftware to use well--defined interfaces.defined interfaces.Interfaces documented and published.Interfaces documented and published.Use GPX Interface to outside world.Use GPX Interface to outside world.Documentation maintained with code base.Documentation maintained with code base.Documentation in standardized format.Documentation in standardized format.–– Library API created by Library API created by ““makemake”” process and published.process and published.–– Process interface being documented and published.Process interface being documented and published.–– GPX or PPX interface used as interfaces to Clients.GPX or PPX interface used as interfaces to Clients.–– APIAPI’’s, ICDs, ICD’’s & Process interface externally available.s & Process interface externally available.–– Web publication planned.Web publication planned.

Page 107: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

107

System Software Requirements System Software Requirements (cont)(cont)

Support Support ““PackagePackage--likelike”” Installation.Installation.–– Planned.Planned.

Support verification & removal of old versions.Support verification & removal of old versions.–– Planned.Planned.

Develop Source code Maintenance Manual.Develop Source code Maintenance Manual.–– Will be developed from source code API creator.Will be developed from source code API creator.–– Manual will include library and Process descriptions.Manual will include library and Process descriptions.

Page 108: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

108

Development Software RequirementsDevelopment Software RequirementsAll Software to be Open Source.All Software to be Open Source.–– Code available on externally visible disk.Code available on externally visible disk.–– WEB obtainable source code planned.WEB obtainable source code planned.

Use widely available software technologies.Use widely available software technologies.–– Sockets, Semaphores, Shared Memory.Sockets, Semaphores, Shared Memory.–– ANSI standard ANSI standard ‘‘CC’’ compiler.compiler.–– ‘‘POSIXPOSIX’’ compliant standard Libraries.compliant standard Libraries.

Use free tools to the greatest extent possible.Use free tools to the greatest extent possible.–– ‘‘CC’’, LINUX, TCL/TK., LINUX, TCL/TK.–– Firmware using XLINIX WEBPACK.Firmware using XLINIX WEBPACK.

Page 109: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

109

Development Software RequirementDevelopment Software RequirementSupport multiSupport multi--site distributed development.site distributed development.–– CVS Tree on externally visible diskCVS Tree on externally visible disk–– Individual modules obtainable through CVS. (NI).Individual modules obtainable through CVS. (NI).

Use Source code version control (CVS).Use Source code version control (CVS).–– CVS Tree built and in use at NOAO.CVS Tree built and in use at NOAO.–– CVS Tree available on externally visible disk.CVS Tree available on externally visible disk.

Testing and verification built into development.Testing and verification built into development.–– Testing plan for Libraries.Testing plan for Libraries.–– PAN process testPAN process test--bed planned.bed planned.–– dheSim complete and operating at rudimentary level.dheSim complete and operating at rudimentary level.

Page 110: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

110

Process State DiagramsProcess State Diagrams

Page 111: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

111

panDaemon State DiagrampanDaemon State Diagram

Start-up

ErrorRecovery

Unable to recover from Error

panDaemon State Diagram

State1

AcceptConnection

RequestInvalid

Reset orStart-up

SpawnProcesses

Complete SystemInialization

ProcessesStarted

Process StartFailed

Wait forCommand

Connection Accepted

Send ErrorResponse

ResponseSent

Execute Command

CommandInvalid

Send OKResponse

CommandComplete

ResponseSent

VerifyProcesses

Valid CommandIS startExp

ProcessRestart

Process ErrorDetected

Give expStartSem

ProcessesReady

Run-WaitSemaphore ErrorDetected

CommandFailed

ResponseFailed

ResponseFailed

Process RestartFailed

SemaphoreGiven

ExecuteExposure

Control

State2

Reason forTransition

State Transition

Error RecoveryComplete

ProcessesRestarted

Reject allExcept Exposure

Control

Got Pause, StopAbort, Resume

Val id CommandNOT startExp

Executed Pause/Resume

Abort/StopExposure

ExecutedStop/Abort

Got sysRdySem

Abort/StopComplete

Stop/AbortFailed

Page 112: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

112

panDaemon StatespanDaemon StatesStartStart--up.up.–– Read detector configuration, Initialize data Buffers.Read detector configuration, Initialize data Buffers.–– Attach shared memory, Initialize shared memory.Attach shared memory, Initialize shared memory.–– Read DHE configuration.Read DHE configuration.

Spawn PAN Processes.Spawn PAN Processes.–– Start panCapture, panProcAlg, panSaver.Start panCapture, panProcAlg, panSaver.

Accept connection.Accept connection.–– Accept connection requests.Accept connection requests.–– Verify permissions.Verify permissions.

Send Error Response.Send Error Response.Send OK Response.Send OK Response.

Page 113: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

113

panDaemon StatespanDaemon StatesWait for command.Wait for command.–– Accept, Parse & verify command string from socket or stdin.Accept, Parse & verify command string from socket or stdin.

Execute Command.Execute Command.–– Execute appropriate command function.Execute appropriate command function.

RunRun--Wait.Wait.–– Accept command string from socket or stdin.Accept command string from socket or stdin.–– Parse command, reject all except Exposure control.Parse command, reject all except Exposure control.–– Wait for sysRdySem.Wait for sysRdySem.

Execute Exposure Control.Execute Exposure Control.Abort/Stop Exposure.Abort/Stop Exposure.

Page 114: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

114

panDaemon StatespanDaemon StatesProcess Verify.Process Verify.–– Verify health of other PAN processes.Verify health of other PAN processes.

Give expStartSem.Give expStartSem.Process Restart.Process Restart.–– Check on process existence, kill if required.Check on process existence, kill if required.–– Check on process resource use. Set resources to initial state.Check on process resource use. Set resources to initial state.–– Restart process.Restart process.

Error Recovery.Error Recovery.–– Determine error.Determine error.–– Correct or abdicate responsibility to user.Correct or abdicate responsibility to user.

Page 115: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

115

panCapture State DiagrampanCapture State Diagram

Start-up

ErrorRecovery

Unable to recover from Error

panCapture State Diagram

State1

Reset orStart-up

SpawnexpTrigger

ProcessComplete System

Inial ization

Process StartFailed

Wait forexpStartSem

Send ErrorResponse Response

Sent

Do Exposure

Send OKResponse

CommandComplete

VerifyProcess

Do ProcessVerify

ProcessRestart

Process ErrorDetected

Wait for Frame

ResponseFailed

Process RestartFailed

Put Frameon Queue

State2

Reason forTransition

State Transition

Error RecoveryComplete

Got Pause, StopAbort, Resume

Abort/StopExposure

Abort/StopCompleteAbort/Stop

Failed

ProcessesStarted

expTrigGoSemGiven

expTriggerReady

ResponseSent

Processrestarted

FrameReceived

Frame TimeOut

expStartSemTaken

Frame Incomplete

Expect moreFrames

Last FrameReceived

Page 116: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

116

panCapture StatespanCapture StatesStartStart--up.up.–– Attach shared memory, Initialize shared memory.Attach shared memory, Initialize shared memory.

Spawn expTrigger Process.Spawn expTrigger Process.–– Spawn process check for startup.Spawn process check for startup.

Wait for expStartSem.Wait for expStartSem.–– Do a semTake on expStartSem.Do a semTake on expStartSem.

Error Recovery.Error Recovery.–– Determine error state.Determine error state.–– Correct or abdicate responsibility to user.Correct or abdicate responsibility to user.–– Clean out image processing chain.Clean out image processing chain.

Page 117: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

117

panCapture StatespanCapture StatesDo Exposure.Do Exposure.–– Obtain image finish buffer, Prepare metaObtain image finish buffer, Prepare meta--data buffers.data buffers.–– Pass finish and metaPass finish and meta--data to panProcAlg.data to panProcAlg.–– Obtain empty Raw Data Buffer.Obtain empty Raw Data Buffer.–– Give expTrigGoSem.Give expTrigGoSem.

Wait for Frame.Wait for Frame.–– Do dheGetData to receive data buffer.Do dheGetData to receive data buffer.

Frame on Queue.Frame on Queue.–– Pass full raw data buffer ID to panProcAlg.Pass full raw data buffer ID to panProcAlg.

Abort/Stop Exposure.Abort/Stop Exposure.–– Clean out processing chain and image buffers.Clean out processing chain and image buffers.

Page 118: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

118

panCapture StatespanCapture StatesProcess verify.Process verify.–– Check on expTrigger process.Check on expTrigger process.–– Report own health.Report own health.

Process Restart.Process Restart.–– Restart expTrigger if necessary.Restart expTrigger if necessary.

Send OK Response.Send OK Response.

Send ERROR Response.Send ERROR Response.

Page 119: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

119

expTrigger State DiagramexpTrigger State DiagramStart-up

expTrigger State Diagram

State1

Reset orStart-up

Wait forexpTrigGoSem

DoExposure

Send OKResponse

ResponseSent

VerifyProcesses

Sem Receiveddo Verify

State2

Reason forTransition

State Transition

CompleteInial ization

Heal th OK

Sem ReceivedDo startExp startExp

Sent

ErrorRecovery

startExpFailed

RecoveryComplete

Page 120: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

120

expTrigger StatesexpTrigger StatesStartStart--up.up.–– Attach shared memory, Initialize shared memory.Attach shared memory, Initialize shared memory.

Wait for expTrigGoSem.Wait for expTrigGoSem.–– Do a semTake on expStartSem.Do a semTake on expStartSem.–– When taken go to When taken go to ““Do ExposureDo Exposure”” or or ““Process VerifyProcess Verify””..

Do Exposure.Do Exposure.–– Wait preWait pre--determined delay time.determined delay time.–– Send startExp command to DHE.Send startExp command to DHE.

Process verify.Process verify.–– Report process health.Report process health.

Error Recovery.Error Recovery.

Page 121: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

121

panProcAlg State DiagrampanProcAlg State DiagramStart-up

ErrorRecovery

Unable to recover from Error

panProcAlg State Diagram

State1

Reset orStart-up

Wait forreadyFinBuf

Sem

Do Exposure

Send OKResponse

VerifyProcess

Do ProcessVerify

Send ERROR

ResponseProcess Error

Detected

Wait for Raw Frame

ProcessFrame

State2

Reason forTransition

State Transition

Abort/StopCompleteExposure

ABORT/STOPFailed

Abort/StopFailed

FinishedPre-Process

expTriggerReady

ResponseSent

ResponseFailed

FrameReceived

Frame TimeOut

expStartSemTaken

Frame IDNULL

Complete SystemInial ization

ResponseSent

Put Frameon QueueProcessin

complete

Queue PutFailed

Queue PutOK

NULL IDon Queue

Finish Bufferon Queue

Page 122: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

122

panProcAlg StatespanProcAlg StatesStartStart--up.up.–– Attach shared memory, Initialize shared memory.Attach shared memory, Initialize shared memory.

Wait for readyFinBufSem.Wait for readyFinBufSem.–– Do a semTake on readyFinBufSem.Do a semTake on readyFinBufSem.–– When taken go to When taken go to ““Do ExposureDo Exposure”” or or ““Process VerifyProcess Verify””..

Error Recovery.Error Recovery.–– Determine error state.Determine error state.–– Correct or abdicate responsibility to user.Correct or abdicate responsibility to user.–– Clean out image processing chain.Clean out image processing chain.

Page 123: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

123

panProcAlg StatespanProcAlg StatesDo Exposure.Do Exposure.

–– Obtain finish image buffer, prepare metaObtain finish image buffer, prepare meta--data buffers.data buffers.Obtain full raw data buffer.Obtain full raw data buffer.

–– If buffer ID valid.If buffer ID valid.»» Process Raw data buffer into Finish buffer.Process Raw data buffer into Finish buffer.»» Put raw buffer ID onto emptyRawBuf Queue.Put raw buffer ID onto emptyRawBuf Queue.»» Jump to arrowhead.Jump to arrowhead.

–– If buffer ID NULL .If buffer ID NULL .»» If state is ABORT Got to Abort Exposure.If state is ABORT Got to Abort Exposure.

»» Otherwise Otherwise Pass Finish buffer ID to panSaver & go to Pass Finish buffer ID to panSaver & go to Wait.Wait.

Page 124: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

124

panProcAlg StatespanProcAlg StatesAbort Exposure.Abort Exposure.–– dump finish data buffer, dump finish data buffer, –– put on emptyFinBuf Queue.put on emptyFinBuf Queue.–– go to Wait for readyFinBufSem.go to Wait for readyFinBufSem.

Process verify.Process verify.–– Report process health.Report process health.

Page 125: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

125

panSaver State DiagrampanSaver State DiagramStart-up

ErrorRecovery

Unable to recover from Error

panSaver State Diagram

State1

Reset orStart-up

Wait forfullFinBuf

Sem

Send ErrorResponse

PrepareMeta Data

Buffers

ResponseSent

VerifyProcesses

Spaw nfSaver

ResponseFailed

State2

Reason forTransition

State Transition

Complete SystemInial ization

Meta Data Ready

GivesysRdy

Sem

sysRdySemGiven

fSaver ProcessesOK

SemaphoreERROR

Error Detected

Try FSaverRestart

Restart Failed

Process Failed

Error RecoveryComplete Check

Disk Status

ActivateAlternate

Disk

LOCKsysRdy

Disk Space Available

Semaphore Taken

Disk Ful l RROR

Alternate Disk Ready

Alternate Disk ReadyError Detected

Wait for Disk Space

Process StartedsysRdy LOCKED

Process StartedsysRdy OK

Disk AvailablesysRdy OK

Page 126: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

126

panSaver StatespanSaver StatesStartStart--up.up.–– Attach shared memory, Initialize shared memory.Attach shared memory, Initialize shared memory.

Wait for fullFinBufSem.Wait for fullFinBufSem.–– Do a semTake on fullFinBufSem.Do a semTake on fullFinBufSem.

Check Disk StatusCheck Disk Status–– In disk Full go to Activate Alternate Disk.In disk Full go to Activate Alternate Disk.

Activate Alternate DiskActivate Alternate Disk–– Check Alternate Disk Available.Check Alternate Disk Available.

Lock sysRdySem.Lock sysRdySem.–– Collect termination data on previous fSaver programs.Collect termination data on previous fSaver programs.

Page 127: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

127

panSaver StatespanSaver StatesProcess verify.Process verify.–– Verify fSaver processes health.Verify fSaver processes health.–– Report process health.Report process health.

Prepare Meta Data.Prepare Meta Data.–– Obtain finished image buffer.Obtain finished image buffer.–– Prepare metaPrepare meta--data buffers.data buffers.

Spawn fSaver.Spawn fSaver.–– Provide fSaver with finish Buffer ID.Provide fSaver with finish Buffer ID.–– If sysRdySem LOCKED go to Wait for Disk Space.If sysRdySem LOCKED go to Wait for Disk Space.–– If sysRdySem OK go to Give sysRdySem.If sysRdySem OK go to Give sysRdySem.

Page 128: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

128

panSaver StatespanSaver StatesGive sysRdySem.Give sysRdySem.–– Give sysRdySem to panDaemon.Give sysRdySem to panDaemon.

Wait for Disk Space.Wait for Disk Space.–– Wait until disk space is available on Primary Disk.Wait until disk space is available on Primary Disk.–– Move alternate Disk to primary disk.Move alternate Disk to primary disk.–– Unlock sysRdySem.Unlock sysRdySem.–– Go to give sysRdySem.Go to give sysRdySem.

Send ERROR Response.Send ERROR Response.

Page 129: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

129

panSaver StatespanSaver StatesTry fSaver RestartTry fSaver Restart–– Try to start fSaver if Fail go to Error Recovery.Try to start fSaver if Fail go to Error Recovery.

Error Recovery.Error Recovery.–– Determine error state.Determine error state.–– Correct or abdicate responsibility to user.Correct or abdicate responsibility to user.–– Clean up file pointers, disk etc.Clean up file pointers, disk etc.–– Zero fullFinBuf return to emptyFinBuf Queue.Zero fullFinBuf return to emptyFinBuf Queue.

Page 130: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

130

fSaver State DiagramfSaver State DiagramStart-up

ErrorRecovery

fSaver State Diagram

State1

Reset orStart-up

Save Meta Data

Send ERROR

Response

State2

Reason forTransition

State Transition

WritePixelData

Check Buffer

ID

Complete ProcessInial ization

Header Written

DieDieDie

ResponseSent

Frame IDValid

Frame IDNULL

Unable to recover from Error

ResponseFailed

Write ERRORDetected

Write ERRORDetected

ERROR RecoveryComplete

ERROR RecoveryComplete

Page 131: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

131

fSaver StatesfSaver StatesStartStart--up.up.–– Attach shared memory, Initialize shared memory.Attach shared memory, Initialize shared memory.

Check buffer ID.Check buffer ID.–– If NULL got to Die! Die! Die!If NULL got to Die! Die! Die!–– If valid go to save Meta Data.If valid go to save Meta Data.

Save MetaSave Meta--Data.Data.–– Save Header data to disk.Save Header data to disk.–– Zero metaZero meta--Data.Data.

Page 132: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

132

fSaver StatesfSaver StatesWrite Pixel Data.Write Pixel Data.–– Save pixel data in buffer to Disk.Save pixel data in buffer to Disk.–– Zero fullFinBuf, Put on emptyFinBuf Queue.Zero fullFinBuf, Put on emptyFinBuf Queue.

Error Recovery.Error Recovery.–– Is successful return to previous state.Is successful return to previous state.–– If fail go to send ERROR Response.If fail go to send ERROR Response.

Send ERROR Response.Send ERROR Response.–– Go to Die, Die, Die!Go to Die, Die, Die!

Die, Die, Die!Die, Die, Die!–– Terminate program.Terminate program.

Page 133: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

133

Source Code InSource Code In--line Documentationline Documentation

Page 134: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

134

InIn--Line Documentation ExamplesLine Documentation Examples/******************************************************************************* * * __doc__ \subsection {dheUtilOpen} * __doc__ \begin{description} * __doc__ \item[\sc use:] \emph{void dheUtilOpen(long $\star$istat, char $\star$resp, u\_long unit, int $\star$fd, u\_long ($\star$cbfunc()) );} * __doc__ \item[\sc description:] this function opens the DHE and communications device * __doc__ referenced by the unit argument, a Handle to the dhe is returned in the fd argument. * __doc__ The routine runs the dheHdwrInit and dheHdwrOpen routine to get the dhe ready for use * __doc__ The inherited status is updated and returned. * __doc__ \item[\sc argument(s):] * __doc__ \begin{description} * __doc__ \item[\ ] \ * __doc__ \item[\emph{long $\star$istat}] the inherited status value. * __doc__ \item[\emph{char $\star$resp}] a user supplied buffer for message strings. * __doc__ \item[\emph{u\_long unit}] the unit number to open. * __doc__ \item[\emph{int $\star$fd}] the handle to the open DHE device. * __doc__ \item[\emph{u\_long ($\star$cbfunc())}] a call back function. * __doc__ \end{description} * __doc__ \item[\sc return(s):] void. * __doc__ \item[\sc author(s):] Nick Buchholz (ncb), Phil Daly (pnd) * __doc__ \item[\sc last modified:] Tuesday, 19 November 2002 * __doc__ \item[\sc license:] (c) 2002 AURA Inc. All rights reserved. Released under the GPL. * __doc__ \end{description} * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * ******************************************************************************/ /******************************************************************************* * include(s): *******************************************************************************/ #if !defined(_dheUtil_H_) #include "dheUtil.h" #endif /*******************************************************************************

Page 135: Software Preliminary Design - National Optical Astronomy ... · » Systran FiberExtreme SL100/SL240

135

/***************************************************************/***********************************************************************************************� ********************************� * * dheHdwrOpen.cdheHdwrOpen.c -- hardware specific open routinehardware specific open routine*** __doc__ * __doc__ \\subsection {subsection {dheHdwr.hdheHdwr.h}}* __doc__ * __doc__ \\begin{description}begin{description}* __doc__ * __doc__ \\item[item[\\sc use:] sc use:] \\emph{voidemph{void dheHdwrOpendheHdwrOpen ( long $( long $\\star$status, char $star$status, char $\\star$response, ulong unitNum, star$response, ulong unitNum,

dheHandle $dheHandle $\\star$dheId );}star$dheId );}* __doc__ * __doc__ \\item[item[\\sc description:] This function handles the details of opening thsc description:] This function handles the details of opening the dhe device. e dhe device. * __doc__ it checks that the dhe hardware * __doc__ it checks that the dhe hardware libraylibray has been initialized, opens the communicationhas been initialized, opens the communication* __doc__ device, verifies the dhe hardware is connected and* __doc__ device, verifies the dhe hardware is connected and if there is a failure or we are simulatingif there is a failure or we are simulating* __doc__ it returns SIMULATION_OK. When this routine retur* __doc__ it returns SIMULATION_OK. When this routine returns the dhe should be ready to go.ns the dhe should be ready to go.* __doc__ * __doc__ \\end{description}end{description}*** History:* History:** 20020903 20020903 -- created file for Library created file for Library -- ncbncb** 20030226 20030226 -- added function description documentation added function description documentation -- ncbncb****************************************************************************************************************************************************************/********************************/#includes#includes#define DEFAULT_MONSOON_FILE "monsoon.cfg#define DEFAULT_MONSOON_FILE "monsoon.cfg““#define DEFAULT_MONSOON_DIR ".#define DEFAULT_MONSOON_DIR ".““

void chk4DheHdwr(long *status,void chk4DheHdwr(long *status, /* status return ulong *//* status return ulong */char *response,char *response, /* optional string response to upper level *//* optional string response to upper level */dheHandle dheId dheHandle dheId /* handle to tell library which DHE to use (usually only one/mac/* handle to tell library which DHE to use (usually only one/machine) */hine) */

))