Send typical commands to specific instrument and analyze the response.
|Actors||Marine Asset Operator (Observatory Operator)|
|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.|
|Primary Service||Instrument Management Services|
|UC Status||Mapped + Ready|
This information summarizes the Use Case functionality.
Send typical commands to a specific instrument and process the response.
- 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.
The instrument is connected to the ION system, is online and is available to be commanded.
- User determines what command(s) he or she wants to give to a given instrument.
- 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
- User accesses that instrument's general instrument interface supplied by CI, and learns whether he/she has access to the necessary commands.
- 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.
- What the user sees is a function of the user's privileges; some commands may be visible but not executable.
- This scenario goes beyond Command an Instrument in R1 in that the interface will be available for all integrated instruments, and more full-featured.
- If the user can exercise desired commands only with permission, the permissions are requested by the ION system.
- 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.
- This step incorporates the process of enabling the user to control the instrument (the 'Acquire' life cycle activity).
- The approval process for such requests will be a matter of operational policies and practices; it may be automatically or manually granted.
- Commands available through the general interface may be accessed directly through the interface.
- (optional) User adds batch command for the instrument
- If the instrument is deployed on an intermittently connected platform (e.g. surface mooring), the command can be added to an ordered batch list
- The user can view commands within the batch list
- The system executes batch commands the next time a connection is established or at the earliest time designated
- The user can modify and delete commands within the batch command list.
- Ready-to-execute commands are directed to the Instrument Agent.
- Each command should have a unique command ID, for later association to multiple responses.
- The Instrument Agent uses its knowledge of the instrument to assess command validity under current operating conditions.
- These assessments may be presented/constrained in the general instrument interface.
- Recent commmanders and their commands should be tracked for possible display (not necessarily by Instrument Agent).
- The Instrument Agent performs access policy enforcement.
- The Instrument Agent conveys the command to the instrument.
- The Instrument Agent logs and returns any immediate response, and announces any resulting state changes.
- Command completion is indicated in the response, if known.
- 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.
- Errors are indicated if the command is prevented from executing, or the instrument does not respond in a way that is expected/indicates success.
- The instrument response and any resulting operational state changes are reflected in the user's view of the instrument.
- The instrument agent additionally returns any subsequent status or completion responses from the instrument that are associated with this command.
- The previously supplied command identifier is used to identify all such responses.
- The capability to control the instrument is released.
- A specific command to 'acquire' the instrument for a set of multiple commands (and 'release' it afterwards) should be available.
User has successfully issued command and can see that it has succeeded.
These comments provide additional context (usually quite technical) for editors of the use case.