Database Reference
In-Depth Information
La règle OCL (R1) qui décrit la contrainte des clauses du contrat est la suivante :
context
Vehicule
inv
R1 :
self
.implique
→
forAll
(s | s.option
→
forAll
(c | c.prevoit
→
exists
(co |
➥
co.beneiciaire=
self
)))
La règle OCL (R2) qui formalise la contrainte de dates est la suivante :
context
Contrat
inv
R2 :
self
.clauses
→
forAll
(c | c.sinistres
→
forAll
(s | s.date_sinistre.
isBefore
➥
(
self
.date_contrat)))
Contraintes d'héritage
L'héritage a été présenté à la section « Les associations plus complexes » avec l'exemple de la
surclasse
Personnel
qui permet de spécialiser les sous-classes
Navigant
et
Commercial
.
Dans tout graphe d'héritage, différents cas peuvent être recensés en fonction des instances des
classes. Ces cas traduisent des contraintes que Merise/2 nommait la partition (appelée aussi
exclusion et totalité). En considérant les personnels comme navigants et commerciaux, cette
population peut être composée :
●
de navigants ou commerciaux exclusivement (cas
A
) ;
●
de navigants, de commerciaux et de personnels ni navigants ni commerciaux (cas
B
) ;
●
de navigants, de commerciaux et de personnels à la fois navigants et commerciaux (cas
C
) ;
●
de toute possibilité (cas
D
).
Figure 1-74
. Différents cas d'héritage