See the Release 3 Milestone Summary page.
|Description||Common services for all marine device operations and monitoring, including capability discovery and failure detection|
|Deliverable||Deployment Management Service|
|Development Owner||E. Hunter|
|Development Team||Device Management|
|Developers||E. Hunter, B. Fratantonio|
|Identify Marine Device Operations behavior requirements||Analyze existing requirements and propose revisions for milestone work. Communicate with Marine IOs and other stakeholders to determine specific detailed features and analyze available documentation as needed. Work with the System Engineer on a requirements revision proposal.|
|Design Marine Device Operations behavior model||Develop detailed designs of this milestone's capabilities as needed for subsequent implementation and integration with the production system and other components. Identify core interfaces and dependencies to the system and to other compoents. Describe core interfaces provided. Get review from system architect and make design artifacts available in the CI architecture documentation.|
|Create YAML to represent the service model||Develop an extension or revision of the system service and object YAML interface specifications, reviewed by the system architect, as needed for the implementation of this milestone's capabilities.|
|Implement enhanced marine device computed attributes||Implement the capability as designed and scoped. Develop unit and integration tests to demonstrate the correct operation of the code.|
|Implement seamless operations of instrument and data agent devices||Implement the capability as designed and scoped. Develop unit and integration tests to demonstrate the correct operation of the code.|
|Implement support for operation of assemblies and network segments||Implement the capability as designed and scoped. Develop unit and integration tests to demonstrate the correct operation of the code.|
|Implement enhanced status rollup from instrument/data agents|
|Implement support for OMC agents|
|Integrate and test with production environment||Take all developed software capabilities of this milestone and integrate them with the remainder of the system. Demonstrate the correct function of the additions through successful automatic tests running against a fully launched system and by interactive demonstration on the test/alpha system.|
See design here: CIAD SA OV Observatory Status and Events
To goal is to approximate the status management and roll-up as close as possible with input from the MIO user community.
The mission execution capability should be designed and implemented with the following use cases in mind. The notion of a generic "device" is intentional and can apply to platform or instruments or possible other entities.
- View available missions on a device – examine what existing mission files have been activated and are available in the system to run on a given device.
- Edit and submit a new device mission at runtime – From a template or existing mission file, user creates a new mission plan file and submits it for consideration. A marine operator with role Facility Manager or higher is notified to verify the pending mission and its lifecycle state is updated to DEPLOYED make it visible in the system for execution.
- Execute mission.
The workflow for mission execution can be broken down into the following steps.
- User navigates to a device facepage.
- As part of the load, the UI queries for the RR for all missions available for this agent as deployed/configured and displays this table in a tab.
- User selects various missions from table and displays them separately to view the file contents.
- User selects a mission of interest after examining the available missions.
- User selects execute_mission button near the list of missions. This is not the agent execute_mission but is directed at the IMS/OMS.
- IMS/OMS receives the execute_mission request and retrieves the mission by reosurce id.
- IMS/OMS calls OrgMS to obtain exclusive access to the platform and all children involved in mission (if specified in mission, exculsive access is obtained for all children so they may not be activated or controlled during missing in the case that this could conflict with mission ops).
- IMS/OMS passes or shares exclusive access for the child agents to the parent/platform.
- Platform agent transitions to mission state.
- Platform agent executes all precondition checks and adjustments.
- Platform mission exec within agent carries out mission per file using mission library.
- ALTERNATE PATH: Platform mission responds to an error condition, such as an error executing one of its scheduled commands, possibly ending mission early.
- ALTERNATE PATH: Marine operation terminates an executing mission.
- ALTERNATE PATH: Platform agent completes mission.
- Platform agent performs postcondition checks/adjustments.
- Platform agent publishes mission complete key with mission ID.
- Platform agent transitions to run or streaming state as normal.
- Marine operator checks outcome of mission and status and manually ends mission releasing exclusive access to all agents.
Aside from capabilities enabling the above workflow, we additionally need the following implemented and tested.
- Mission plan definition language in YAML format. See RSN example missions and start by replicating each of these.
- Mission execution library/mechanism can can be installed into a device agent and can parse the mission files, turning them into
the proper sequence of commands and monitoring steps.
- Integration test cases at the level of the mission execution library, then at the platform agent level with platform and instrument simulators.
See the attachment on this page for example RSN missions: "OOI-Regional Scale Nodes Mission Samples."
Figure 1. Candidate flow diagram for mission execution logic
Figure 2. Candidate state diagram for MASSP driver, coordinating 3 sub devices in firmware assisted calibration and autosample sequences.
Click here to download Mission File Description documentation.
Figure 3. Example timed mission using RSN OMS platform simulator and SBE37 CTD simulators
An example event driven mission from the shallow water profiler is found here.