Systèmes de transition étiquetés (STE)

Exemple de l’ascenseur :
ascenseur
Exemple du distributeur de boissons :
distrib_boissons
q_{0} est vide :
Valeur de vérité de conjonction sur un ensemble vide : \forall e \in E : vrai (toujours vrai)
Valeur de vérité de disjonction sur un ensemble vide : \exists e \in E : faux (toujours faux)

Les STE peuvent être infinis.

Par exemple :
exemple_ste

Disgression

Relation binaire des ensembles/domaines X et Y : \mathcal{R} \subseteq X \times Y avec \mathcal{R} la relation de X à Y.
Fonction : relation binaire, mais avec :

  • Tous les éléments doivent être couverts (sinon c’est une fonction partielle)
  • Un élément ne peux être lié qu’à un seul élément
    disgression

Définition formelle

Un STE S est un tuple S = <Q, q_{0}, \text{Act}, \ra, AP, \mathcal{L}> tel que :

Exemple

ascenseur_ex

\begin{aligned} Q_{A} &= \{q_{0}, Q_{A}\} \\\\ q^{A}_{0} &= q_{0} \\\\ \text{Act}_{A} &= \{\text{aller en bas}, \text{aller en haut}\} \\\\ \ra_{A} &= \{(q_{0}, \text{aller en bas}, q_{1}), (q_{1}, \text{aller en haut}, q_{0})\} \\\\ AP &= \{\text{haut}, \text{bas}\} \\\\ \mathcal{L}(q_{0}) &= \{\text{haut}\}, \mathcal{L}(q_{A}) = \{\text{bas}\} \\\\ \end{aligned}

Communication

Pour obtenir un STE de système global, on fait un produit. Pour ce faire, on définit une table de synchronisation T^{P}_{u} (par abus de notation : T).
Le système global S = S_{u} \|_{T} S_{P}

S_{u} S_{p} S
press_button button_push button
pass detect D_P
- O O
- Close Close

Définition formelle

Soient S_{1} = <Q_{1}, q_{0}^{1}, \text{Act}_{1}, \ra_{1}, AP_{1}, \mathcal{L}_{1}> et S_{2} = <Q_{2}, q_{0}^{2}, \text{Act}_{2}, \ra_{2}, AP_{1}, \mathcal{L}_{2}>

Composition S = S_{1} \|_{T} S_{2} est un tuple S = <Q, Q_{0}, \text{Act}_{1}, \rightarrow, AP, \mathcal{L}> avec T : \text{Act}_{1} \cup \{-\} \times \text{Act}_{2} \cup \rightharpoondown \text{Act}_{U}\{\tau\}
où :

Buffer à une place

buffer

Buffer à 2 places : B = B_{1} \|_{T} B_{2}

T : \text{Act}_{1} \cup \{-\} \times \text{Act}_{2} \cup \{-\} \rightharpoondown \text{Act} \cup \{\tau\}

B_{1} B_{2} B
get - get
put get \tau
- put put

buffer-sync

Buffer à trois places : B \|_{T} B_{3}

(B_{1} \|_{T} B_{2}) \|_{T} B_{3} \equiv B_{1} \|_{T} B_{2} \|_{T} B_{3}