Vérification et Validation Modélisation en UML/OCL

Transcription

Vérification et Validation Modélisation en UML/OCL
Vérification et Validation
Année 2010-2011
www.lri.fr/∼wolff/teach-material/2010-11/PolyTech-VnV
Delphine Longuet
[email protected]
Prof. Burkhart Wolff
[email protected]
Modélisation en UML/OCL
Date : 16/02/2011
Exercice 1 (Modélisation des files de priorité)
Une file de priorité est une structure de données dans laquelle chaque élément est associé
à une priorité (strictement positive). Elle est munie de trois opérations principales :
– insertNode ajoute à la file un élément associé à une priorité ;
– removeTop retire de la file l’élément de plus haute priorité et le retourne ;
– getTop retourne l’élément de plus haute priorité sans le retirer ;
On peut également définir l’opération isEmpty qui vérifie que la file est vide. Les priorités
doivent être toutes différentes au sein de la file, ainsi l’ajout d’un élément avec une priorité
déjà présente dans la file écrase l’élément précédemment associé à cette priorité.
Questions.
1. Donner un diagramme de classes UML modélisant une file de priorité.
2. Donner une spécification OCL des propriétés et des opérations de la file. On pourra
définir une opération auxiliaire nodes():Set(Node) qui retourne l’ensemble des nœuds
accessibles à partir d’un nœud.
3. Transformer l’invariant en un prédicat récursif.
4. Reformuler les modèles d’opération en notation mathématique.
1