Logique séquentielle

Rares sont les systèmes pour lesquels le fonctionnement peut-être formalisé uniquement avec des fonctions logiques combinatoires. Bien souvent, en plus de l'évolution des variables d'entrée, il faut prendre en compte le facteur temps.

ExempleLogique Séquentielle

L'appui bref sur un bouton poussoir (entrée) active une sortie qui provoque un mouvement (toile de store qui se déroule,...) et celui-ci se poursuit même après relâchement dudit poussoir.

Par conséquent la sortie est à « 1 » que l'entrée soit à « 1 » ou à « 0 ». Ceci ne peut plus être décrit par une fonction de logique combinatoire.

On peut dire :

  • la sortie passe à « 1 » si l'entrée passe à « 1 » et que la sortie était précédemment à « 0 »

  • la sortie reste à « 1 » si l'entrée repasse à « 0 » mais que la sortie était précédemment à « 1 »

Cet effet mémoire est caractéristique d'une fonction de logique séquentielle.

Outils pour la logique séquentielle

Des outils graphiques tels que :

  • Diagramme de séquence SysML

  • Chronogramme

  • Organigramme (voir Comportements informationnels des systèmes)

  • Diagramme états transitions SysML

peuvent alors être utilisés pour :

  • décrire le fonctionnement d'un système existant, à des fins d'analyse

  • spécifier le comportement attendu du système, en phase de conception

Diagramme de séquence

Le diagramme de séquence est intéressant en première approche pour décrire par exemple les échanges entre l'utilisateur et le système (I.H.M.) mais il ne rend pas compte du fonctionnement interne du système du point de vue de la chaîne d'information.

De plus, pour faciliter la lecture, on s'oblige à décrire un scénario particulier, quitte à élaborer d'autres diagrammes de séquence pour les autres cas de figure.

| Exemple : Automatisme de Store |

Chronogramme

Le chronogramme permet d'avoir une idée précise de l'évolution temporelle des variables, mais est surtout adapté à un nombre relativement restreint de variables T.O.R.

En revanche il est plus difficile de traduire des traitements mathématiques effectués sur des variables d'autres types (entier, flottant,..).

| Exemple : Automatisme de Store |

Diagramme États – Transitions

Les éléments de base d'un diagramme états-transitions sont les suivants :

Un diagramme doit obligatoirement comporter un état initial, l'état final est facultatif (fonctionnement vrai dès qu'il y a de l'énergie et – sous entendu – jusqu'à sa disparition).

Chaque état (rectangle aux coins arrondis) porte un nom (pas un numéro !) unique situé en haut à gauche.

Une transition (flèche, pas nécessairement droite) est associée à une condition, qui côtoie la flèche. Les conditions sont plutôt associées à des variables d'entrée qui :

  • changent d'état (booléen)

  • atteignent une valeur particulière (entier, flottant,...)

RemarqueTypes de conditions

En toute rigueur une distinction, subtile, doit être faite entre conditions de types :

  • événement : changement d'état d'une variable, issue d'un constituant d'interface homme machine (bouton poussoir, zone tactile d'écran,...) d'un détecteur, ...

  • garde (écrite entre crochets) : condition qui porte sur l'état d'une variable.

La lecture d'un diagramme, comme son exécution, commence par l'état « pointé » par une transition inconditionnelle issue de l'état initial.

Les étapes permettent d'effectuer un traitement, une action. Quelques unes ne proposent aucune action : étape d'attente (une transition permet de stipuler un délai de validité de cette étape) ou choix exclusif entre plusieurs cheminements.

État initial d'un diagramme

Une action (instruction suivie du symbole « ; ») est qualifiée par un mot clef écrit en minuscule, suivi du symbole « : ». Le mot clef permet de définir la manière dont s'effectue(nt) l'(les) action(s) :

  • entry : à l'activation de l'état

  • exit : à la désactivation de l'état

  • during : tant que l'état est actif

ExempleAction

entry : MONTER = 1 ;

A l'entrée dans l'état considéré, la variable (de sortie) MONTER est mise à « 1 ».

RemarqueSigne égal

Le signe égal est le symbole d'affectation, il n'a pas la même signification qu'en mathématique, ici on écrit une variable (booléenne) de sortie à 1 logique.

RemarqueDécomposition exclusive / parallèle

Il n'est pas question ici d'états à décomposition parallèle. Pour la lecture, il faut donc considérer qu'à un même niveau hiérarchique, un seul état est actif à la fois (décomposition exclusive).

RemarqueTypes de variables

Les variables manipulées doivent être définies (éditeur spécialisé) et typées (booléen, entier, ...)

| Exemple : Automatisme de Store |

ComplémentDiagramme états-transitions et programmation

Plusieurs logiciels existent, tels que

  • Matlab (et son éditeur spécialisé Stateflow)

  • LabView (et son module StateChart)

qui permettent de simuler, mettre au point des applications sur la base de diagrammes états-transitions et même de générer du code sur différentes cibles du marché.

ComplémentDiagramme états - transitions - Le principe en vidéo

La vidéo ci-dessous donne les principes de base permettant d'élaborer un diagramme états-transitions.