Un événement de cette classe a pour effet d'envoyer une directive PROCEED au processus. Cette tâche est réalisée parce que tout événement de cette classe possède, par construction, un et un seul élément dans le tableau de ses conséquences : un couple constitué d'un pointeur sur le processus passé en argument du constructeur et de la directive PROCEED. Il n'a pas de postconséquence et n'est pas autogénérable.
L'insertion dans l'agenda d'une instance de ProceedFromCurrentState peut être réalisée en envoyant au processus concerné le message PostProceedEvent(aDate), où aDate est la date (en nombre d'unités de temps simulé) à partir de laquelle l'état change. Ce message provoque la construction d'un événement de la présente classe, puis son insertion dans l'agenda :
ProceedFromCurrentState* pEvent = new ProceedFromCurrentState(aDate, this); pCurrentSim->InsertInAgendaEvents(pEvent);