Expression explicite d'un domaine temporel


o TimeAvailabilityConstraint
nom C++ symbole de classe nom de classe classe des éléments classes des composants
TimeAvailabilityConstraint TIME_AVAILABILITY_CONSTRAINT timeAvailabilityConstraint

Descripteurs :

type classe, symbole, nom v. par défaut
C pIntIntervalTab* TimeDomainAttribute TIME_DOMAIN_ATTRIBUTE TimeDomainAttribute NULL la disjonction d'intervalles

La valeur du descripteur TimeDomainAttribute est un tableau d'intervalles d'entiers disjoints, rangés dans l'ordre croissant des bornes.

Une telle contrainte est valeur du descripteur TimeAvailabilityAttribute de la ressource visée.

On peut construire un tel domaine de la manière programmée suivante :

{
  // ...
  TimeAvailabilityConstraint* pTAC = new TimeAvailabilityConstraint();
  pTAC->AddIntDomainValueElement(0, 10);
  pTAC->AddIntDomainValueElement(15, 15);
  // ...
  SingleWorker* pW = new SingleWorker();
  pW->AddEntityValueElement(TIME_AVAILABILITY_ATTRIBUTE, pTAC);

Et de la manière externalisée suivante :

+ I timeAvailabilityConstraint pTAC_1,
	timeDomainAttribute << (0 10);
	timeDomainAttribute << (15 15);
;
+ I singleWorker pW_1
	timeAvailabilityAttribute << <I><, pTAC_1>;
;

Dans les deux cas, le test de satisfaction peut être codé comme suit :

{
  TimeAvailabilityConstraint* pTAC = new TimeAvailabilityConstraint();
  // ...
  bool isSatisfied = pTAC->Check();
  printf("\nla valeur de l'horloge est %d\n\t--> satisfaction de %s = %d", 
         pCurrentSim->Clock(), pTAC->InstanceName(), isSatisfied);
  // ...
}
>>
la valeur de l'horloge est 12 
    --> satisfaction de timeAvailabilityConstraint_386 = 0

This page was generated with the help of DOC++.