Skip to end of metadata
Go to start of metadata

Overview of "Command Instrument" Use Case

Send typical commands to specific instrument and analyze the response.


Tip: Key Points
UC Priority= 4 or 5: Critical, is in R2
Only boldface steps are required
<#> before a step —> lower priority
(optional) —> run-time option

Related Jira Issues:   Open   •   All

Metadata

Refer to the Product Description and Product Description Release 2 pages for metadata definitions.

Actors Marine Asset Operator (Observatory Operator)
References  
Uses  
Is Used By  
Extends UC.R1.18 Command An Instrument, UC.R1.20 Command A Resource
Is Extended By  
In Acceptance Scenarios AS.R2.01A Operate Marine Observatory, AS.R2.02A Cruise Support, AS.R2.02B Data Support via Cruise, AS.R2.02C Instrument Life Cycle Support
Technical Notes This addresses the case of commands given through ION, not directly commanding the instrument.
Lead Team SA
Primary Service Instrument Management Services
Version 2.0.2
UC Priority 4
UC Status Mapped + Ready
UX Exposure MNC

Summary

This information summarizes the Use Case functionality.

Send typical commands to a specific instrument and process the response.

Assumptions

  • Multiple users may be sending commands to the Instrument Agent concurrently. The agent prioritizes and schedules commands, and may issue warnings if conflicts may result.
  • General access to instruments (via Instrument Agent commands) and direct access are mutually exclusive.
  • Actor has the necessary authorizations to command the instrument.

Initial State

The instrument is connected to the ION system, is online and is available to be commanded.

Scenario for "Command Instrument" Use Case

  1. User determines what command(s) he or she wants to give to a given instrument.
    1. User considers whether to give the commands in real-time, whether the instrument is currently online or intermittently accessible, or whether to queue the command for later execution
  2. User accesses that instrument's general instrument interface supplied by CI, and learns whether he/she has access to the necessary commands.
    1. The interface is general to all instruments, but it is presented, configured, and extended for the requested instrument. This means it may be showing the specific capabilities of an instrument, all the commands that can be issued, and all available status.
    2. What the user sees is a function of the user's privileges; some commands may be visible but not executable.
    3. This scenario goes beyond Command an Instrument in R1 in that the interface will be available for all integrated instruments, and more full-featured.
  3. If the user can exercise desired commands only with permission, the permissions are requested by the ION system.
    1. A typical process will be for the Marine Asset Operator to receive a notification of the request, with the opportunity to acknowledge by granting the permission.
    2. This step incorporates the process of enabling the user to control the instrument (the 'Acquire' life cycle activity).
    3. The approval process for such requests will be a matter of operational policies and practices; it may be automatically or manually granted.
  4. Commands available through the general interface may be accessed directly through the interface.
  5. (optional) User adds batch command for the instrument
    1. If the instrument is deployed on an intermittently connected platform (e.g. surface mooring), the command can be added to an ordered batch list
    2. The user can view commands within the batch list
    3. The system executes batch commands the next time a connection is established or at the earliest time designated
    4. The user can modify and delete commands within the batch command  list.
  6. Ready-to-execute commands are directed to the Instrument Agent.
    1. Each command should have a unique command ID, for later association to multiple responses.
  7. The Instrument Agent uses its knowledge of the instrument to assess command validity under current operating conditions.
    1. These assessments may be presented/constrained in the general instrument interface.
    2. Recent commmanders and their commands should be tracked for possible display (not necessarily by Instrument Agent).
    3. The Instrument Agent performs access policy enforcement.
  8. The Instrument Agent conveys the command to the instrument.
  9. The Instrument Agent logs and returns any immediate response, and announces any resulting state changes.
    1. Command completion is indicated in the response, if known.
    2. If the first response from the instrument indicates successful initiation, but not completion, of the command, the instrument Agent should monitor for and return future responses associated with this command. The responses should indicate which command they are associated with.
    3. Errors are indicated if the command is prevented from executing, or the instrument does not respond in a way that is expected/indicates success.
  10. The instrument response and any resulting operational state changes are reflected in the user's view of the instrument.
  11. The instrument agent additionally returns any subsequent status or completion responses from the instrument that are associated with this command.
    1. The previously supplied command identifier is used to identify all such responses.
  12. The capability to control the instrument is released.
    1. A specific command to 'acquire' the instrument for a set of multiple commands (and 'release' it afterwards) should be available.

Final State

User has successfully issued command and can see that it has succeeded.

Comments

These comments provide additional context (usually quite technical) for editors of the use case.

(click on # to go to R2 use case)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61     27B

Labels

r2-usecase r2-usecase Delete
usecase usecase Delete
productdescription productdescription Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.