Next: Validation: logique
Up: Spécification de l'application
Previous: Spécification de l'application
Pour définir notre mission, nous avons envisagé deux principales possibilités
pour arranger plusieurs actions permettant de mettre en oeuvre
la fonctionnalité de détection et suivi de mouvement :
- Soit :
do
loop (
SEQ ( RTDetect(Pos)
RTMove(Pos)
)
)
UNTIL No_Movement
- Soit :
Exemple :
do
loop (
SEQ ( RTDetect(Pos)
RTFollow(Pos)
RTMove(0,0)
)
)
Dans le 1er cas :
- +
- il y a réutilisation des TRS.
- -
- cette structure force des réactions de l'automate à
la cadence de l'horloge. Et par conséquent l'automate transite de trop
nombreuses fois, et sans lien avec une modification du comportement
logique de l'application.
Dans le 2ème cas :
- +
- cette structuration respecte la logique globale de l'application.
L'automate transite en fonction des changements de comportement
de l'application : détection puis suivi avec détection de mouvement puis
repositionnement de la caméra dans sa position initiale quand il n'y a
plus de mouvement.
- -
- pas de réutilisation des TRS : la
tâche robot RTFOLLOW englobe
dans sa spécification même l'aspect détection de mouvement et déplacement
de la caméra, i.e la boucle de poursuite, sans fait appel aux tâches robot
RTDETECT ou à
RTMOVE.
Soraya Arias
Mon Jan 6 17:20:35 MET 1997