Telescope Model contains the following:
- JSON Schema for CSP LMC LOW command Assign Resources
- JSON Schema for CSP LMC LOW command Configure
- JSON Schema for CSP LMC MID command Assign Resources
- JSON Schema for CSP LMC MID command Configure
- JSON Schema for PST LOW command Configure
- JSON Schema for PST MID command Configure
Note: In the case that PST schemata is identical for the LOW and MID Telescope, only one schema instance is provided for each command.
Behavior:
Given CSP.LMC Subarray where obsState=EMPTY
When CSP.LMC Subarray receives an assign resources command that passes correctly specified JSON script
Then CSP.LMC accepts the command, transitions to obsState=RESOURCING, successfully completes the resourcing and transitions to obsState=IDLE.
Given CSP.LMC Subarray where obsState=EMPTY
When CSP.LMC Subarray receives an assign resources command that passes incorrect or incomplete JSON script
Then CSP.LMC [rises an exception | answers with the return code "wrong argument" ] and remains in obsState=EMPTY.
Given CSP.LMC Subarray where obsState=IDLE
When CSP.LMC Subarray receives a Configure command that passes correctly specified JSON script
Then CSP.LMC accepts the command, transitions to obsState=CONFIGURING, successfully completes configuring and transitions to obsState=READY.
Given CSP.LMC Subarray where obsState=IDLE
When CSP.LMC Subarray receives a Configure command that passes incorrect or incomplete JSON script
Then CSP.LMC [rises an exception | answers with the return code "wrong argument" ] remains in obsState=IDLE.
Given CSP.LMC Subarray where obsState=READY
When CSP.LMC Subarray receives a Configure command that passes correctly specified JSON script
Then CSP.LMC accepts the command, transitions to obsState=CONFIGURING, successfully completes configuring and transitions to obsState=READY.
Given CSP.LMC Subarray where obsState=READY
When CSP.LMC Subarray receives a Configure command that passes incorrect or incomplete JSON script
Then CSP.LMC [rises an exception | answers with the return code "wrong argument" ] remains in obsState=READY and the Subarray configuration remains unchanged.
Note: When an invalid JSON script is received, whether CSP.LMC rises an exception or answers with the return code "wrong argument" depends on the type of error in the JSON script. (To Be Confirmed).
CSP.LMC tests for the command configure shall be repeated at least for the following observing modes:
a) scan that performs only correlation
b) scan that performs correlation and PST beamforming and capture (the actual Pulsar Timing is not supported in this release).
PST does not implement Assign Resources, and shall pass the tests for Configure command.
The following shall be repeated for LOW and MID (to be confirmed):
Given an instance of PST Beam/Pipeline where obsState=IDLE
When PST Beam/Pipeline receives a Configure command that passes correctly specified JSON script
Then PST Beam/Pipeline accepts the command, transitions to obsState=CONFIGURING, successfully completes configuring and transitions to obsState=READY.
Given an instance of PST Beam/Pipeline where obsState=IDLE
When PST Beam/Pipeline receives a Configure command that passes incorrect or incomplete JSON script
Then PST Beam/Pipeline [rises an exception | answers with the return code "wrong argument" ] remains in obsState=IDLE.
Given an instance of PST Beam/Pipeline where obsState=READY
When PST Beam/Pipeline receives a Configure command that passes correctly specified JSON script
Then PST Beam/Pipeline accepts the command, transitions to obsState=CONFIGURING, successfully completes configuring and transitions to obsState=READY.
Given an instance of PST Beam/Pipeline where obsState=READY
When PST Beam/Pipeline receives a Configure command that passes incorrect or incomplete JSON script
Then PST Beam/Pipeline [rises an exception | answers with the return code "wrong argument" ] remains in obsState=READY and the Subarray configuration remains unchanged.
Initially suggested behavior :
Given CSP.LMC correctly connected with one component
When CSP.LMC receive a configuration or assign resources command
Then CSP.LMC can asses the correctness and completeness of Json argument
Given CSP.LMC correctly connected with PST.LMC
When CSP.LMC receive an invalid or incomplete configuration or assign resources command
Then CSP.LMC [rises an exception | answer with wrong argument return code ] and does not transition to next steady state