OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative Instrument and Platform Agent Architecture (IPAA) Steve Foley, David Everett Life Cycle Objective Review La Jolla, CA
OOI CI LCA REVIEW August Agenda Interim Review – LCA at the end of next iteration IPAA Background IPAA Product Description Use Case Overview Architectural Overview Technology Challenges and Achievements Early Work Progress in Elaboration Phase Emergent Risks
OOI CI LCA REVIEW August IPAA Subsystem Overview Provides interface between instruments and the rest of the observatory network Configures and commands instruments Collects data from instruments and publishes into observatory network Intended to be more production of drivers than development of observatory network core concepts after initial data plumbing is complete
OOI CI LCA REVIEW August IPAA Product Description Use Case Overview IDTitleDescription UC.R1.20Command a ResourceSend typical commands to specific resource IDTitleDescription UC.R1.02Hello InstrumentInstrument gets an ID and is hooked up UC.R1.03Hello Data SourceData source is registered and connected UC.R1.18Command an InstrumentSend typical commands to specific instrument UC.R1.19Direct Instrument AccessDirectly communicate with instrument UC.R1.24Version a ResourceResource is supplanted by changed version UC.R1.32Conduct NegotiationNegotiate agreement (or not) between agents UC.R1.33Enroll in an OrgEnter as a member into an Organization (Org) UC.R1.34Share an Org ResourceCollaborate with Org member offering a resource UC.R1.35Share Affiliated Orgs' Resources Orgs form a contract to allow resource sharing Responsible For Supports
OOI CI LCA REVIEW August IPAA Product Description Use Case Overview IDTitleDescription UC.R1.06Distribute Data ProductData made available to many consumers UC.R1.31Assess Access PolicyDefine access policy for a given resource Uses
OOI CI LCA REVIEW August Command a Resource Use Case Core IPAA use case is to command an resource as it is the first user of the resource code. 1. Obtain the qualified type unique identifier of the resource to be commanded 2. Determine the command that is to be given to the resource (e.g., activateResource) 3. Send a command message to the name of the resource to be commanded 4. Receive response verifying resource has acted on the command, or that the command has failed
OOI CI LCA REVIEW August Where IPAA Fits In
OOI CI LCA REVIEW August Architectural Overview 2 sides to the IPAA black box: Exchange messages to talk to the observatory network’s registries, services, agents, UIs, etc. RS-232/Ethernet with instrument-specific text or binary protocols to communicate with instrument. Between the 2 sides are the agent and driver that provide access control, locking, translation, buffering across slow links, instrument/driver specific logic, appropriate time recording, etc.
OOI CI LCA REVIEW August Instrument Agent Simplified Architecture Overview Basic flow of commands to and from the instruments Instrument Management Services Instrument Agent Core Instrument Driver Instrument Instrument Agent Instrument Agent Core Instrument Driver Native Exchang e ExchangeExchange
OOI CI LCA REVIEW August Instrument Agent Interface: Network Side Generic common interface for system-wide interaction Extensible at lower levels for instrument-specific work Based on getting and setting parameters and executing commands Announces capabilities and uses registries for discovery Potentially capable of transactions and sequences Will handle governance when the time comes
OOI CI LCA REVIEW August Instrument Agent Interface Observatory-related functions: Get/Set configuration parameters (ex. driver process Id) Get/Set CI lifecycle state Execute commands (ex. start direct access) Get status (ex. acquiring data) – Dynamic Get translator function Get registry entries Instrument-related functions: Get/Set configuration parameters (ex. output format) Execute commands (ex. pump on) Get status (ex. data flow state) – Dynamic Get capabilities (both observatory- and instrument- related)
OOI CI LCA REVIEW August Test Instrument: SBE49 SeaBird Electronics SBE49 CTD has been our simple, text-based test example instrument, easy to mock up and test. Some commands: DS – Status & params Polled sampling PUMPON / PUMPOFF TS – Take single sample Autonomous sampling START / STOP NAVG=x – Samples to average Settings BAUD=x OUTPUTFORMAT=x …various coefficients to set
OOI CI LCA REVIEW August General Instrument State Model SBE49 model is already a degenerate form of this, logic is partially there Will work to generalize instrument agent software to support this model
OOI CI LCA REVIEW August Instrument Driver Interface: Instrument Side S>navg=16# set a few parameters S>autorun=y S>pumpdelay=30 S>ds# display some settings SBE 49 FastCAT V 1.3a SERIAL NO number of scans to average = 16 pressure sensor = strain gauge, range = minimum cond freq = 3273, pump delay = 30 sec start sampling on power up = yes output format = raw HEX temperature advance = seconds celltm alpha = 0.03 celltm tau = 7.0 real-time temperature and conductivity correction enabled, not applied to raw data S>outputformat=2# Raw data in decimal S>ts# Test single sample , , , S>start# Start streaming , , , # Temperature in counts, conductivity , , , # in freq, pressure in counts, and , , , # Pressure sensor temp in voltage
OOI CI LCA REVIEW August Instrument Driver Responsibilities Takes high-level Get/Set/Execute based calls from the observatory network… …then translates to/from instrument protocol to obtain results Maintains necessary protocol state/mode with instrument Needs to know what commands are valid SBE49 has very little state to track, other instruments will have more Transforms returned data to canonical format before sending it back to observatory network
OOI CI LCA REVIEW August Registration UserIA Client Agent DescriptorAgent Registry Agent Registry Client
OOI CI LCA REVIEW August Status of Progress Elaboration period has been focused on infrastructure for process management, data flow, and proper interaction with registries End-to-end exchanges of messages demonstrate complete data pathway and interface sanity “Command A Resource” use case was addressed and can be demonstrated.
OOI CI LCA REVIEW August Instrument Registration UserIA ClientAgentDriverAgent Registry Client
OOI CI LCA REVIEW August Interaction and Instrument Command UserIA ClientAgentDriverInstrument
OOI CI LCA REVIEW August Interaction and data publishing UserIA ClientAgentDriverInstrumentPubSub Service
OOI CI LCA REVIEW August Technology and Interface Choices Exchange messaging between Agent and Driver May be changed during construction if performance or situation requires it Exchange messaging between Agent and observatory network registries Currently TCP with text protocol to serial device (would be through a serial-to-Ethernet device)
OOI CI LCA REVIEW August Technology Challenges and Achievements Agent registration discoverable Instrument Agents Simulated device testing of data plumbing Protocol interaction with device science data flows Start data flowing from instrument, acquiring by driver, and publishing to subscribers complete data path coverage
OOI CI LCA REVIEW August Early Work Completed - RSN While platform agent work is not on the Release 1 agenda, investigations were made into RSN software platform command and control interfaces to prevent problems in the future. Initial plans are for the interface to be Python (AMQP?) based, SNMP may also be an option if needed Interfaces to interact with RSN platform software elements are being specified with RSN team
OOI CI LCA REVIEW August Early Work Completed – CGSN Work has been done to plan integration with the board chosen for the CGSN platforms. On-board controller will be Linux based embedded ARM processor (Technologic Systems TS-7370) Python capable, early versions of code function without modifications. Capability Container is slow, needs tuning More use case work needs to be done
OOI CI LCA REVIEW August One More Elaboration Iteration IPAA has one more iteration to go before IPAA moves on to construction. This iteration will include the following work: Support for direct access mode Streamline data flow Generalize and improve instrument state management Keep up with core ION refactoring and improvements Continue work with RSN and CGSN teams Begin work on ADCP driver
OOI CI LCA REVIEW August Risk Assessment – IPAA Use Case IDNameDelivery RiskMaturity LevelTarget Use UC.R1.20Command A ResourceLowRequiredDeveloper
OOI CI LCA REVIEW August Emergent Risks – Technology The following systems and technologies have not been setup in the OOI environment, nor have instruments been interfaced through them yet Antelope ORB (Q330 data loggers) SIAM MOOSDB Puck IEEE 1451
OOI CI LCA REVIEW August Thanks ! Questions ?