UPAAL TP
Exercice1 : Modéliser dans l’interface Uppaal
Nous sommes intéressé par la modélisation d’un distributeur de billets. Notre approche est de modéliser la banque avec un seul distributeur et un seul utilisateur.
Dessinez sous Uppaal les automates suivants :
Figure 1: Automate Banque
Figure 2: Automate distributeur
Figure 3: Automate client
Déclarez les variables figurant sur ces automates, ensuite les initialiser : la variable cash de client représente l’argent qu’il a sur lui, la variable Till est la caisse du distributeur et balance dans l’automate banque va garder la traçabilité pour ce client.
Initialement le client n’a pas d’argent sur lui, dispose d’une balance de 80 euros en banque et la caisse du distributeur est de 200 euros.
Question1 :
a. Exprimer dans Uppaal les propriétés suivantes :
Le client ne peut dépenser que 80 euros. Le système ne doit jamais bloquer (aucune évolution n’est encore possible).
b. corriger le système pour que ces deux propriétés soient satisfaites. Pour vous aidez utiliser l’option génération de trace de Uppaal qui permet de générer un contre exemple pour une propriété non satisfaite. Allez dans l’onglet vérifier -> option -> Diagnostic trace -> some.
Question2 : a- Changez la caisse du distributeur à la valeur 30 au lieu de la valeur 200. Quelque chose n’est pas réaliste dans ce model. Trouvez de quoi s’agit-il en utilisant la simulation? Changer le model pour ne plus avoir ce comportement. b- Une fois votre model changé, ajouter dans le model-checker la propriété pour vérifier que le problème est bien évité. Attention, votre model doit toujours vérifier la propriété absence de blocage.