Modélisation à l'aide de machines à états

A. Construire un modèle

B. Vérifier des propriétés d'un modèle donné

C. Commentaires sur le non-déterminisme dans les modèles

Un modèle est non déterministe s'il admet plusieurs comportements. Un tel non-déterminisme est souvent introduit intensionellement, parce qu'à un niveau d'abstraction on voudrait laisser plusieurs options de comportement, ou il est claire que certains aspects du comportement ne peuvent être déterminés, par exemple, parce que les vitesses d'exécution de certains processus concurrents à l'intérieur du système ne sont pas connues. Voici quelques exemples:

  1. Séquencement non déterminé par une diagramme de séquencement. Le diagramme (a) ci-dessous définit une seule séquence d'exécution des interactions, c'est envoyer a, recevoir a, envoyer c, recevoir c, envoyer b, recevoir b, envoyer d, recevoir d. Par contre, diagramme (b) permet plusieurs ordres différents pour l'exécution des primitives envoyer et recevoir; par exemple, l'ordre entre envoyer a et envoyer c n'est pas défini; similairement, l'ordre entre recevoir a et envoyer b n'est pas défini. On dit que le diagramme montre un ordre partiel, par exemple, le fait que recevoir b est avant envoyer d.
  2. Non-déterminisme du à des vitesses d'exécution différentes: Les deux modèles FSM ci-dessous, quand ils sont exécutés conjointement en échangeant des messages entre eux, pourrait donner lieu à une séquence d'exécution qui correspond au diagramme de séquencement (b) ci-dessus. (Note: Une transitions étiquettée "!xx" représente une transition spontanée, seulement la sortie xx est indiquée; une transition étiquettée "?xx" est initiée par une entrée xx - elle n'a pas de sortie.) Par contre, si la vitesse de transmission du message c était plus rapide, ou la vitesse d'exécution de la machine A plus lente, le message c pourrait arriver quand la machine A est dans l'état 2. Ceci serait une reception non spécifiée (la reception de ce message n'est pas définie dans l'état actuel de la machine; ceci doit être considéré comme une erreur de conception). Nous concluons que la conception d'un système où les machines A et B communiquent comme considéré ici, est mauvaise..
  1. Comportement non déterministe d'une machine à états

Page créée: 22 janvier 2008; dernière mise à jour: 22 janvier 2010