package ServerSequenceModelOutside {
public import ServerSequenceModel::*;
part def PubSubSequenceOutside :> PubSubSequence {
part :>> producer {
event publish_source_event = publish_message.start;
}
part :>> server {
event occurrence :>> subscribe_target_event = subscribe_message.done;
then event occurrence :>> publish_target_event = publish_message.done;
then event occurrence :>> deliver_source_event = deliver_message.start;
}
part :>> consumer { /* Redundant with timing constraints on server and generic transfers. */
event occurrence :>> subscribe_source_event = subscribe_message.start;
then event occurrence :>> deliver_target_event = deliver_message.done;
}
}
}