Erreurs sur la définition d'une contrainte

UnexpectedClassIdForInconsistencyCondition :
Exception levée dans deux situations différentes :

VoidARIC :
Exception levée lorsque le moteur de simulation rencontre une ActivitiesResourcesInconsistentCommitment

L'absence d'éléments est une situation envisageable lorsqu'on intègre dans la HoldingCondition la totalité de la sémantique de la contrainte.

NoOccurrenceCrossDomain
Exception levée lorsque le moteur de simulation rencontre une ResourceSharingViolationCondition ou une ActivityInconsistencyCondition sans valeur pour le descripteur OccurrenceCrossDomainAttribute.

VoidOccurrenceCrossDomain :
Exception levée lorsque le moteur de simulation rencontre un OccurrenceCrossDomain sans élément (de type OccurrenceDomain).

Pour localiser les deux dernières erreurs, la construction correcte se fait typiquement de la manière suivante :

MyViolationCondition::MyViolationCondition() {
  // sous-classe de RESOURCE_SHARING_VIOLATION_CONDITION
  // ...
  Entity* pOccurrenceDomain = new MyDomainViolation();
  Entity* pOccurrenceCrossDomain = new OccurrenceCrossDomain();
  pOccurrenceCrossDomain->AddElement(pOccurrenceDomain);

  SetEntityConstValue(OCCURRENCE_CROSS_DOMAIN_ATTRIBUTE,
					  pOccurrenceCrossDomain);
};

L'absence du SetEntityConstValue provoque la première erreur.
L'absence du AddElement provoque la seconde erreur.


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