To cover the requirement to resend timed-out transactions in bulks (selecting multiple alert objects from the FTM UI and resolve them at once) we see two different options:
(1) Override the Outbound Transaction FSM, in particular the E_Heartbeat transition that connects S_WaitingForAck to S_WaitingForAckTimeout. The overridden transition will have a different target state that will contain the “Resend” resolution constraint, along with the “Cancel” option. On the E_OperatorResent event, we will be able to trigger the outbound PT resend. In this scenario the new target state will need the same outbound transitions as S_WaitingForAckTimeout state in order to handle the E_AckRecvd, E_OutTxnAckRecvd and E_OperatorCancel events.
(2) Add a new “Resend” resolution action to the existing S_WaitingForAckTimeout state and add a new transition from S_WaitingForAckTimeout to S_WaitingForAck to trigger the resending process. Of course this means changing the generic FSM, so we should raise the question whether the change is acceptable and can be included in future releases.