- Directive d'inclusion : #include C_Activity.h
- opérateur de composition : before
Deux classes permettent de spécifier que deux ou plusieurs activités doivent se succéder dans le temps, sans aucun recouvrement. En d'autres termes il y a un délai non nul entre la fermeture d'une composante (passage de OPEN à CLOSED) et l'ouverture de la suivante (passage de WAITING à OPEN).
La précédence des instructions implique la précédence de l'exécution des opérations qui les composent respectivement.
La séquence suivante traduit la contrainte before(a1, a2, a3)
\tt{
Activity* a1 = new MyPrimitiveActivity(); Activity* a2 = new MyActivityBefore(); Activity* a3 = new MyActivityInclusion(); Activity* A = new ActivityBefore();
A->AddElement(a1);
A->AddElement(a2);
A->AddElement(a3);
}
La classe ActivityBeforeAny contraint ses éléments à se succéder sans recouvrement, mais n'impose pas l'ordre de leur succession. Celui sera établi dynamiquement en cours de simulation en fonction du contexte courant.
descripteurs communs :
\noindent
OPEN_TO_OPEN_DELAYS openToOpenDelays pIntIntervalTab* NULL CLOSE_TO_OPEN_DELAYS closeToOpenDelays pIntIntervalTab* NULL
OPEN_TO_OPEN_DELAYS : délai open->open CLOSE_TO_OPEN_DELAYS : délai closed->openméthodes communes:
\noindent