Le corps, affecté par SetPostponementDelay, renvoie le délai de ré-examen d'un processus quand il a été retardé (préconditions non satisfaites).int myDiscreteProcess_processPostponementDelay_Body(ProcessMethod*) pM) { result = 1; DiscreteProcess* pDP = pM->DescribedDiscreteProcess(); Entity* pE = pDP->ProcessedEntity(); ... // valuation de result avec le délai requis return result; } MyDiscreteProcess::MyDiscreteProcess() : DiscreteProcess(MY_DISCRETE_PROCESS, "myDiscreteProcess") { Step(24); ProcessedEntityClassId(BD_ENTITY); SetPostponementDelay(myDiscreteProcess_processPostponementDelay_Body); };Le constructeur ProcessPostponementDelay() affecte le symbole de classe PROCESS_POSTPONEMENT_DELAY et le nom de classe "processPostponementDelay". Ainsi, on peut écrire :
int main(...) { ... ContinuousProcess* pCP = new MyContinuousProcess(); int postponementValue; // le code ci-dessous ... Method* pM = pCP->GetMethod(PROCESS_POSTPONEMENT_DELAY ); postponementValue = ((IntProcessMethod*)pM)->Body((ProcessMethod*)pM); // ... est équivalent à celui-ci postponementValue = pCP->ExecIntMethod(PROCESS_POSTPONEMENT_DELAY); ... }