A Typical A-task Message Sequence




User Interface

Task




Register with message system

Load task

Register with message system

Await message

Send connection request

>

<

Acknowledge connection request (automatically)

Wait for next message

Send GSOCC OBEY

>

<

Acknowledge GSOC OBEY

Obey user’s code




The user’s code may, potentially, generate any number of:




<

Reply with MESSYS__INFORM (output from MSG_OUT(), ERR_FLUSH()etc.)

Display message value to user




or:




<

Reply with MESSYS__PARAMREQ (Request a prompt for a parameter value)

Prompt User

Reply with MESSYS__PARAMREP

>

Set parameter value




or:




<

Reply with MESSYS__SYNC (Output from MSG_SYNC)

Prompt user

Reply with MESSYS__SYNCREP

>




and finally, from the ADAM fixed part:




<

Reply with terminating message status (DTASK__ACTCOMPLETE is good)

Terminate transaction (automatically)

Display final status if bad.