Item
Item
par
Daniel Côté
NOTICE: AVIS:
The author has granted a non- L'auteur a accordé une licence non exclusive
exclusive license allowing Library and permettant à la Bibliothèque et Archives
Archives Canada to reproduce, Canada de reproduire, publier, archiver,
publish, archive, préserve, conserve, sauvegarder, conserver, transmettre au public
communicate to the public by par télécommunication ou par l'Internet, prêter,
télécommunication or on the Internet, distribuer et vendre des thèses partout dans le
loan, distrbute and sell thèses monde, à des fins commerciales ou autres, sur
Worldwide, for commercial or non- support microforme, papier, électronique et/ou
commercial purposes, in microform, autres formats.
paper, electronic and/or any other
formats.
While thèse forms may be included Bien que ces formulaires aient inclus dans
in the document page count, their la pagination, il n'y aura aucun contenu
removal does not represent any loss manquant.
of content from the thesis.
Canada
Sommaire
1
Le 10 juin 2011
Membres du jury
J'adresse mes remerciements les plus sincères à mon directeur de thèse M. Richard
St-Denis de l'Université de Sherbrooke pour son soutien indéfectible. Non seulement a-
t-il révisé le texte de cette thèse avec une constance et une minutie exemplaires mais il a
souvent été une source de commentaires critiques très précieuse. Je le remercie aussi pour
le soutienfinancierqu'il m'a apporté à même ses propres fonds de recherche.
11
Abréviations
m
Table des matières
Sommaire i
Remerciements ii
Abréviations iii
Introduction 1
M. , l . i. kJ V J l V t l l V O t* «-* * V l l V i l l V l l i t » U l J V l ^ l i J wi- t e t i X ^ t ^ ^ ^ ^ » x i
v
TABLE DES MATIÈRES
Conclusion 246
VI
TABLE DES MATIÈRES
vu
TABLE DES MATIÈRES
Bibliographie 367
vin
Liste des tableaux
IX
Liste des figures
x
LISTE DES FIGURES
xi
LISTE DES FIGURES
xu
LISTE DES FIGURES
xm
Introduction
Le cycle de vie de plus en plus court des produits manufacturés accentue davantage la
nécessité d'utiliser des chaînes de montage modulaires contrôlées par logiciel et en consé-
quence la nécessité de produire rapidement des contrôleurs logiciels corrects etfiables[46],
[22]. À cette fin l'utilisation des méthodes formelles dans les applications de contrôle de
procédé peut procurer une aide appréciable car ces dernières se prêtent en général à la
génération automatique de code.
Les méthodes formelles se présentent sous forme de modèles mathématiques des sys-
tèmes permettant d'appliquer des techniques de raisonnement ainsi que des transformations
pour en effectuer la vérification ou la synthèse. La vérification réfère à une variété de tech-
niques servant à prouver qu'un programme, donné a priori, satisfait un ensemble de pro-
priétés. La synthèse utilise une série de procédures permettant la génération automatique,
ou systématique, de programmes satisfaisant par construction un ensemble de propriétés.
Ces deux types d'approche ont été appliqués à la réalisation de programmes pour automates
programmables (par exemple [5] pour la vérification et [33] pour la synthèse).
La théorie du contrôle supervisé (SCT - de l'anglais Supervisory Control Theory) est
une méthode formelle qui procure une base théorique intéressante pour la résolution de pro-
blèmes de contrôle applicables aux systèmes à événements discrets (SED) [45]. Un SED
est caractérisé par un espace d'états, un ensemble fini d'événements et une dynamique qui
s'exprime par occurrence d'événements discrets. On peut considérer qu'en fonctionnement
un SED génère des chaînes d'événements appartenant à un langage et à toute fin pratique
SCT modélise un SED par un automate d'étatsfinidéterministe (AFD). Pourfinde contrôle
Y alphabet d'événements est partitionné en deux sous-ensembles : les événements contrô-
lables dont on peut inhiber l'occurrence et les événements incontrôlables. Avec cet équipe-
1
INTRODUCTION
ment formel il est possible de concevoir des contrôleurs abstraits, appelés ici superviseurs,
qui exercent une action de contrôle par inhibition d'événements contrôlables.
SCT inclut plusieurs éléments permettant d'entrevoir la possibilité d'utiliser un envi-
ronnement intégré de conception de contrôleurs pour les systèmes de contrôle de procédés.
La modélisation des systèmes de contrôle de procédés sous forme de SED semble intuitive-
ment adéquate. La théorie comprend des procédures de synthèse permettant la génération
automatique de superviseurs corrects à partir de modèles formels du système et des requis
de contrôle qui s'y appliquent. Ces procédures sont déjà implémentées pour plusieurs va-
riantes de la théorie (par exemple TCT dans [62]). Cependant, bien que plusieurs efforts
fructueux aient été consentis dans cette direction (voir, entre autres, IDES [47] et Supremica
[2]), il n'existe encore aucun système intégré d'usage courant pour l'application de SCT à
l'ingénierie des systèmes de contrôle de procédés. Il est utile de s'interroger sur cet état des
faits.
La solution idéale à ce problème de transfert technologique passe probablement par
la génération automatique de code et par des outils spécialisés utilisant des représentations
formelles des systèmes et des requis de contrôle. Or Ekberg et Krogh dans [ 13] font ressortir
que les notations et les concepts impliqués représentent souvent une difficulté trop abrupte
pour les non-spécialistes de la théorie. Bien sûr l'expression des systèmes de contrôle sous
forme de SED est connue et utilisée dans la pratique (bien qu'elle n'y soit pas prédomi-
nante). Mais la spécification des requis de contrôle sous forme d'AFD se révèle très ardue,
particulièrement lorsque l'on tente d'aborder des problèmes d'une envergure réaliste (voir,
par exemple, [37]). En termes de pratique, il y a donc un malaise par rapport au formalisme
normalement utilisé en SCT pour la spécification des requis. Il y a lieu d'investiguer pour
tenter d'identifier un formalisme plus adéquat sans compromettre la possibilité de synthèse.
L'expression des systèmes à contrôler par des AFD nécessite habituellement une phase
de modélisation ad hoc. Il est en effet impossible de passer d'un dispositif physique à une
représentation formelle sans avoir recours à un certain nombre d'hypothèses sur son fonc-
tionnement (voir à ce sujet [33]). La théorie présume en général que tous les modèles sont
obtenus de cette façon sans jamais poser la question de la validité des modèles ainsi obte-
nus. Or la qualité d'une synthèse dépend directement de la qualité des modèles qui lui sont
soumis. Obtenir de bons modèles de façon ad hoc est un processus coûteux et on aurait
2
INTRODUCTION
3
INTRODUCTION
assez facilement, par l'usage, que ce qui semble manquer aux tentatives actuelles est pré-
cisément un genre de scénario d'usage standard pour leur environnement. Tout semble
construit en présumant que les usagers connaissent très bien SCT et que les modèles (tous
construits ad hoc) sont ajustés pour l'usage de la théorie. Bien que Supremica contienne des
exemples pertinents de conception, il est assez difficile d'identifier les requis de contrôle de
la solution et d'en déduire des conditions de garde pour des schémas de machines à états.
Chaque solution est unique et dépend presque entièrement de l'ingéniosité du concepteur
et de sa familiarité avec la théorie.
Cette question peut sembler facile à répondre. Mais le fait que l'article de Ekberg et
Krogh date de 2006 et ne semble pas avoir trouvé preneur jusqu'à maintenant est symp-
tomatique. Ou bien les spécialistes ne connaissent pas la réponse, ou bien la réponse est
trop compliquée à élaborer et à rendre dans des termes clairs et simples. Cette thèse se
propose donc d'identifier, parmi les éléments présents dans SCT, ceux qui peuvent servir à
l'élaboration d'une plateforme de conception de systèmes à événements discrets. Cet effort
s'inscrit donc plus dans une perspective de transfert technologique que dans une perspec-
tive de recherche fondamentale. Autant que possible on y évite d'altérer la théorie, mais il
est possible qu'en cours de route il soit nécessaire d'y ajouter certains résultats. Quoiqu'il
en soit l'envergure de cette entreprise semble être digne d'une thèse de doctorat.
4
INTRODUCTION
complet répondant à l'ensemble des requis de contrôle. À chaque itération l'usager doit
pouvoir :
- assembler un certain nombre de composantes ;
- spécifier l'ensemble des requis de contrôle qui s'y appliquent (à son avis, puisqu'il
s'agit là d'un processus de réécriture des requis) ;
- puis pouvoir expérimenter avec le système dans un état d'élaboration partiel et se
convaincre que l'expression des requis est satisfaisante.
En d'autres termes l'usager progresse vers une solution contrôlable (et correcte) du pro-
blème (le cahier de charges). Ce scénario est légèrement différent de ce qui est normale-
ment rencontré avec SCT où la spécification est considérée correcte a priori. Il est d'ailleurs
étonnant de constater que dans la littérature de recherche sur le sujet il est toujours présumé
que la spécification formelle est correcte au départ.
Pour ne pas se perdre en généralités, il est préférable de se donner un contexte puisque
les systèmes à modéliser ne sont pas abstraits. 11 peut être présumé sans perte de généralité
que les systèmes matériels sont des usines modidaires. Ce genre d'usine est composée de
dispositifs mécaniques élémentaires (vérins pneumatiques, relais et autres) qui peuvent être
assemblés et ré-assemblés au besoin pour former des dispositifs plus complexes et s'adapter
à divers procédés de fabrication. Une usine modulaire est habituellement contrôlée à l'aide
d'un automate programmable souvent désigné sous le vocable de PLC (de l'anglais pour
Programmable Logic Controller). Il s'agit d'un micro-ordinateur spécialisé pour fonction-
ner en usine. On peut donc aussi présumer, sans perte de généralité, que l'un des objectifs
est de générer du code pour PLC.
À la lumière de ce qui précède on peut fixer une série de grands objectifs.
1. Il faut définir une métaphore de composantes réutilisables.
2. Il faut définir les mécanismes de leur composition en sous-systèmes et indirectement
les mécanismes de l'instanciation de composantes réutilisables.
3. Il faut déterminer la forme que doit prendre la formulation d'un problème de contrôle,
entre autres, le formalisme pour l'expression des requis de contrôle.
On espère bien sûr pouvoir éviter l'usage d'AFD pour exprimer les requis du contrôle
puisque cette forme se révèle particulièrement ardue à utiliser et cryptique à lire. 11 y a là
5
INTRODUCTION
une difficulté qui mérite d'être soulignée puisque ces automates de spécification (souvent
appelés automates de langage légal) sont la forme consacrée de spécification des requis
de contrôle pour SCT. La nécessité d'en changer pour une autre forme de spécification
des requis de contrôle limite considérablement les alternatives disponibles et peut exiger
d'utiliser un hybride combinant plus d'une des variantes de SCT. On ne peut cependant pas
sacrifier la possibilité de synthèse, on y perdrait tous les avantages de SCT.
Certains objectifs sont implicites.
- L'expression des requis de contrôle doit pouvoir se faire de façon modulaire, c'est-
à-dire permettre de diviser les requis en petits sous-ensembles qu'il est possible de
résoudre indépendamment.
- Le formalisme doit idéalement permettre la traçabilité des requis à leur version in-
formelle.
- Il faut déterminer une dynamique des modèles abstraits pour permettre l'élaboration
de schémas de génération de code.
Bien sûr il est nécessaire de tenir à l'esprit pendant l'analyse que l'un des objectifs est
la génération automatique de code pour l'implémentation des solutions de problèmes de
contrôle. Cet objectif peut avoir des ramifications partout dans cette étude. Il peut par
exemple requérir des notations spéciales au niveau des éléments de modélisation de pro-
blèmes de contrôle ou encore au niveau des mécanismes d'instanciation de composantes.
Il est important de le garder à l'esprit pendant toute l'analyse.
En ce qui concerne l'usage des procédures de synthèse de SCT, l'objectif consiste à les
utiliser telles qu'elles. Le seul degré de liberté réside dans le choix du type de synthèse :
- une synthèse exhaustive (exploration exhaustive de l'espace des états correspondant
à la formulation originale de la théorie par Ramadge et Wonham [45]) ;
- une synthèse modulaire (par exemple le cas de HISC, Hierarchical Interface-based
Supervisory Control de Leduc, Brandin, Lawford et Wonham [35, 38]) ;
- une synthèse par prédicats (cas des STS de Ma et Wonham [39] utilisant des BDD et
souvent qualifiée de méthode symbolique).
Ce choix dépend intimement du formalisme de modélisation utilisé. Chaque méthode cor-
respond à une variante de la théorie. Des procédures de synthèse sont disponibles pour
chacune de ces alternatives.
6
INTRODUCTION
Méthodologie
Dans un premier temps il est nécessaire de faire un survol de la littérature scientifique,
en commençant par une formulation des résultats fondamentaux de SCT dans son cadre
linguistique original. Ensuite, il faut s'attarder à identifier parmi les différentes variantes
issues de la théorie, quelles sont celles qui sont les plus susceptibles d'apporter des éléments
de solution aux problèmes confrontés. Il y en a principalement trois :
1. le contrôle hiérarchique tel que défini par Wong et Wonham dans [58, 59] et [55] ;
2. le contrôle hiérarchique par interface (HISC) tel que défini par Leduc, Lawford,
Brandin et Wonham dans [35, 38] ;
3. le contrôle par STS de Ma et Wonham [39], une variante hiérarchique utilisant l'ap-
proche par prédicats.
Chacune de ces variantes de la théorie présente une perspective intéressante et est suscep-
tible de procurer des éléments de solution. Mais aucune d'entre elles ne semble, à elle seule,
répondre à tous les objectifs fixés, il faut donc en faire une analyse détaillée.
Dans le but de procurer la génération automatique du code des implémentations de
solutions aux problèmes de contrôle, il est important d'examiner la documentation de re-
cherche pour identifier les alternatives. Il est donc dans l'ordre d'examiner plus en détail
comment la théorie elle-même entrevoit la réalisation de superviseurs issus de ses propres
procédures de synthèse. Une certaine attention doit donc être consacrée à comprendre les
deux réalisations dites standards d'un superviseur SCT :
- réalisation par reproduction de la structure de transition du superviseur (l'AFD du
système sous contrôle) ;
- réalisation par implémentation d'une loi de contrôle définie sur l'espace des états du
système (appelée une SFBC, pour State Feed-Back Control).
La réalisation par SFBC revêt un intérêt particulier pour les applications sur PLC, car elle
permet une implémentation presque directe de la loi de contrôle sans avoir recours à une
structure de transition (souvent trop volumineuse pour contempler une implémentation sur
PLC). Il existe une reformulation de SCT à base de prédicats dont le résultat de synthèse
est précisément une SFBC. Cette reformulation s'applique assez généralement à d'autres
variantes de la théorie et il est utile d'en donner les fondements.
7
INTRODUCTION
Une fois la revue de littérature terminée, il faut s'attarder à définir ce que sont les
composantes réutilisables. Les composantes doivent répondre à plusieurs critères. On doit
définir un mécanisme pour leur abstraction, c'est-à-dire une forme d'encapsulation. Ce
mécanisme doit être en accord avec la théorie. Dans ce cas il s'agit de fournir un méca-
nisme qui permet une encapsulation de la dynamique de la composante sans compromettre
la possibilité de synthèse. Un examen attentif est ici nécessaire et certains résultats théo-
riques peuvent avoir à être développés. On se propose de se livrer à une étude critique des
meilleurs candidats, parmi les variantes de SCT, à l'élaboration d'une métaphore de com-
posantes réutilisables, pour identifier les éléments que chacune d'entre elles peut procurer
dans ce but. À cette fin il faut développer un modèle préliminaire de composante puis iden-
tifier les critères de cette analyse critique. Sur la base des résultats de l'analyse critique,
on se propose d'établir le modèle détaillé de la métaphore de composantes réutilisables
proposée.
La définition de la métaphore de composantes réutilisables doit être assortie de nota-
tions appropriées pour exprimer la structure de ces composantes. Une composante n'est
en fait que l'abstraction d'un sous-système sur lequel on a défini et résolu un problème
de contrôle dont on veut abstraire la solution pour en encapsuler les requis de contrôle.
Par ricochet, une composante réutilisable est donc la solution à un problème de contrôle
complet. Aussi est-il nécessaire de commencer à élucider la façon dont les composantes
sont liées entre elles par les requis de contrôle. Il faut déterminer un formalisme d'expres-
sion des requis de contrôle et la méthode de composition des composantes réutilisables en
sous-systèmes. Ce qui soulève la question des mécanismes de l'instanciation qu'il faut, à ce
point, définir et la question de l'opérateur de composition. L'examen de cas types peut ser-
vir de guide dans la détermination de ces éléments. Il est ainsi utile de définir un catalogue
de composantes dans le but de les utiliser dans une étude de cas.
Finalement il faut examiner la production de code. Pour la génération de code exécu-
table sur PLC, la reproduction d'une structure de transition semble clairement à proscrire
car elle se révèle généralement trop volumineuse (voir [7]). Il faut donc procéder à une
implémentation par SFBC. Les composantes doivent offrir un modèle de leur dynamique
interne pour les lier à la génération de code. Il faut définir les éléments de modélisation
nécessaires et les notations correspondantes.
8
INTRODUCTION
On se propose de valider l'ensemble des résultats obtenus par une étude de cas d'une
envergure réaliste sur l'usine-école MPS du laboratoire des systèmes réactifs.
Contributions et résultats
En guise de contribution, cette thèse précise les éléments suivants.
- Un modèle formel pour supporter la notion de composante réutilisable basé sur une
variante hiérarchique de SCT. Ce modèle s'articule autour de trois notions : implé-
mentation, contrôle et interface. Ce modèle a pour but de procurer autant la réutili-
sation des spécifications de contrôle (notions d'implémentation et de contrôle local)
que la réutilisation pure et simple de stéréotypes de comportement par encapsulation
et abstraction (notion d'interface).
- Associée au modèle formel, on y développe une notion précise d'instanciation de
composantes à travers une adaptation de leur interface.
- Les propriétés que doivent remplir les composantes pour garantir un fonctionnement
contrôlable et non bloquant, et donc permettre l'usage des procédures de synthèse de
SCT, sont précisées.
- Différents opérateurs de composition en sous-systèmes sont considérés pour la com-
position horizontale (en sous-systèmes), la composition verticale (réabstraction) et la
superposition d'un contrôle local.
- Pour garantir que les propriétés des composantes sont préservées par les trois formes
de composition, une règle simple pour l'abstraction de modèle est formulée. Le but
visé est de permettre l'agrégation pyramidale d'un nombre arbitraire d'instances de
composantes sur un nombre arbitraire de niveaux d'agrégation.
D'un côté plus pragmatique, cette thèse s'attache aussi à développer un certain nombre
d'éléments semi-formels pour procurer la génération automatique du code de l'implémen-
tation.
- En plus du model formel, on y définit un diagramme d'assemblage (pour spécifier
la structure des sous-systèmes) et une spécification de contrôle. La spécification de
contrôle comprend une définition du problème de contrôle et sa solution obtenue par
synthèse. Une attention particulière est ici portée à la notation utilisée pour qu'elle
9
INTRODUCTION
10
INTRODUCTION
Organisation de la thèse
Le chapitre 1 s'attarde à faire un survol de la littérature scientifique pertinente et à défi-
nir les bases théoriques nécessaires à cette étude. Le chapitre 2 documente les variantes de
la théorie jugées les plus utiles dans l'optique de cette thèse. Le chapitre 3 définit la méta-
phore de composantes réutilisables proposée dans un détail suffisant pour se livrer ensuite
à une critique des variantes vues au chapitre 2 dans le but d'identifier le support théorique
nécessaire à son implémentation. On y trouve aussi quelques résultats complémentaires
à la théorie du contrôle hiérarchique de Wong et Wonham [55, 58, 59] nécessaires à la
formulation de la métaphore de composantes réutilisables. Le chapitre 4 développe en dé-
tail les concepts et les notations nécessaires pour supporter la spécification de problèmes
de contrôle et de composantes réutilisables. Il s'attarde particulièrement sur la composi-
tion de sous-systèmes à partir de composantes réutilisables, sur l'expression des requis de
contrôle ainsi que sur la définition du support nécessaire à la génération de code. Il déve-
loppe ensuite quelques exemples types de composantes réutilisables. Le chapitre 5 traite en
détail d'une étude de cas illustrant l'usage de composantes réutilisables (définies dans un
catalogue en annexe D) dans la solution d'un problème de contrôle. La conclusion dresse
un inventaire des principales contributions, procède à une critique du travail accompli et
indique certaines directions de recherche potentielles.
11
Théorie du contrôle supervisé
12
Chapitre 1
1.1 Préliminaires
SCT utilise des concepts de la théorie des langages et de la théorie des automates.
Dans ce contexte formel, elle développe certaines notions qui lui sont propres telles que le
modèle linguistique d'un système à événements discrets (SED), et la notion conséquente de
générateur de langages. Il importe de bien situer ces concepts de base qui sont implicites
au reste de la théorie.
13
CHAPITRE l. THÉORIE DU CONTRÔLE SUPERVISÉ
14
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
Par définition d'un modèle linguistique (H, Hm), H est préfixe clos car il contient toutes
les chaînes d'événements que le système peut générer et donc, nécessairement, tous leurs
préfixes. De plus, pour que le système soit non bloquant, il faut que toute chaîne s G //
puisse éventuellement être complétée en une chaîne appartenant à Hm. En d'autres termes,
toute chaîne s G H doit être un préfixe d'une chaîne de Hm, ce qui revient à dire que
H Ç Hm. Mais puisque Hm Ç H par définition, la fermeture préfixée étant monotone par
rapport à l'inclusion d'ensembles, alors Hm Ç H = H, et donc H = Hm.
Ainsi un SED dont le modèle est donné par la paire de langages (//, Hm) est non blo-
quant si H •= //,„.
[a si a G S,
PE.(S<7) := P E » / ^ » [Link]'et^GE.
15
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
LilILa^P^LjnP^U*), (1-1)
16
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
où
- Q est l'ensemble des états du système (au moins dénombrable sinonfini);
- E est un ensemble fini de symboles dénotant les événements pouvant se produire au
sein du système ;
- S : Q x E —• Q est une fonction partielle de transition entre états du système ;
- (7n G Q est l'état initial du système ;
- Qm Ç Q est l'ensemble des états marqués du système.
Puisque S est une fonction partielle, la notation 5(q, a)\ est utilisée pour signifier que ô(q, cr)
est définie. Il est aussi utile de définir la fonction partielle S : Q x E* —• Q comme suit,
pour A G S* et a G E :
ô{q,s) := q
6(q,so) •— 5(S(q, s), <r), pourvu que <$(</, .s)! et 5(ô(q,s),a)\.
Enfin, par abus de notation, on utilise S en lieu et place de S lorsque le contexte est clair.
Pour fin de contrôle, l'alphabet E est partitionné en deux sous-ensembles :
- E,, l'ensemble des événements contrôlables ;
- E u , l'ensemble des événements incontrôlables.
L'inhibition d'événements contrôlables est le seul mécanisme servant à restreindre le com-
portement du système.
Au sein du système les événements se produisent instantanément et sont visibles à un
agent externe, mais selon un mécanisme non spécifié par le modèle. En ce sens le fonction-
nement du système semble non déterministe, bien que le modèle utilise une structure de
transition déterministe.
L'AFD G est appelé un générateur modélisant un SED (L(G), Lm(G)), où L(G) re-
présente le langage généré par le SED défini par
L(G) = L ( G ) : = { . s e r | % , S ) ! } ,
Lm(G):={*GS*|%„,,)GQm}.
17
CHAPITRE l. THÉORIE DU CONTRÔLE SUPERVISÉ
Peu importe le SED modélisé, I Ç L ra (G) Ç L(G) et en général e G L(G) (à moins que
Q = 0).
18
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
Alors fc(E) donne l'ensemble des états de Q que l'on peut atteindre à partir d'un état
de E par zéro ou une transition sur un événement tiré de A. Intuitivement il est clair que
fa est monotone (par rapport à Ç) et croissante. Puisque Q est fini, elle admet un ou
plusieurs points fixes (/« (.T) = x, x G 2®). En fait, puisque (2 Q , Ç) est un treillis complet,
l'ensemble des points fixes de f£ comporte une borne supérieure f*a(E), où /*£. : 2Q x 2^
est la fermeture disjonctive de f£ définie par
r£(E):=[Jfi(E),
«>o
CRQ(E) donne le plus grand ensemble d'états dans G qui soient co-accessibles à au moins
un des états de E, par tirage d'événements dans A. Lorsque A = E on note simplement
CRo(E) et ainsi CRa(Qm) = Qcr, l'ensemble des états co-accessibles dans G, et G est
dit co-accessible lorsque CRa{Qm) — Q-
Il est clair que dans le domaine fini, Ra et CRG sont bien définis et calculables.
Un AFD G = (Q, E, ô, q0. Qm) est considéré soigné si Radio}) — CRG{Qm)- Il est
considéré non bloquant si Rc({lo}) Q CRc(Qm)- Il est évident que si G est soigné, alors
il est non bloquant bien qu'il puisse être non bloquant sans être soigné.
Puisque les AFD sont des générateurs finis, ils peuvent représenter des langages K Ç E"
19
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
lorsque £ m ( G ) = K pourvu que G soit non bloquant; il s'agit alors des langages régu-
liers. À moins d'avis contraire un AFD G représentant un langage K est aussi considéré
soigné.
Comme chez les langages, le produit synchrone d'AFD permet de composer un sys-
tème complexe à partir de composantes plus simples. Le produit synchrone de deux AFD
Gi = (Qi, E„ Si, .T0,i, Qm,,) {i = 1,2) est un AFD Gi || G 2 = (Q, E, S, x0, Qm), où
Q = QixCh
E = EiUE2
£o = (^O.lî^O^)
Q,m =
Qm,l x
Qm,2
Le produit synchrone d'AFD est associatif et s'étend naturellement à un nombre fini d'AFD.
Pour un ensemble d'AFD G, (i = 0 , 1 . . . . , n) la relation entre produit synchrone
d'AFD et produit synchrone de langages est la suivante :
L ( Il G, ) - L(Gt) . (1.3)
20
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
Puisque les événements incontrôlables ne peuvent jamais être inhibés, toutes les configu-
rations de contrôle contiennent EH.
On définit une loi de contrôle sur G comme une fonction
V : /,(G) — C.
On utilise la notation V/G pour la paire (G, V) et on parle de G sous V pour signifier le
fonctionnement en boucle fermée de G sous le contrôle de la loi V. On appelle V/G un
système supervisé et V un superviseur pour V/G.
Le comportement de V/G est caractérisé par la paire de langages (L(V/G), Lm(V/G)),
où L(V/G) ç L(G) est défini par
1. cGL(VVG);
2. si s G L(V/G), a G V(s) et sa G L(G), alors sa G L(V/G) ;
3. aucune autre chaîne n'apparaît dans L(V/G). .
Clairement, {e} Ç L(V/G) C L(G) et L(V/G) est un langage non vide et préfixe clos.
Aussi le comportement marqué du système supervisé est défini par
c'est-à-dire que les comportements terminaux de V/G sont ceux de G qui subsistent sous
l'action de V. Ainsi, 0 Ç Lm(V/G) Ç Lm(G), et on dit que V est non bloquante sur G si
Lm{V/G) = L(V/G).
21
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
C'est-à-dire que tout comportement permis dans le système supervisé (s G K) pouvant être
immédiatement suivi d'un événement incontrôlable dans le système à contrôler (sa G L{ G)
pour a G S u ) doit aussi être permis dans le système supervisé (sa G K). En termes clairs,
le comportement marqué du système supervisé Lm(V/G) ne doit jamais requérir l'inhi-
bition d'un événement incontrôlable lorsque ce dernier peut se produire dans le système
à contrôler. Cette propriété peut s'énoncer de façon plus succincte si on définit que pour
K Ç E*, alors A'E„ représente l'ensemble des chaînes sa où s G K et a G E u . Avec cette
notation, K est contrôlable si et seulement si
22
CHAPITRE I. THÉORIE DU CONTRÔLE SUPERVISÉ
K est arbitraire et /,-marqué la situation est la même dans K n L bien que K puisse être
marquant dans K\L.
Le lien entre la L-fermeture de K Ç L et V devient évident lorsque l'on considère L —
Lm (G), pour un générateur G représentant L, et K = Lm(V/G) = L(V/G) n L m (G), le
comportement du système supervisé tel que défini pour V.
Dans ce qui précède, la détermination des chaînes terminales du système (les tâches
complètes) est la prérogative exclusive du générateur G. En particulier ceci veut dire que
si la chaîne s G K se trouve à être une tâche complète dans G (.s G Lm(G)), elle doit
nécessairement être aussi marquée dans K et ce même si elle ne représente pas une tâche
complète du processus représenté par le langage K. C'est ce qui contraint à exiger la pro-
priété de Lm(G)-fermeture dans le théorème 3.4.1. Ce genre de supervision est dite non
marquante et pour la désigner on utilise l'acronyme NSC de l'anglais Nonblocking Super-
visory Control. Par abus de langage on parle aussi d'une NSC V (par référence à la loi de
contrôle). Il est cependant possible (et peut-être plus naturel) de définir une loi de contrôle
marquante (MNSC - Marking, Nonblocking Supervisory Control) où la loi de contrôle
est couplée à un dispositif (non spécifié) permettant de détecter les chaînes terminales du
processus représenté par le langage K et de les marquer.
On définit une MNSC V (c'est-à-dire une loi de contrôle marquante) sur un généra-
teur G comme une fonction V : L(G) —* C comme précédemment, à l'exception du fait
que sous une telle loi, le comportement marqué de la boucle de rétroaction est donné par
Lm(V/G) = L(V/G) n M pour M Ç Lm(G).
23
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
Dans tout ce qui précède, la loi de contrôle peut être définie, pour tout .s G A, de la
façon suivante :
V(s) := Eu U {a G E,. | sa G ~K} .
24
CHAPITRE l. THÉORIE DU CONTRÔLE SUPERVISÉ
Proposition 3.5.1. [[62], section 3.5] C (E) ^ 0 puisqu 'il contient au moins A'« — {}, le
langage vide, et C (E) est fermé sous l'union de langages. En particulier, C (E) admet un
borne supérieure dénotée H\ipC(E), où
supC(E) := | J K.
K£C{F.)
C (E) ne forme pas un sous-treillis complet de 2K puisqu'il n'est pas fermé sur l'in-
tersection de langages. En revanche, l'ensemble des sous-langages contrôlables et préfixe
clos de E, { K Ç E \ K G C (E) A K — K}, forme un sous-treillis complet de 2E ([62],
proposition 3.5.2) et admet une paire de bornes supérieure et inférieure. Aussi J-(E) / 0
(A'a G JS(E)) et T(E) forme un sous-treillis complet de 2E ([62], proposition 3.5.3).
La proposition suivante est un résultat important qui permet une simplification dans
la recherche (ou le calcul) d'une solution à un objectif de contrôle E. Pour mémoire, si
E D E n L, on dit que E est L-marqué.
Cette dernière proposition permet d'éviter d'avoir à considérer un ensemble CT(E) des
langages contrôlables et relativement fermés pour arriver à une solution pour E. De plus
il est assez naturel de considérer lors de l'élaboration d'un objectif de contrôle E, que les
comportements terminaux de E correspondent normalement à des tâches complètes dans
G. Aussi, si l'agent marquant du système devait absolument être le générateur, l'objectif de
contrôle à considérer peut être remplacé par £" = E, puisque En Lm(G) est L m (G)-fermé
donc automatiquement L m (G)-marqué.
25
CHAPITRE l. THÉORIE DU CONTRÔLE SUPERVISÉ
Si A' n'est pas vide, alors K représente la solution la moins restrictive permettant le
contrôle de G de sorte que le comportement résultant appartienne à la spécification E sans
provoquer d'impasse dans le système. En ce sens, le contrôle exercé par V est dit optimal.
Bien sûr si l'agent de marquage du système peut être incorporé à la loi de contrôle (ou
à tout autre agent que le générateur G), alors on obtient un résultat plus simple.
26
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
Pour une loi de contrôle (marquante et non bloquante) V sur un générateur G telle que
Lm(V/G) = K et L(V/G) = K, on dit qu'un générateur Sgen implémente V lorsque
Or d'après le théorème 3.5.2, K = supC(E n Lm(G)) (E C E*) admet une MNSC V" sur
G. Ainsi, un générateur Kgen représentant K (le comportement en boucle fermée V/G)
implémente V. Cependant Kgen n'est pas le seul générateur qui puisse implémenter V et
en général, il n'est pas nécessaire qu'un générateur représente le comportement en boucle
fermée du système contrôlé, Lm(V/G), pour implémenter V.
De façon générale, pour S Ç E*, si S est contrôlable par rapport à G et tel que
S C\ Lm(G) = S n L(G), alors K = S n Lm(G) est contrôlable par rapport à G et
admet une MNSC V telle que Lm(V/G) = K. Ainsi pour un générateur S sen représentant
S,
- MSfiCTl) n Lm(G) = s n Lm(G) = K,
- L(Sgen) n L(G) = sn L(G) = K,
et Sgen implémente V. Lorsque ces conditions sont remplies, on dit que le générateur Sgen
est un superviseur pour G (incluant le cas où Lm(Sgen) n Lm(G) = 0).
Si l'on admet qu'un générateur Sgen soit dit contrôlable lorsqu'il représente un langage
S lui-même contrôlable par rapport à G, on peut alors donner une définition de superviseur.
Un générateur S,y(n est appelé un superviseur adéquat pour G lorsque :
i) Sa,.n est soigné ;
ii) S9en est contrôlable par rapport à (1 ;
iii) Lm(Sgen) n Lm(G) = L(Sgen) n L(G).
Bien que (i) ne soit pas nécessaire pour que S9en implémente V de façon non bloquante, le
terme superviseur utilisé dans la théorie correspond généralement à la définition de super-
viseur adéquat.
La propriété (iii), Lm(S9fîl) n Lm(G) = L(Sg(n) n L(G), n'est pas triviale et peut
requérir une vérification à moins d'assurer d'une façon ou d'une autre que Sgen est le
générateur non bloquant d'un sous-langage contrôlable de Lm(G). Lorsque L m (S gen ) Ç
L m (G), cette propriété est trivialement vérifiée. Par exemple, pour un SED G défini sur
27
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
Si Sgeri, admet une expression finie (comme dans le cas où S<,en est un AFD), il est possible
d'implémenter un contrôleur pour G basé sur la structure de transition de Sffetl. On peut
donc définir informellement un contrôleur SCT comme l'implémentation matérielle d'un
superviseur adéquat Sgr.n sur une machine G.
28
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
C
Processus
)
Superviseur
au problème d'implémenter Lm(Ea,.„) sur G. Bien sûr, il faut supposer que la spécification
L„,(E9f„) est adéquate.
Une procédure de synthèse type est donnée par l'algorithme 1.1. Cette procédure cal-
cule l'AFD du superviseur adéquat représentant le comportement du système contrôlé en
boucle fermée (V/G). L'algorithme procède au calcul d'un point fixe contrôlable et non
bloquant dans l'ensemble des sous-langages de Z,m(Ege„) n Lm(G) par manipulation de
l'automate produit. Le pointfixeexiste (il peut être vide), chaque itération élague des états,
le domaine étant fini l'algorithme termine à coup sûr.
À l'étape 1, l'algorithme élabore d'abord le produit synchrone S = G || Egen formant
la base des calculs, puis détermine l'ensemble des états de ce produit qui ne violent pas le
critère de contrôlabilité (ç]ood). Le calcul est arrêté sitôt qu'il est clair que l'état initial viole
le critère de contrôlabilité (x0 4- 9°°d)> dans ce cas le point fixe est le langage vide.
L'étape 2 travaille sur l'automate produit résiduel duquel tous les états violant le critère
de contrôlabilité ont été enlevés. Elle évalue newbad Ç good, l'ensemble des états blo-
quants de la solution contrôlable, et newgood Ç good, l'ensemble des états non bloquants
qui demeurent contrôlables malgré le nouvel élagage.
L'algorithme s'arrête à l'étape 3 sitôt que la solution est non vide, contrôlable et non
bloquante (c'est-à-dire que l'étape 2 n'a rien changé et que l'AFD résiduel est contrôlable
et non bloquant).
29
CHAPITRE 1. THÉORIE DU CONTRÔLE SUPERVISÉ
1) Initialisations :
S <— G D Eigen
bad <— {x = (q, y) G X | (3a | a G E u : S(q, a)\ et y(y, a) n'est pas définie)}
good*- X\ CRf'(bad)
2) Itération :
si xo £ good alors
S' <— AFDQ, arrêt, il n'y a pas de solution.
sinon
" * &\good
newbad *-X'\ CR&(X'm)
ne. w good <— X' \ C/?g," ([Link])
3) Fin :
si newgood = X' alors
arrêt, la solution est trim(S').
sinon
good *— newgood
retourner à l'étape (2)
30
Chapitre 2
31
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Il faut aussi élaborer une spécification du processus à implémenter sous forme d'un
AFD E où E = L(E), l'objectif de contrôle du système. Il est assez naturel de penser à
diviser ce problème, pour le simplifier, en utilisant la même technique de modularisation
utilisée pour obtenir le comportement libre du système. Le but visé est de diviser la spécifi-
cation E en modules Ex, i G { 1 , . . . m}, donc d'obtenir un ensemble de générateurs E, tels
que
E = || E,
où E, = L(Ei).
La modularisation de l'objectif de contrôle soulève naturellement la question de savoir
sous quelles conditions l'ensemble des modules de la spécification sont équivalents à un
objectif de contrôle spécifié de façon monolithique (un seul AFD E).
Deux langages Aj, A'2 Ç E* sont considérés modulaires si K{ D K2 = K\ n A"2 (on
dit aussi que Kx et K2 sont non conflictuels [62]). Or pour un générateur G défini sur E, et
deux langages K\,K2 Ç E* contrôlables par rapport à G et modulaires entre eux :
32
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
L ( || K , ) = || L(Kt)
\i<n / i<n
= Il Kx
= h*-i<ti
Mais puisque n AT, D n K,, avec une inclusion stricte en général, ce système pourrait
s'avérer bloquant, en admettant que K = n Kt soit le langage marqué recherché. Il suffit
i<n
donc d'assurer que chaque solution partielle soit contrôlable localement pour assurer la
contrôlabilité de l'ensemble. Pour cette raison la contrôlabilité est considérée comme une
propriété locale. Par opposition, l'absence d'impasse requiert de considérer le système dans
son ensemble, aussi est-elle considérée comme une propriété globale du système.
Pour Ei, E2 Q S*, puisque supC(£' 1 n E2) est un sous-langage contrôlable de Ex (et
aussi de E2) dont la borne supérieure est supC(fîi) (respectivement supC(E2)), alors
Ainsi, pour Ei. E2 C E* tels que supC(Ei) et supC(A'2) sont modulaires entre-eux,
En synthèse modulaire il faut donc vérifier que l'ensemble des solutions partielles
(Kt = snpC(Et n Lm(G))) sont modulaires entre elles pour assurer que le système sous
contrôle soit non bloquant. Il s'agit d'une forme de symétrie en ce sens qu'aucune des
33
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
spécifications partielles ne doit être subordonnée à une autre pour l'accomplissement com-
plet des sous-tâches qu'elle décrit. Pour cette raison, cette forme de modularité est souvent
qualifiée de modularité horizontale dans la littérature scientifique sur le sujet.
La vérification de modularité entraîne des calculs aussi complexes que ceux d'une syn-
thèse monolithique, elle ne présente donc aucun gain à ce chapitre. Toutefois elle permet
une certaine simplification à la démarche d'exprimer l'objectif de contrôle global. Aussi,
en plus d'offrir la possibilité de se concentrer sur un ensemble de problèmes simplifiés
pour l'élaboration de l'objectif de contrôle (diviser-pour-régner), la modularisation hori-
zontale du problème de contrôle ouvre plusieurs possibilités concernant Y architecture de
la solution.
1. Le contrôleur peut être implémente de façon monolithique ou par un ensemble de
modules distincts.
2. Dans le cas d'une implémentation modulaire du contrôleur, les modules peuvent être
centralisés sur un même processeur ou bien distribués sur plusieurs.
Dans le cas d'une implémentation par modules du contrôleur, il faut bien sûr définir
quel est l'effet conjugué des différents modules. La théorie à ce sujet est détaillée dans [62]
au chapitre 4. Aussi, si les conditions s'y prêtent, il est possible que l'implémentation de
l'ensemble des modules présente une complexité en espace moins grande que celle d'une
solution monolithique. Cette question est examinée dans [10] et [11]. Mais en général, la
conception d'une spécification modulaire (modularité horizontale) utilise des heuristiques
comme celles examinées dans [62] aux sections 4.7 et 4.8. Dans la théorie, de telles heuris-
tiques sont reléguées à la catégorie des techniques de modélisation ; on y porte en général
peu d'attention.
Bien sûr dans le cas d'une implémentation distribuée de la solution, certains modules
pourraient ne pas être en mesure de percevoir tous les événements du système. Ils devraient
alors fonctionner dans des conditions dites d'observation partielle.
34
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
35
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
2.3.1 Préliminaires
La théorie du contrôle hiérarchique repose sur une reformulation de SCT utilisant des
concepts légèrement différents. En plus des notions sur les langages vues au chapitre 1, il
est utile d'ajouter quelques autres éléments.
On se rappelle que pour un alphabet S, l'ensemble E* est constitué de toutes les chaînes
finies de symboles dans E incluant la chaîne vide dénotée par e. Alors un sous-ensemble
36
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
H Ç E* est appelé un langage sur E. Pour .s, u G E*, la notation s < » exprime que s
est un préfixe de a. On définit // := {.s G E* | (3 //1 </ G // : s < u)} pour // Ç E*, la
fermeture préfixée de / / , et on dit que / / estpréfixe clos (ou simplementfermé) si / / = / / .
On dit que pour L Ç E* fermé (c'est-à-dire L = L), V(L) dénote 2L, l'ensemble des sous-
langages de L, et V2(L) dénote ainsi l'ensemble des familles de sous-langages de L. Pour
L Ç E* fermé, Tt := {H Ç L\H = H} dénote la famille des sous-langages fermés de
L. Pour L Ç E* fermé et H Ç L, on définit posL(H) := {s G L \ (3u \ u G H : u < s)},
la fermeture postfixée de // dans L. Ainsi posi(H) contient toutes les chaînes de L qui
constituent une extension d'au moins une chaîne de H. Pour L Ç S* fermé, on définit
Le symbole < définit donc un ordre sur £(X). On définit _L,T G £(X), respective-
ment la borne inférieure et la borne supérieure de £(X), par (Vx, x' | x, x' G X : x =
x'(rnod 1) <=» x = x') et (Vx, x' | x, x' G A" : x = x'(mod T)). La paire (5(X), <)
est un treillis complet (voir les notes de Wonham [62]).
Pour une fonction quelconque / : X —* Y, le noyau de la fonction dénoté ker / définit
une relation d'équivalence sur X comme suit : pour x, x' G X,
37
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
(3) K £C(H)^~KeC(H);
(4) pour F G Ti. tel que H Ç F, alors C(F) n 'P(H) Ç C(H), avec égalité lorsque
H G C(F), où C(F) •- Tv n C(F).
Alors C(II) associe à II (un sous-comportement de L) l'ensemble des sous-langages contrô-
lables qui lui correspond dans le système (L). On appelle aussi / / un sous-système de L,
mais il ne faut pas confondre avec la notion de composante illustrée à la section 2.1.
Soit Ci,C2 : TL —* V2(L) des structures de contrôle sur L. On dit que Ci raffine C2,
noté Ci < C2, si
(V//e.F£)C2(//)çc1(//).
Ainsi Ci est plus fine que C2 si Ci contient plus de sous-langages contrôlables que C2 pour
chaque sous-système.
Pour F G TL,, on définit un opérateur de synthèse (control operator dans [58])
38
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Les éléments du contrôle sont définis par la notion de technologie de contrôle. On dit
qu'une fonction S c : L —» V2(zZ), où
(1) ( V s G L ) 0 G E c ( S ) ;
(2) (V .s G L) E,.(.s) est un sous-treillis complet de "P(E) ;
pour L Ç E* fermé, définit une technologie de contrôle. Pour s G L, E,(,s) donne l'en-
semble des configurations de contrôle disponibles pour la chaîne s dans L, sous forme
d'ensembles d'événements que l'on peut inhiber simultanément à ce point. L'option de
n'inhiber aucun événement à s (donc de permettre tout a G E tel que sa G L) correspond
à 0 G Ec(,s) et doit toujours être disponible.
On remarque que lorsque l'alphabet E est partitionné en sous-ensembles d'événements
contrôlables Econ et incontrôlables Eu„c, alors Ec(s) := V(Eccm) pour tout s G L définit
39
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
une technologie de contrôle. Cette technologie de contrôle est désignée sous le nom de tech-
nologie de contrôle standard, et est la technologie de contrôle dans le contexte théorique
usuel de SCT (contexte de Ramadge et Wonham [45]).
Pour H G Th on définit H'J := E( \H et
pour s G //. Alors E^(.s) donne les configurations de contrôle disponibles à s dans L sous
forme d'ensembles d'événements permis à ce point. Lorsque H = L on omet généralement
la désignation en exposant et E^(.s) = E u (.s).
Lorsque L est ainsi muni d'une technologie de contrôle, pour H € TL et K Ç //, on
dit que K est contrôlable par rapport à H si pour tout s G A"
Ainsi K est contrôlable par rapport à H si l'ensemble des événements pouvant être générés
à la suite de s peut être restreint par un contrôle approprié (X G E"(.s)) à l'ensemble des
événements prolongeant .s dans K. Sur cette base, en définissant C : TL —* V2(L) par
et
C(II):=C(H)nTn
les propositions 15 à 19 de Wong [55] démontrent que C est une structure de contrôle
standard localement définissable. Ainsi, pour L Ç E*, il suffit que L soit muni d'une
technologie de contrôle pour en déduire qu'il existe C : Th —> V2(L) une structure de
contrôle standard localement définissable sur L. On dit qu'une technologie de contrôle
pour L induit une structure de contrôle standard localement définissable sur L. De façon
duale, les propositions 20 et 21 de Wong [55] établissent que s'il existe C : TL —*• V2(L)
une structure de contrôle standard localement définissable sur L Ç E* fermé, alors
40
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Il existe donc un lien fort entre technologie de contrôle d'une part et structure de
contrôle standard localement définissable d'autre part. On se rappelle qu'un système (ici un
SED) est modélisé par une paire (L. Lm), où L = Lm. Dans un système, une technologie de
contrôle induit toujours une structure de contrôle standard localement définissable (sur L),
et réciproquement, pour un système muni d'une structure de contrôle standard localement
définissable il existe toujours une technologie de contrôle qui l'implémente.
Proposition 85. [55] Soit K Ç Lm, K fi 0. Alors il existe une loi de contrôle non blo-
quante V sur L telle que Lm(V) = A' si et seulement si
(i) K est contrôlable par rapport à L ;
(ii) K est Lm-fermé.
11 est intéressant de remarquer que selon Wong et Wonham [59], dans le contexte usuel
de SCT, c'est-à-dire L Ç E* fermé où E = Econ Ù E u n c , alors pour / / G Ti
définit une structure de contrôle standard localement définissable ayant Ec(.s) := V(T,con)
pour tout s e L (la technologie de contrôle standard) comme technologie de contrôle
41
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
associée. Aussi, dans ce même contexte, d'après Wong ([55], section 3.1), l'opérateur de
synthèse est alors défini par :
pour E Q H Q L. Ainsi dans le contexte théorique de Wong, les résultats de SCT concer-
nant la synthèse sont tous applicables moyennant que le système concerné soit muni d'une
technologie de contrôle standard.
42
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Abstraction
com/„/0
Agent
COIl(u
d'information inf}0/„ est alors modélisé par une fonction 9 : L —* T* ayant la propriété de
conserver les préfixes, c'est-à-dire
Ce type de fonction est équivalent ([58], proposition 3) à une projection causale (définie
dans [66, 62]) où, avec LU : L —> T une fonction partielle arbitraire,
0(e) =
6(s) • Lu(sa). si u(sa) est définie
0(sa) =
9 (s), autrement
43
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
(VA' erM)$-l(N)eFL
([58], proposition 4), la préimage par 9 d'un sous-langage fermé de M est donc un sous-
langage fermé de L. On peut trouver quelques propriétés utiles des projections causales en
annexe B.
Il est à noter qu'il existe à proprement parler plusieurs définitions de la fonction de
projection. À l'instar de Wong et Wonham [59] on peut définir
- 0 : L —> M, associant une chaîne de L à une chaîne de M (la définition vue plus
haut) ;
- 0t : V(L) - • V(M) : H i—• 9,(11) := {0(s) | ,s G / / } , associant un sous-langage
de L à un sous-langage de M ;
- 0„ : V2(L) — V2(M) : X .—> d»(X) := {9„(H) | H G X}, associant une famille
de sous-langages de L à une famille de sous-langages de M.
11 devrait être évident que toutes ces fonctions sont surjectives. En général on n'utilise
pas les notations 9t et #** à moins que le contexte porte à confusion, par exemple pour
une structure de contrôle C/„ sur L, 9(Ci0(L)) signifie généralement 9„(Ci0(L)). Cet usage
peut cependant porter à confusion concernant la définition à utiliser pour 9~ ' dans certains
contextes.
Notons donc que la fonction de préimage par 9, c'est-à-dire 9~l : V(M) —> V(L), est
utilisée sur des sous-langages de M et aussi, par abus de notation, pour des chaînes / G M,
par exemple 9~l(t) = 9~l({t}). Lorsque 9~l est utilisée sur des familles de sous-langages
de A/ on utilise
44
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
. . f r, si 0(.S<T) = 0(s)r ;
u;(sa) := <
(^ indéfinie, autrement.
pour sa G /^. La fonction LU n'est donc définie que pour les chaînes sa G L provoquant la
génération d'un événement à travers 9. On appelle de telles chaînes, des chaînes vocales
(voir [62]). On aura donc aussi LU l : V(T) ->• V(L) et
pour X Ç T (LJ(S)\ dénote que u(s) est définie). Aussi LU"1^) = LU~1({T}), par abus de
notation, dénote l'ensemble des chaînes de L générant l'événement r à travers 9.
Aussi on définit
LroF:=u>~\T)U{E}
l'ensemble des chaînes vocales de L, c'est-à-dire l'ensemble des chaînes de L qui pro-
voquent la génération d'un événement à travers 9 auquel on inclut la chaîne vide.
Finalement, pour 9 : L —> M, on définit aussi 9V := 9\LUOC, la restriction de 9 à Lvoc, et
K1 P^
9-\N):=9-i(N)nLvoe
pour iV Ç M arbitraire.
En considérant Lm, L, 9, 9~x, M„, et A/ tels que définis précédemment, on pose Ci,,
une structure de contrôle sur L. On dit que le triplet (L. 9,Ci0) est doté de la propriété de
consistance du contrôle s'il existe une fonction C/,, : TM —* V2(M) telle que
(VNeFM)Chl(N)=9(Clo(lI)),
45
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Ainsi, dans la figure 2.1, pour un objectif de contrôle E Ç M, l'effet de l'élément C^, est
de synthétiser KM(E) sur G/,, (l'abstraction). Cet effet peut être obtenu à travers l'agent
en lui soumettant 9~1(E) comme objectif de contrôle à travers comha0- L'effet de l'élé-
ment C;0 est alors de synthétiser KL O 0~l(E) sur Glo, dont la projection 9(KL O 9~l(FJ))
est parfaitement équivalente à KM(E), fermant ainsi la boucle. Ainsi on a formellement
l
KM = 9 O KI,O0 , c'est-à-dire la consistance hiérarchique pour le triplet (L, M, 9).
Tel que mentionné dans [55] (section 6.2), le problème de déterminer si un triplet
(L, 9. Cio) présente la consistance du contrôle (c'est-à-dire si ker 0 < ker (0oCio)) est géné-
ralement indécidable. Or en contrôle hiérarchique, la structure de contrôle de l'abstraction
Ciu n'existe que si et seulement si ker 0 < ker (0 o Ci0). Il est donc généralement néces-
saire de se rabattre sur des conditions suffisantes pour assurer la consistance du contrôle.
Ces conditions sont généralement exprimées sous forme de propriétés de la projection 0
assurant, entre autres choses, la consistance du contrôle. Le lecteur est invité à consulter
Wong [55] (section 6.4) et Wong et Wonham [59] (appendices A et B) pour des exemples
d'investigations substantielles dans cette direction.
46
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Il est intéressant de noter qu'il existe une forme affaiblie de la consistance du contrôle
correspondant au théorème 2 de Wong et Wonham [58], notamment
x
Cht(N) C 9(Clo(H)) <=> 9oKHo9 \Chi(N] = idcht{N)
47
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
technologie de contrôle de L (l'agent) est standard et tous ses événements sont contrôlables
ce qui induit une technologie de contrôle standard dans A/ (l'abstraction) où tous les évé-
nements abstraits sont aussi contrôlables. Puisque tout est contrôlable, il est aisé de vérifier
qu'il y a consistance du contrôle. On a donc L = {e, a, 3. try, [35}, Lm = {«7. (36} et
M = {S, T, TTi, TT2}, Mm = {TTi, TT2}.
Soit donc E = {TTI} Ç M un objectif de contrôle. Alors KM(E) = E est A/m-fermé
c'est-à-dire que E = E D Mm = {e, r, TT\ } n {TTI . TT2} et donc non bloquant, c'est-à-dire
que E = E n Mm. Par consistance du contrôle on a que KM(E) = 9 o KL O 9~~1(E). Dans
ce contexte, tout se passe comme si on synthétisait directement la préimage de l'objectif
de contrôle 9~X(E) sur l'agent, et on peut vérifier que K' := K[, O 9~l(E) — {«7} est non
bloquant dans l'agent c'est-à-dire K' n Lm = {e, a, aj} Ci {0:7, [36} = {e. o, cry} = K'.
Cependant la stratégie du contrôle hiérarchique est indirecte ; elle vise à implémenter
une loi de contrôle 14; dans l'agent sur la base de la loi de contrôle obtenue pour l'abs-
traction V'r en utilisant une règle telle que celle utilisée dans Wong et Wonham [59] (pro-
position 12 en appendice C). Le résultat de cette manoeuvre équivaut (du point de vue
du contenu des langages concernés) à utiliser 0~1(KM(E)) comme spécification pour une
synthèse sur l'agent (voir à cet effet [59], postulat à la proposition 12). On vise donc à
implémenter le langage K := KL O ^ ~ , ( K ^ / ( £ ' ) ) sur l'agent, sachant que sa projection
9 o KI o 9"1(KM(E)) = KM(KM(E)) = KM(E) est précisément L(VT/Ghi), le comporte-
ment sous contrôle du système de haut niveau. Mais voilà, dans l'exemple de la figure 2.2,
K := {s, a, (i, 0:7} et ce langage est bloquant à l'état [3 dans l'agent. Ici d se retrouve
dans la spécification parce que 9(a)rx = TT\ G KM(E) et donc r G K-M(E). Ainsi
/, M
48
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
0~HKXf(E)) D 9~1(T) = {ttjl} et les deux chaînes partagent la même classe d'équi-
valence de ker 0. Or il n'y a pas de chaîne s G L où fi < s et 0(s) — TTX et l'agent
bloque. Une façon de remédier à ce problème est de construire 0 (ou de la raffiner) de sorte
que toutes les chaînes de L partageant une même classe d'équivalence de ker 9 aient le
même ensemble de développements futurs à travers 9. Ceci est l'essence de la propriété
d'observateur.
p o u r x , x ' G X, etoùpp : V(Y) -» V(Y/p) : Y' •—• {[y]p \y G Y'} est l'extension
standard de la projection canonique par p dont le domaine a été étendu à des ensembles.
Ainsi p o / = ker (pp° f) car pour g : X —» Y, x = x'(mod p o g) si et seulement si
g(x) = g(x')(rnod p).
Pour X un ensemble et a ; : A" —> V(X) un ensemble de fonctions d'index i G /, on
appelle la structure <S := (X, {«; | i G /} ) un système dynamique (non deterministic dyna-
mic system dans [62]). Dans un tel système, les éléments de l'ensemble X sont considérés
représenter les états du système et l'ensemble des {a, | ? G /} représente la dynamique du
système (l'effet de sa fonction de transition). Par convention on étend généralement le do-
maine de <yt à des ensembles at(X') := ( J J g v , o,(x) pour X' Ç X. On dit que LU G £(X)
est une quasi-congruence pour S si
49
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Proposition 2. [57] Si 0 : L —> 7'* est une projection causale, alors ker 9 < (ker 0) o pre.
Symétriquement, pour TT G £(L) telle que n < TT o pre, il existe un alphabet d'événements
T et une projection causale 0 : L —* T* pour laquelle ker 0 = n.
Autrement dit, dans des termes légèrement différents ([60], proposition 2.1), la pro-
jection 0 : L —• T* n'est causale que si ker 9 est une quasi-congruence pour le système
dynamique (L, pre). Et réciproquement s'il existe une quasi-congruence n G £(L) pour le
système dynamique (L. pre) alors il existe T et une projection causale 9 : L —*T* tels que
ker 0 — -n.
Il est souvent utile de modéliser une projection causale sous forme d'une machine de
Mealy (voir [31]). Rappelons qu'une machine de Mealy déterministe est une structure al-
gébrique (un 7-uplet)
A = (X,Z.T,t;,0,xlhXtn)
Ats = (X,H,^,x0,Xm)
où L = L(G t s ).
50
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
{ r0,
r.
si 9(sa) = 0(.s) et sa G L ;
On dit qu'un automate G' = (Q, E'. S', r;0. Qm), (potentiellement non déterministe) consti-
tue un réétiquetage de G s'il existe une fonction surjective (dite fonction de réétiquetage)
où a' G E', transformant G en G'. Si G' est déterministe, alors G' constitue un réétiquetage
déterministe de G.
51
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Pour une machine de Mealy G (définie comme dans l'équation 2.3) modélisant la paire
(L,0), on définit
G = (Q,ZUT,Zqo,Qm) (2.4)
/ (q,T,q'), sï\(q.a) = r G T ;
rG((q,a,q)):=l .
r
[ (q,a,q ), siX(q, a) = r 0 .
Ainsi /Q remplace, dans G ts , l'étiquette de toutes les transitions observables à travers 0 par
le symbole généré par la fonction de sortie de la machine de Mealy lors de cette transition.
11 se peut que G soit non déterministe.
On peut alors exprimer le système dynamique (non déterministe) correspondant à G en
définissant
AT : Q - 2Q : q .— \J{ 6(q, UTU') | UU' G (E - T)* }
pour chaque r G T et
u
A m : Q - 2«« : </ —+ (J< ^ ) n Q m | u € (E - T)* }
en supposant que m G" T. Ici Am(q) Ç Q m représente l'ensemble des états finaux que
l'on peut atteindre à partir de q G Q dans G, en empruntant seulement des transitions
inobservables à travers 0. De même, AT(q) C Q représente l'ensemble des états que l'on
peut atteindre à partir de q G Q dans G, en empruntant uniquement que des chemins ne
contenant que des transitions inobservables à travers 0 en plus d'une et une seule transition
observable à travers 0 d'étiquette r.
Cette définition du système dynamique correspondant à une structure de transition est
conforme à la notion de système dynamique donnée précédemment ; la présence d'un état
initial q0 et d'un ensemble d'états marqués Qm ne change rien de fondamental. On peut
52
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
AtT(q) = U ^ M k e ^ f o ) }
pour q GQ.
Pour lier l'argumentation présentée par Wong et Wonham [58] (et aussi [55] et [62])
à la présentation du concept d'observateur par Wong et Wonham [60], il peut être utile de
considérer certaines des différences apparentes entre les deux argumentaires. Dans [60] en
section 2.4.2, vers la fin, on y fait la remarque suivante :
One of the objectives of the paper is to define a computation on a (finite) Mealy
automaton G producing a causal reporter map 0* which has -n* as its équiva-
lence kernel. To do this, we need to relate the computation on G to w*, which
is an équivalence relation on L.
Ce qui suit (dans [60]) présente un intérêt certain aux lecteurs de [58].
On définit la structure de transition T t s = (X, E, £, r 0 , Xm), un automate déterministe
(dont l'espace des états n'est pas nécessairement fini) pour lequel il existe une bijection
/ : L —» X, où L = Lm Ç E*, et telle que
1. /(c-) = . x 0 ;
2. j(Lm) = Xm ;
3. pour s G L et cr G E, Ç(f(s). a) est définie si et seulement si sa G L et dans ce cas
É(/(*),<r) = / M .
Ensuite on adjoint à T t s l'alphabet de sortie T u {r 0 } et la fonction de sortie A° : X x E —>
1
TU {T 0 } induite par A°(x, a) = \(f (x). a), où A est telle que définie dans l'équation 2.2
-1
et y* est l'inverse de la bijection / . Par abus de notation on utilisera A pour A° quand le
contexte sera clair, et la fonction de transition est étendue aux chaînes £ : X x E* —* X de
53
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
façon standard (voir section 1.1.3) au besoin. On obtient donc la machine de Mealy
et il devrait être clair que le graphe de T est un arbre (possiblement infini) tel qu'illustré en
figure 2.3. Comme dans l'équation 2.4, pour T t s , on obtient
T = (X,'ZuT,lxo,Xm)
et le système dynamique
pour x, x' G A". Ainsi ker 0 (ou toute autre relation d'équivalence sur L) peut être induite
sur X de même que le pré-ordre entre préfixes sur les éléments de L, c'est-à-dire pour
x, x' G X, x < x' si et seulement si il existe s G E* pour laquelle E,(x, s) = x'.
Une projection causale 9 : L —> M pour L = Lm Ç E est dotée de la propriété
d'observateur si et seulement si ker 9 est une quasi-congruence sur T. Dans ce cas, la
relation d'équivalence -K* correspondante une fois induite sur X peut s'exprimer en termes
de ST et Em comme suit :
54
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
T (/,, 0) T(M
ker 0
~T(XO) = {^2,^3,^6,^7}
H T (xi) = {x 2 ,x 3 }
=-T(X$) = {x6,X7}
55
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
n'est rien d'autre qu'un arbre d'accessibilité au même titre que Le dans [58]. De plus, en
utilisant la projection naturelle Pr : (E U T)* —> T qui efface toute occurrence de cr G E
dans L(T), on se rend compte que l'ensemble des relations de transition ST pour r G T
dans [58] correspondent exactement aux relations H r de T définies précédemment. On peut
donc assimiler (à quelques détails près) la congruence n* à la congruence observationnelle
ne définie dans [61] et mentionnée dans [58].
Concernant les preuves de l'existence de w* le lecteur est invité à consulter [60, 62,
61]. D'après Wonham [62], pour un système dynamique quelconque S := (AT, {a t | i G
/}), où i G / est un ensemble fini d'index, J_ G £(X) est une quasi-congruence pour
S et l'ensemble des quasi-congruences pour S forme un sous-treillis supérieur de £(X)
muni de la disjonction. Aussi d'après Wonham [61 ], pour un ensemble Y et une fonction
7 :X - Y,
Pour un langage H (potentiellement non fermé) sur un alphabet E et une chaîne s G S",
la fermeture postfixée de s dans / / , notée posu(s) est constituée de toutes les extensions
de .s dans // (c'est-à-dire posH(s) := {?/. G // | .s < ?/.}). Ainsi pour // fixé, posH est une
fonction de E* vers V(H). Posons H Ç L et 9 : L —• T* causale. On dit que 9 est un
//-observateur si ker 0 est une quasi-congruence pour le système dynamique (L, posH).
Ainsi pour un //-observateur 0, si s = s'(mod ker 0), c'est-à-dire 0(s) — 9(s'), alors
s = s'(mod (ker 9) oposn), c'est-à-dire que pour tout u G posn(s) il existe u' G posn(s')
56
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
pour lesquels u = u'(mod ker 9) et vice versa. En d'autres termes, si 9(s) = 9(s'),
alors pour une extension .si; G // de .s, il existe une extension s V G // de s' telle que
0(sv) = 0(s'v'). Ainsi lorsque 9 est un //-observateur, si 9(s)t G 0(11) alors peu importe
la progression de l'agent dans sa structure de transition, tant et aussi longtemps que son
image par 0 est égale à 0(s) l'agent reste toujours en mesure de générer une chaîne de H
dont l'image est 0(s)t.
où pre M et pre.i sont respectivement les opérateurs de fermeture préfixée sur A l et L. Ainsi
pour L et M fermés, 0 : L —• M causale dotée de la propriété d'observateur, on a que pour
tout Ar Ç M alors 9~1(N) = 0~HN).
Il est aussi intéressant de noter qu'un /^-observateur est aussi un /-observateur pour
L = Lm, d'après la proposition 4.4 dans [14].
57
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
pour / / G TL- Cette règle stipule simplement que la contrôlabilité d'un langage est dé-
terminée par la contrôlabilité de sa fermeture préfixée. Cette propriété est toujours vérifiée
pour les structures de contrôle standard (voir [55]). On suppose aussi une forme de consis-
tance de contrôle, bien que, selon [58], il suffit que C}U(M) — 0(Cio(L)).
On se rappelle que pour L G E* fermé, Lm Ç L constitue le langage marqué du
système. On dit que E Ç L est non bloquant si E = E D Lm. On note que si E — En L„,,
c'est-à-dire que E est Lm-fermé, alors E est sûrement non bloquant, mais il n'est pas
nécessaire que E soit Lm-fermé pour qu'il soit non bloquant pourvu que E Ç E D Lm.
On suppose donc le contexte du contrôle hiérarchique de la figure 2.1 pour le reste de
cette section, notamment :
1. L G E* est un langage fermé sur un alphabet fini E modélisant un système de bas
niveau appelé l'agent, muni d'une structure de contrôle C;0 répondant au critère de
l'équation 2.6 ;
2. M G T* est un langage fermé sur un alphabet fini T modélisant un système de
haut niveau appelé l'abstraction, muni d'une structure de contrôle C^, que l'on peut
supposer être standard ;
3. 0 : L —> M est une projection causale.
Bien sûr on a aussi L,n Ç / et Mm Ç M définissant respectivement les langages marqués
de L et M, et on suppose que C/,,(A/) = 9(Ci0(L)).
D'après la proposition 15 dans [58],
c'est-à-dire que s'il est possible d'obtenir une synthèse non bloquante dans l'agent à partir
de la préimage de l'objectif de contrôle abstrait (9~l(E)), alors par consistance du contrôle,
58
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
il est certain que la synthèse de l'objectif de contrôle dans l'abstraction est elle aussi non
bloquante, c'est-à-dire
KM(E) = KM(E)n Mm.
Le problème du contrôle hiérarchique non bloquant est donc de pouvoir garantir qu'une
synthèse d'un objectif de contrôle abstrait (KM(E) pour E C M), non bloquante dans le
système de haut niveau, résulte toujours en une implémentation non bloquante dans l'agent.
Wong et Wonham [58] procèdent à démontrer qu'il surfit que la paire (L. 0) soit for-
tement observable par rapport à un certain sous-ensemble clef de sous-langages de Ci„(L)
pour assurer le résultat, pourvu que l'on ait 0~l(0(Lm)) = Lm, la consistance du marquage.
Premièrement, la paire (L, 0) est dite fortement observable si 0\K (la restriction de 9 à
K) est dotée de la propriété d'observateur pour tout K G C[a(L). Deuxièmement on pose
X •- {K G Ci„(L) | nh o 9~\9(K)) = K}
l'ensemble des sous-langages contrôlables et fermés de L qui sont maximaux par rapport à
leur projection dans M. On note qu'il peut exister Kx, K2 G Ci0(L) où A'! C K2, A"2 G X
et 9(K\) = 9(K2), c'est le cas dans l'exemple de la figure 2.2 pour K'. De tels langages
ne sont pas maximaux par rapport à leur projection dans M et donc ne sont pas inclus dans
X. On dit que la paire (L, 9) est fortement observable par rapport à X lorsque 0\K est un
observateur pour tout K G X.
Il est intéressant de noter, comme mentionné en préambule (exemple de la figure 2.2),
que le contrôle hiérarchique est une stratégie indirecte visant à implémenter sur l'agent un
comportement contrôlé dont la projection simide un comportement contrôlé de l'abstrac-
tion générant K A / ( / ? ) . Cette implémentation s'effectue par calcul de la loi de contrôle de
l'agent Vx, directement à partir de la loi de contrôle obtenue dans l'abstraction Vr pour la
synthèse KM(E) et correspond (voir [59], postulat à la proposition 12) à KL O 0~1(KM(E)).
On vise donc à implémenter KM(E) = L(Vr/Ghx) par projection de KL O 9~1(KM(E))
à travers son implémentation L(Vz/G[0). Ainsi on réfère souvent à «•/, o 9~X(KM(E)) en
tant qu'implémentation sur l'agent du comportement de la synthèse de haut niveau. Or en
présence de la consistance du contrôle, sous provision que la restriction à l'équation 2.6
59
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
KL O 9-\KMË)) = KLO0 H £ ) •
1
Par suite on obtient le résultat du théorème 4 [58], à savoir que lorsque Lm = 9 (Mm)
et que (L. 9) est fortement observable par rapport à X alors
60
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Ainsi lorsque 0 est un /-observateur, l'absence de couplage de contrôle ((9,7l o K;W <
KL o 0~l o 7?A/) assure que la propriété d'observateur de 0 se propage à tous les langages
K €X.
Sommairement, on obtient alors le résultat suivant.
Théorème 6. [58]
En présence de la consistance de contrôle, en supposant que la restriction de l'équation 2.6
est vérifiée et que
9-\Mm) = Lm;
9 est dotée de la propriété d'observateur ;
9~x o FA/ < nL o 0~x o 7viW,
alors
(V E Ç M) KM(E) non bloquant •<=> KL O 0~X(E) non bloquant.
61
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Supposons (L, Lm) et (M, Mm), les modèles d'un agent et de son abstraction respec-
tive, munis respectivement de C/„ et C^ deux structures de contrôle elles-mêmes munies
respectivement de technologies de contrôle correspondantes E ( .() et T ( ; (). On suppose
bien sûr qu'une forme de consistance de contrôle existe entre Chl et Ci„. Supposons en plus
que 9 : L —> M est dotée de la propriété d'observateur, qu'elle est libre de couplage de
contrôle, c'est-à-dire que 0~x o KM < KL O 9~X O KM, et qu'aussi le système possède la
consistance du marquage 0~x(Mm) = Lm.
Soit maintenant un objectif de contrôle A/,„-fermé E Ç M et posons N := KM(E).
Supposons /V non vide. Alors N = K-M(E) Ç E = B f l Mm Ç Mm et N Ç A/m est
A/m-fermé. Par la proposition 85 de Wong [55], une loi de contrôle VN : M —• V(T) telle
que
62
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Le calcul s'effectue alors d'après une règle qui dépend des propriétés du système. Par
exemple pour le contexte de Zhong et Wonham [66], où la propriété OCC (voir [59], ap-
pendice A) procure la consistance de contrôle entre l'abstraction et l'agent, on retrouve en
appendice C de [59] une formulation synthétique de la règle à utiliser. Dans ce contexte la
loi de contrôle VK : L —* P(E) est définie par la règle suivante :
VK(s) = E„U{a G S01 (Vs' G E;)(Vr G T) 0(sas') = 9(s)r => T G VN(9(s)) (2.7)
pour s G L. La proposition 12 de Wong et Wonham [59] prouve que cette loi de contrôle
procure effectivement le résultat désiré à savoir que
On peut trouver dans la section B.4 plus de détails sur cette construction et sur les concepts
reliés.
63
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
E = EH U E; U E,,
0 = Ew n E;, = E„ n E, = E t n E,
E; EfluE,4 0 E«nE/i
O
ttl-Oi A
«*•
Gt I Et
A e ER n, e T,A
64
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Les spécifications de comportement sont données sous forme d'AFD. Le cas illustré
dans la figure 2.4 est le plus simple et il ne sert qu'à bien comprendre l'exposition, car il est
ensuite étendu à un cas plus général où le client coordonne l'activité de plusieurs serveurs
fonctionnant en parallèle, mais dont les alphabets sont tous disjoints deux à deux.
À remarquer que le langage de l'interface L(G/) est toujours formé de paires com-
mande/réponse alternées. De plus, une tâche, dans l'interface, ne peut être considérée com-
plète que lorsque la réponse correspondant à une commande donnée au préalable a été
reçue. Ainsi, / m ( G / ) n'est formé que de paires commande/réponse aussi. La forme en
étoile illustrée dans la figure n'est que la plus simple des structures possibles. Elle peut être
généralisée pour inclure une notion de mode de fonctionnement.
En reformulant légèrement le problème pour inclure l'usage de l'interface et pour ex-
primer le comportement contrôlé des systèmes, on peut considérer que le comportement
contrôlé du système de haut niveau s'exprime par G// := GPH || S/; où GPH exprime le
comportement libre du système de haut niveau. La composante S// est alors un AFD qui
exprime à la fois le contrôle de G # et l'usage anticipé de l'interface par le client (S« étant
défini sur E// U E/). On peut faire la même chose pour la paire G L , S*,, avec SL et GPL
défini sur E^ U E/. Alors HISC démontre que, sous certaines conditions (à vérifier à l'aide
d'algorithmes donnés dans [38]), le système est contrôlable et non bloquant.
65
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Des algorithmes sont donnés dans [35, 38] et dans [37], pour l'ensemble des vérifica-
tions. Les algorithmes correspondants pour la synthèse sont donnés dans [9].
HISC possède de toute évidence des caractéristiques intéressantes pour la conception
modulaire. Mais ses auteurs concèdent qu'elle présente tout de même certains problèmes.
1. La méthode ne garantit pas un comportement contrôlable et non bloquant qui soit
maximal au sens de la théorie originale ; un inconvénient mineur à concéder pour
obtenir la modularité.
2. La méthode semble confiner à une approche client/serveur en deux couches [37]. Du
moins les auteurs n'abordent pas les difficultés d'extension à plus de deux couches.
Il est probable qu'une extension vers le haut (d'un système parallèle) requiert de re-
prendre la vérification de chaque module globalement. Cependant les gains en termes
de réduction de complexité demeurent valables.
On peut noter aussi que lorsque l'on se limite à utiliser cette variante dans un rôle de
vérification, la spécification du système de haut niveau (système maître) doit être donnée
sous forme d'un AFD monolithique (le superviseur S//). Ceci peut souvent se révéler être
un exercice difficile, et dont on ne peut pas aisément recouvrer l'ensemble des objectifs de
contrôle initiaux.
66
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
1. qo\=P=>qn\=R{G,P);
2. q [= R(G, P) A S (q, a)\ A S(q, a) \= P =» S(q, a) \= R(G, P) ;
3. aucun autre état ne satisfait R((J, P).
R(G, P) est identifié à l'ensemble des états que l'on peut atteindre dans G à partir de q0,
en n'empruntant que des trajectoires d'états satisfaisant P. Clairement, pour un générateur
G fixé, R(G, •) : Pred(Q) -» Pred(Q) définit un foncteur.
Pour exprimer la condition de contrôlabilité dans cet espace il est nécessaire de définir
un autre foncteur Ma : Pred(Q) —> Pred(Q), où q f= M„(P) <=> S(q, a) (= P lorsque
S(q, a)\. Alors, P G Prtd(Q) est dit contrôlable par rapport à G lorsque
Il est clair que R(G, P) •< P en général, donc la contrôlabilité implique que R(G, P) — P.
Notamment, P est accessible dans G et invariant sous le flot des événements incontrôlables.
Le prédicat false est contrôlable par convention.
Dans cet espace, pour établir le contexte du contrôle, on ne s'intéresse qu'à des lois de
contrôle où l'état courant du système G suffit pour déterminer la rétroaction. De telles lois
de contrôle sont désignées par l'appellation SFBC (de l'anglais State FeedBack Control
policy). Formellement, une SFBC / est une fonction totale / : Q —> C, où
C := {E' Ç E | E u Ç E'} .
Alors f(q) spécifie l'ensemble des événements autorisés à l'état q G Q, qui contient tou-
jours tout l'ensemble des événements incontrôlables E u ; tous les autres événements sont
67
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
ainsi inhibés. Une SFBC / définit implicitement une famille {/<, | a G E} de prédicats
fa : Q —> {0,1), où fa(q) = 1 si et seulement si a G ./(</)• Le comportement en boucle
fermée G / := (Q, E, Sf q0, Qm) du système sous l'action de / est alors défini par
Il est évident que si / est une SFBC pour G, alors R(Gf. P) •< R(G, P) dénote le prédicat
d'accessibilité de G ' .
La théorie établit qu'un prédicat non trivial P G Pred(Q) est contrôlable par rapport à
G si et seulement si il existe une SFBC / pour G telle que R(Gf, true) = P, c'est-à-dire
que / synthétise P sur G.
De la même façon que l'on peut définir R(G, P), on peut définir CR(G, P) le prédicat
de co-accessibilité. Un prédicat P est dit co-accessible si P < CR(G, P) et non bloquant
si R(G, P) < CR(G, P). Or CR(G, P) •< P en général, donc si P est contrôlable et non
bloquant alors F = R(G, P) ^ CR(G, P) •< P et ainsi F est co-accessible. Et on obtient
que R(Gf, true) = P = R(G. P) = CR(G, P). Sous ces conditions, la loi de contrôle
est donnée par une SFBC / . Q —• C définie par l'ensemble des prédicats f„ — M„(P).
Pour la synthèse, lorsque P n'est pas contrôlable a priori, on considère l'ensemble
CV(P) •— {K G Pred(Q) | A' < P et K est contrôlable}. Cet ensemble est démontré non
vide et stable sous la disjonction [62]. Il admet donc une borne supérieure dénotée
supCV(P).
De plus, on définit le foncteur [•] : Pred(Q) —• Pred(Q) par
Il est évident que R -< [R] et [R] dénote le plus grand sous-ensemble d'états de G pouvant
atteindre un état q' \= R par au moins une séquence composée uniquement d'événements
incontrôlables dans G. On appelle [R] le champ incontrôlable de R.
On peut démontrer que supCV(P) = R(G. -> [->P]), et bien sûr supCV(P) fi false si
et seulement si qo \= -> [~>P] (voir [62]). Sous ces conditions, la loi de contrôle prend la
68
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
De façon analogue à ce qui précède, pour la synthèse non bloquante avec P arbitraire,
on considère l'ensemble
non vide et stable sous la disjonction [62]. Cet ensemble admet une borne supérieure déno-
tée supCaP (P). On définit le foncteur Qp (•) par
On peut ainsi caractériser .S' = s\ipC2V (F) comme le plus grand point fixe de ilp (•), et
bien sûr supC2P (P) fi false si et seulement si q0 f= supCg'P (P). Sous ces conditions, la
loi de contrôle prend la forme d'une SFBC f : Q —> C définie, pour tout a G E r , par
. .. Jl siS(q,a)\AS(q,a)^mpC2V(P)
L(q) := < n
y 0 autrement.
En conclusion, cette approche peut sembler restrictive puisque la rétroaction est donnée
à partir de l'état courant du système (c'est-à-dire basée sur l'espace d'états de G). Dans la
forme donnée jusqu'à maintenant, elle ne peut pas tenir compte de l'historique de l'activité
du système, comme par exemple si une décision de contrôle devait dépendre du nombre de
fois que le système a produit une pièce de type «A» nécessitant ainsi l'usage d'un compteur.
Cependant dans [62], la théorie formule une extension de la forme de la loi de contrôle
incorporant une notion de mémoire appelée une DSFBC (pour dynamic SFBC). Munie de
cette extension cette approche se révèle capable de résoudre les mêmes problèmes que le
modèle linguistique original de SCT.
69
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
70
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
p.-i
Ainsi, une fonction finie quelconque jouit d'une représentation par graphe simple, dont
on peut trouver un exemple enfigure2.5. Un tel graphe porte le nom de MDD (de l'anglais
pour Multi-valued Décision Diagram). Les noeuds internes représentent les variables et
sont ordonnés par niveau dans le graphe. Le graphe est acyclique et ses noeuds terminaux
représentent les valeurs prises par la fonction. Évaluer la fonction en un point consiste
à circuler dans le graphe à partir de la racine jusqu'à l'un de ses noeuds terminaux en
empruntant, à chaque noeud interne, la branche correspondant à la valeur de la variable re-
présentée par ce noeud. La navigation n'est donc pas arbitraire, en ce sens que l'évaluation
de la fonction doit toujours se faire dans l'ordre des variables implicite au graphe, il est
donc dit ordonné (OMDD).
On y constate aussi beaucoup de redondances que l'on peut éliminer à profit sans chan-
ger la nature acyclique du graphe ou l'ordre des variables dans le graphe. En particulier,
on peut éliminer la redondance parmi les noeuds terminaux. Ce faisant, on constate que les
arcs du noeud de gauche pour la variable y pointent tous sur le même noeud terminal, aussi
peut-on éliminer ce noeud en redirigeant l'arc x = 0 directement vers le noeud terminal
représentant f(0.y) = 0.
71
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
f(x. y) = max(0. x - y)
Pi = Pt = {0.1.2}
Plus généralement, on peut appliquer les deux règles suivantes appelées règles d'élimi-
nation de Shannon en procédant à partir des noeuds terminaux vers la racine.
1. Tout noeud n'ayant qu'un successeur (c'est-à-dire que les arcs dont il est l'origine
pointent tous sur le même noeud) peut être éliminé en redirigeant les arcs de ses
prédécesseurs vers son successeur.
2. Pour toute paire de noeuds (ni, n2) représentant des sous-graphes idempotents (c'est-
à-dire qu'ils ont le même nombre d'arcs et chaque paire d'arcs correspondants pointent
vers le même successeur), on peut éliminer l'un d'entre-eux, disons ni, en redirigeant
les arcs de ses prédécesseurs vers n2.
Le résultat de l'application de ces règles donne un graphe réduit qu'on appelle ROMDD
(Reduced Ordered Multi-valued Décision Diagram). Lorsque le contexte est clair, MDD
signifie ROMDD. Cette dernière forme est considérée canonique en ce sens qu'il n'existe
qu'un et un seul ROMDD représentant une fonction donnée / (l'ordre des variables est une
caractéristique d'un ROMDD). Lorsque l'ordre des variables est optimal, le graphe prend
en général beaucoup moins d'espace qu'une représentation exhaustive (par exemple, par
72
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
table) de / .
Ces résultats se généralisent facilement aux fonctions booléennes. On appelle alors le
graphe un BDD ou ROBDD (Reduced Ordered Binaiy Décision Diagram). Gunnarsson
(voir [26]) utilise le nom 1DD (Integer Décision Diagram) dans le cas de fonctions finies
à valeur dans {0.1}, particulièrement utiles pour exprimer des fonctions caractéristiques
(prédicats d'appartenance) sur les ensembles d'états d'une composition synchrone d'AFD.
En effet, pour
G = || G,, un état x = (x x , x2,..., xn) G x A',,
où Xt est l'ensemble d'états de la composante G, pour n fini, il est aisé de voir qu'un
prédicat F tel que défini dans la section 2.5 (une indicatrice sur QP) peut être encodé par
un 1DD.
Moyennant un encodage judicieux [30], les IDD peuvent être encodés à l'aide de BDD.
Ainsi IDD et BDD, implémentés à l'aide de structures de données adéquates, permettent la
conception d'algorithmes efficaces pour les opérations suivantes [12] :
1. l'évaluation de f(x) pour .r donné ;
2. la réduction d'après les règles d'élimination de Shannon ;
3. le test d'équivalence de fonctions / i = f2 (par égalité de pointeurs) ;
4. l'énumération et la détermination de la cardinalité de / ;
5. la synthèse / = / i • f2, où • représente n'importe quel opérateur booléen binaire ;
6. la négation logique ;
7. la substitution de variable par une constante f\ f t = j , ou une autre fonction q définie sur
le même domaine f\Xt=9 ;
8. la quantification existentielle et universelle.
Il existe une grande variété de diagrammes de décision et une riche littérature scien-
tifique sur le sujet. Chaque forme de diagramme est ajustée sur mesure à la nature du
problème à traiter. Tous cependant souffrent de la même limitation à savoir que la taille
des diagrammes (pendant les calculs) dépend de façon critique de l'ordonnancement des
variables utilisé. Un mauvais ordonnancement peut rendre la technique inutilisable. Il y
73
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
a donc une large part de la littérature consacrée aux heuristiques d'ordonnancement des
variables.
74
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
adéquat. Des procédures ad hoc sont données pour réaliser R(G, P) et CR(G, F) mais
sans en donner le fondement théorique.
Les travaux de Ma et Wonham [39] reprennent l'approche prédicative dans le contexte
d'un nouveau formalisme de modélisation, les STS (de l'anglais State Tree Structures). La
modélisation par STS procure le support formel requis pour une résolution élégante des
deux problèmes.
75
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Pour une description formelle complète le lecteur peut consulter [39]. Ce qui suit n'est
qu'un énoncé des principales propriétés de chaque structure et de leur combinaison finale
en une structure en arborescence d'états.
La figure 2.6 (extraite de [39]) présente le modèle d'un système sous forme d'un state-
chart. On peut trouver en figure 2.7 une représentation de l'arborescence d'états correspon-
dante. L'arborescence d'états d'un système, dénoté ST, est clairement une structure d'arbre
et en hérite toutes les caractéristiques. L'arbre est composé de trois types de noeuds : les
super-états ET et les super-états OU, formant les noeuds internes de l'arbre, et les noeuds
simples comme feuilles. La structure est définie récursivement de sorte que tout sous-arbre
d'une arborescence d'états ST est lui-même une arborescence d'états. On parle d'arbores-
cence d'états enracinée en M\, dénotée ST' U l , pour un sous-arbre. Une fonction de typage
T sert à dénoter le type des noeuds ; en figure 2.7, T ( A/i ) = or, T (Small Factory) — and,
T (ï2) = simple.
On dénote £ la fonction d'expansion directe d'un noeud retournant l'ensemble des
noeuds qui le composent directement, E+ sa fermeture transitive et £* sa fermeture transi-
tive et réflexive.
On dit qu'une arborescence d'états est bien formée (de l'anglais well-formed) si tous ses
super-états ET ne sont composés que de super-états (OU ou ET). La structure algébrique
est dénotée S71 = (A', xQ, T, £), où X est un ensemble d'états structurés, x0 G X un état
spécial appelé la racine, T : X —* {or, and, simple} la fonction de typage et £ : X —<• 2X
la fonction d'expansion directe.
11 est aussi utile de caractériser les relations entre les noeuds d'une ST. On dit que
x < y (x est un ancêtre de y), si y G £* (x), et que x < y si x est un ancêtre propre de y.
Généralement x et y sont affiliés si x < y ou y < x. Cette relation nous permet d'établir
la notion de plus proche parent (NCA - nearest common ancestor) et d'affirmer qu'entre
les noeuds d'une ST, il ne peut exister qu'une et une seule des trois relations suivantes
(mutuellement exclusives).
76
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
77
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
2. Soit r | y, et x est dit concurrent à y, en ce sens que le système peut être dans les
deux états simultanément, et leur plus proche parent est un super-état ET.
3. Soit ./• il y, et x est en relation d'exclusion mutuelle avec y, en ce sens que le système
est soit dans l'un de ces états soit dans l'autre, et leur plus proche parent est un
super-état OU.
La théorie développe ensuite la notion de sous-arborescence d'états (Sub-State Tree)
dénoté subST, à distinguer clairement de ST X (l'arborescence d'états enracinée en x) qui
est un sous-arbre d'une ST.
Une sous-arborescence d'états est toujours relative à une arborescence d'états de réfé-
rence, en général dénotée ST. Une sous-arborescence d'états subST de ST est construite
à partir de ST par un processus d'élagage particulier où l'on ne coupe des branches que
sur les super-états OU en prenant soin de ne pas toutes les couper. Le résultat est une nou-
velle arborescence d'états (bien formée) de racine XQ (comme ST) et dont tous les chemins
partant de la racine aboutissent à une feuille (un noeud simple). Cette structure dénote un
sous-ensemble des états du système.
En général, on peut montrer que l'arborescence de référence d'un système ST dénote de
façon compacte l'ensemble des états du même système qu'on aurait obtenu par composition
synchrone. On appelle souvent un modèle obtenu par composition synchrone un modèle
plat, en référence à sa structure horizontale. Dans la figure 2.6, il y a trois composantes (des
super-états OU) dans un super-état ET, le produit synchrone est implicite. L'arborescence
correspondante (figure 2.7) permet aisément d'énumérer toutes les configurations que peut
prendre le système (les combinaisons d'états occupés concurremment par l'ensemble des
composantes). Cette expression de l'espace d'états est plus compacte qu'une énumération
explicite des éléments du produit synchrone. Une ST agit donc comme un symbole pour
dénoter un ensemble d'états d'un modèle plat. Une sous-arborescence d'états subST agit
comme un sous-ensemble des états de ST, l'arborescence des états d'un système.
À l'instar de l'inclusion chez les ensembles, on peut établir une relation d'inclusion
entre arborescences d'états, S7\ < S7'2. On définit aussi ST(ST) l'ensemble des sous-
arborescences d'états qu'on peut former à partir de ST, où 0 G S'T(ST) dénote la sous-
arborescence d'états vide. Alors ST(ST) est similaire à 2Q, où Q est l'ensemble des états
d'un système. On peut démontrer que (ST(ST), <) est un treillis complet lorsqu'on définit
78
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Les holons, dont une illustration schématique est donnée en figure 2.9, sont des struc-
tures de transitions similaires à des AFD. Dans une structure en arborescence d'états les
holons ne sont associés qu'aux super-états OU pour en décrire l'aspect dynamique. Il n'est
pas nécessaire d'associer des holons aux super-états ET puisque dans une arborescence
d'états bien formée, les composantes d'un super-état ET sont aussi des super-états.
Intuitivement, un holon est un AFD partitionné, c'est en fait une forme d'automate
fini puisqu'il n'est pas nécessaire qu'il soit déterministe ; il peut comporter plusieurs états
initiaux. L'ensemble de ses états est partitionné en sous-ensembles d'états externes Xr:, et
internes Xj. On a alors X = XK U A'f et X» n À"/ = 0.
79
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
États simples
L'ensemble des événements d'un holon est aussi partitionné en sous-ensembles d'évé-
nements de frontière E/j (boundaiy events) et d'événements internes E/. La partition en
événements contrôlables et incontrôlables (Ec, E u ) se superpose arbitrairement sur la par-
tition en événements de frontière et événements internes (S/?, E/) ; il n'y a pas de relation
entre les deux. On a alors E u U E/ = E = Ec U E u et E« n E/ = 0 = E c n E u .
Ce partitionnement se reflète sur la fonction de transition partielle du holon S, dont la
figure 2.10 donne un sommaire. Les transitions d'entrée sont données par SB[ (boundary
input transitions) et les transitions de sortie par SBO (boundary output transitions). L'en-
semble Xo des états initiaux du holon ne peut pas être vide et contient tout état interne
formant la cible d'une transition d'entrée dans la structure interne du holon. S'il n'y a au-
cune transition d'entrée, le contenu de A0 est arbitraire, et on définit àBI : XE X T.B —» X0.
Similairement, l'ensemble Xm des états finaux du holon ne peut pas être vide non plus, et
contient tout état interne à l'origine d'une transition de sortie du holon. S'il n'y a aucune
transition de sortie, le contenu de Xm est arbitraire et on définit 5BO : Xm x E B —• XE-
L'intersection de X0 et Xm n'est pas nécessairement vide. Dans lafigure2.10, la structure
interne d'un holon réfère donc aux objets Xi, E/ et St et sa structure externe aux objets
XE, S B et ôB.
80
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
H= (X,Z,6,X0,Xm)
Ea = {0,0,7}
X, T,, = {a,b}
81
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
H= (X,'£,ô,X0,Xn)
6 : X x E -+ X, où ô = S, U ôB, St n 5B = '
<5y : X, x E/ -* À7
Pour assigner les éléments de dynamique locale (holons) aux éléments de la structure
statique (les arborescences d'états), il faut assigner des holons à chaque super-état OU. Il est
évident qu'un état simple n'a pas de dynamique associée, et que la dynamique d'un super-
état ET est entièrement définie par la dynamique de ses composantes ; on ne considère
ici que les ST bien formées. Or la structure arborescente des S7' impose des contraintes
entre les paires de holons assignés à des super-états OU et liés par une relation de filiation
(.7; < y). Dans ce cas, il y a chevauchement entre la structure interne de x et la structure
externe de y. On doit donc définir la relation d'ancêtre OU le plus rapproché (Nearest OR
ancestor), puisque deux super-états OU tels que x < y peuvent être séparés par un nombre
arbitraire de super-états ET. Il faut donc imposer une règle garantissant la superposition
consistante de leurs structures interne (de x) et externe (de y). Cette règle de superposition
prend la forme de la propriété de consistance à l'interface.
Pour deux super-états OU tels que x < y où x est l'ancêtre OU le plus rapproché de
y, deux holons IP = (Xx, E x , Sx, X§, Xxm) et //" = (X», E y . S», XVQ. X»J se superposent
à ./• et y respectivement si et seulement si ils sont consistants à l'interface, c'est-à-dire
qu'ils sont consistants à l'interface quant à leurs états, leurs alphabets et leurs transitions
d'entrée et de sortie (notion détaillée dans [39], pages 38-39). Pour de telles paires de
82
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
super-états OU et de holons (Hr, Tfy) consistants à l'interface, on dit alors que H" détaille
(expands) IIX. Cette notion est illustrée intuitivement à la figure 2.11, où l'on voit que la
structure de y détaille la structure sommaire de x, en ce sens que l'on peut substituer la
version détaillée de y dans la structure sommaire de x sans qu'il n'y ait de contradiction à
l'interface.
83
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
X
x
H: ( C]
( a
\ Q
y M bj
H'
• GH
Substitution
X
C c )L
\ a
)
y
P-*©
FIGURE 2.11 - Superposition de holons ([39] figure 2.17)
84
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
[ 0 autrement.
86
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
pouvait s'y attendre. Aussi, pour que P(G, supC'P(P)) ne soit pas trivial, il faut bien sûr
que P0 < -> [~<P].
Les auteurs démontrent ensuite que pour un prédicat faiblement contrôlable et non blo-
quant P (sous condition que P A Po fi false), il existe une SFBC non bloquante / telle que
P(G', true) = R(G, P), définie par f„ = Ma(P) pour tout a G E f . Avec ce résultat et en
observant qu'un prédicat co-accessible est nécessairement non bloquant, il est clair que si
P est co-accessible et faiblement contrôlable (sous condition que P A P0 fi false), alors il
existe une SFBC non bloquante / pour G, telle que R(Gf true) = R(G, P).
Du côté synthèse, on considère l'ensemble C2V (P) des sous-prédicats de P faiblement
contrôlables et co-accessibles. On trouve que s\ipCsV (P) existe et qu'il est exprimable
comme point fixe de l'équation de récurrence
2. K i + 1 := À'* V ( V r(Â'i,a));
Dans cette équation, N„ doit encoder, sous la forme d'un prédicat, la relation de tran-
sition, c'est-à-dire l'ensemble des transitions possibles sur a G E dans G. On a déjà vu
que l'encodage de la relation de transition est un problème très épineux en vérification
symbolique [26].
On observe que dans une structure en arborescence d'états, a n'apparaîtra que locale-
ment dans les holons Hx qui partagent cet événement. Chaque transition peut être décrite
par son effet local dans le holon Hx. Sommairement, pour un super-état OU x dans une ar-
borescence d'états quelconque S7' où au moins une transition sur a G E peut se produire,
le sous-arbre STf enraciné au noeudx subit une transformation en un autre sous-arbre S T |
sous l'effet de la transition. Ce changement est limité au sous-arbre STX de ST. En posant
88
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
F (ST', a) = ST, on a que B(S7V) est le prédicat dénotant les cibles des transitions sur
a dans ST. Puisque ST' contient nécessairement STf dans sa structure, B(ST') contient
aussi B(ST*) dans sa structure. En substituant B(ST/) dans B(ST') par B(STf ), on ob-
tient B(STi) où ST[ < ST contient toutes les sources de transitions sur a avec cible dans
ST'.
Mais bien sûr pour exprimer «vx = 1 avant l'occurrence de a» et «vx = 2 après l'oc-
currence de a» dans un seul et même prédicat, on ne peut utiliser la même variable vx.
On a donc recours à deux variables liées entre elles : v'x (variable primée) et vx (variable
ordinaire) dénotant respectivement l'état avant et après l'occurrence de a. Ainsi, pour ex-
primer cette transition (appelons la t), où T = ST2 désigne la cible et S = STf désigne
la source, en termes d'un prédicat sur ST(ST), on peut utiliser la conjonction suivante
Nt := B(6,)[vt,s —* v{.s] A B(T). Dans cette conjonction [vt.s —»• vj.s] dénote simple-
ment que l'ensemble des variables ordinaires relatives à t dans .S" sont renommées en leurs
correspondantes primées. La forme de Nt n'est pas tout à fait exacte car on doit aussi tenir
compte du reste de l'arborescence au-dessus de STT jusqu'à la racine. Notons simplement
qu'une version exacte n'est pas difficile à obtenir en complétant le chemin qui mène de x0
à x dans S7\ Par la suite, obtenir N^ consiste à combiner tous les prédicats de transitions
Nt sur a qui peuvent se produire dans G en utilisant des disjonctions (plusieurs transitions
dans un même holon) et des conjonctions (transitions synchronisées entre deux ou plusieurs
holons dans G) entre prédicats, au besoin.
À noter que A^ est un prédicat défini sur les deux ensembles de variables (primées et
ordinaires). Le résultat de la conjonction P A Na est donc un prédicat exprimé sur l'en-
semble des variables primées et ordinaires. Il exprime l'effet d'une progression rétrograde
sur a dans G. Or la quantification sur les BDD a pour effet d'éliminer la variable quantifiée.
Pour un ensemble de variables v = {vi,..., v n }, on a (3v) P = (3v 1 (3v 2 ...(3v n P)...)).
La quantification existentielle élimine donc ici toutes les variables ordinaires du prédicat P
correspondant aux cibles d'une transition sur a. On retrouve donc comme résultat un prédi-
cat exprimant les sources de ces transitions mais exprimées en termes de variables primées.
Ainsi, la dernière opération dans l'expression de Y, [v^ s —• v^g], consiste à renommer les
variables primées en variables ordinaires correspondantes.
En conclusion, on peut noter qu'il est possible de donner un équivalent à ce schéma
89
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
de calcul pour un modèle de composition synchrone (voir [63]). Mais comme en fait foi
la littérature, le calcul de la relation de progression fait souvent appel à des algorithmes
complexes. Aussi, puisque ces techniques ne font usage que d'AFD, l'évaluation exhaustive
de la fonction de transition globale de l'AFD semble inévitable. La relation de transition
Na doit alors tenir compte de l'état de toutes les variables lors d'une transition, ce qui
induit beaucoup de redondance, c'est-à-dire d'expressions du style v'x = v x . Ceci allonge
significativement les calculs et peut induire une grande consommation en espace.
Un modèle de structure en arborescence d'états peut représenter directement un modèle
de composition synchrone (modèle plat) comme dans l'exemple de Small Factory de la
figure 2.6. sans encourir les pénalités bien connues en vérification. Aussi, [39] donne tous
les algorithmes de base, bien que sous forme abstraite, et sans jamais donner de solution
concrète pour l'implémentation par BDD. Plusieurs optimisations aux algorithmes sont
aussi suggérées pour tenir compte de la taille des modèles (prédicats) intermédiaires durant
les calculs. Ces suggestions sont très proches de techniques utilisées en model-checking tel
le concept de saturation [6].
Finalement, le résultat de la synthèse avec les STS est un ensemble de prédicats fa que
l'on peut utiliser pour implémenter une SFBC, avec seul désavantage qu'ils sont exprimés
sous forme de BDD. Ceci suppose un ordinateur d'assez grande puissance pour le contrôle.
Sans compter que le problème de suivre la configuration courante du système (c'est-à-dire
l'arborescence b G B (ST) dans lequel le système se trouve à tout moment) n'est pas très
évidente. Cependant, sur une note plus positive, l'usage d'une SFBC dans cette approche
n'est pas restrictif puisque la description du système incorpore les éléments de mémoire,
par exemple l'usage d'un tampon (BUF) dans le modèle Small Factory.
90
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
91
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Comme mentionné dans [58] la propriété d'observateur est une relation d'équivalence
observationnelle. Et d'après Arnold [3], Péquivalence observationnelle peut se définir
comme la bisimulation modulo 0T ; un critère d'observation. Dans le cas de l'équivalence
observationnelle, l'alphabet (disons T) des deux systèmes est identique et le critère d'ob-
92
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Kl(T°) = To
Alors n G £(X) est une relation d'équivalence sur X et la plus grande autobisimulation
(du système T) induite par K et incluse dans n existe. Alors moyennant que l'on puisse
se ramener à un cas fini, il est possible de la calculer par une variation de l'algorithme de
Fernandez.
On suppose que l'on dispose de
G = (Q,Z,TU{T0}.S,\,<1o,Qrn)
93
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
(VreT)lioEr = AToh
h o =.m = A m o h
pour s. s' G L = Lm, que l'on induit ensuite sur X à l'aide de la bijection / , on peut
vérifier que ker h = Tx^eaiy, ce qui nous ramène au cas fini. Ainsi, lorsqu'on dispose
d'un modèle fini pour (L, 0) (notamment la machine de Mealy G de laquelle on obtient
G et G), la relation d'équivalence correspondant à la plus grande autobisimulation induite
par p G £(Q) et incluse dans p (pour le système dynamique G) correspond à la quasi-
congruence
sur G. Cette quasi-congruence peut être calculée en utilisant une variation approprié de l'al-
gorithme de raffinement de partition de Fernandez. Puisqu'il s'agit d'une relation d'équiva-
lence sur Q, l'algorithme produit une partition de Q comme résultat, et l'on réfère à PG en
tant que tel. L'algorithme de Fernandez doit être adapté, entre autres, pour tenir compte de
l'information de marquage. On trouve le développement formel détaillé de cette adaptation
dans Wong et Wonham [60] et des détails d'implémentation dans Paige et Tarjan [41] et
Fernandez [16].
94
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
n:YxWoU{T0\)-+V(Y):
, x { 9(à„(<rl(<}))), siaGE0;
(y, a) t-> t (2.11)
et H n'est généralement pas déterministe. On peut vérifier que si H est un automate soigné
(section 1.1.3) il en va de même pour H.
95
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
On définit
fjt • Z - > Z, •
indéfinie, autrement
la fonction de correspondance des transitions entre H et H/(E„, p). Donc g, produit l'en-
semble des transitions de H à partir de l'ensemble des transitions de H de la façon suivante.
1. Les transitions de H dont l'événement est inobservable et dont les classes d'équiva-
lence dans Y des états source et cible sont les mêmes, ne sont pas retenues.
2. Parmi les transitions de H projetées, les états source et cible sont remplacés par leur
classe d'équivalence dans Y et le même événement est conservé s'il est observable
(a G E„) ou remplacé par r 0 5 'il n 'est pas observable (a G E — E„).
Aussi, Dgt (%) dénote l'ensemble des transitions de H sur lesquelles gt est définie, c'est-à-
dire
Dgt(Z) := {< G Ts | gt(0 est définie} (2.14)
de sorte que (q, a, q') G % — Dgt(%) si et seulement si a G E 0 et g(q) = g(q'). En clair,
les transitions sur un événement inobservable (au sein de H) qui sont internes à un même
état du quotient, ne sont pas définies dans le quotient.
Soit maintenant G = (Q, E U T , S, q0, Qm) un automate fini obtenu par réétiquetage de
G, une machine de Mealy finie et déterministe représentant ( / , 9) selon les équations 2.4
et 2.3. Soit pG telle que définie par l'équation 2.9 et
96
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Moyennant qu'il soit possible d'induire une technologie de contrôle adéquate dans le
quotient obtenu par l'algorithme de Wong, d'assurer une forme de consistance du contrôle
(section [Link]) et de réunir les conditions pour le contrôle non bloquant (section 2.3.4),
les avantages de cette technique pour la conception de composantes réutilisables semblent
évidents, en particulier pour un contrôle du type SFBC (section 2.5 et section 2.7).
v<<n ^s J Ch si 3
( 7, a | (/ G Qn a G E : % , a)! A % , a) G Q, fi Q,)
S (Qi,T?) := < . .
^ indéfinie autrement.
Il n'est pas nécessaire de se soucier de Ql et Qrm. Il suffit de savoir qu'ils existent et sont
définis dans [29]. L'automate G" est un AFD dont chaque état correspond à une famille
d'états de G, et qui signale toute transition entre deux éléments distincts de la partition -n.
On peut ainsi définir une projection B w : Q x E —* E* U {e} telle que, pour tout q G Qt
et cr G E,
f TJ si S(q,a)\ et S(q,a) G Q, fi Qt
en(q,a) := <
[ e autrement.
Cette projection (illustrée en figure 2.12) peut être implémentée en se servant de G pour
former le générateur de Mealy Ge» = (Q, E, Y7, S, B \ Q 0 , Qm). Il est évident que G e »
génère Qn(L(G)) en sortie et que 9*(L(G)) Ç L(G i r ). Mais puisque n est arbitraire sur
Q, on aura en général une inclusion stricte. En d'autres termes, même s'il était possible de
doter Gn d'une structure de contrôle adéquate, G" ne serait pas hiérarchiquement consis-
tant en général, et il serait à toute fin pratique impossible de l'utiliser pour la synthèse de
contrôleurs.
Les travaux de Caines et Hubbard exposés dans [29] consistent à identifier les condi-
tions sous lesquelles un 7T-AFD du type de Gn peut être doté d'une structure de contrôle et
garantir la propriété de consistance hiérarchique de sorte qu'il puisse éventuellement être
utilisé en synthèse de contrôleurs. Ils utilisent à cette fin un cas particulier de superstruc-
ture cellulaire telle que définie par Schwartz [48] dont la dynamique est représentée par un
Tr-AFDdutypedeG'.
Dans ce qui précède, on peut considérer que la partition n induit (dans G) un ensemble
de sous-automates Gi = (Qi U Q,.eX-, E, Si, Qifi, Qi,e.x) appelés cellules, où
- [Link] = {'i €Q\ Qi I S(q',a) = q,q' G Q,,a G E} est un ensemble d'états cibles
externes à la cellule ;
- d"„ la restriction de S k Q, x E, est la fonction partielle de transition au sein de la
98
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
cellule ;
- QI.Ù — {Q G Qt | S(q', cr) = q,q' G Q,\Q,a G E} est l'ensemble des états d'entrée
dans la cellule.
Encore une fois on peut négliger la présence d'états initial et finaux; les définitions dé-
taillées sont données dans [29]. À chaque élément de la partition Q, G n, correspond une
et une seule cellule Gi-
À l'aide de cette notion de cellule, on peut définir une relation de portée entre deux
cellules et, par extension, entre deux éléments de n. De façon informelle, la cellule G3 est
dite être en portée de la cellule Gl pour i. fi j , et noté (Gi,Gj) si Qifix n Qh0 fi 0, ou
encore si CRç, (Qj.o) fi 0. Par extension on dit alors aussi que Q3 est en portée de Q„ noté
(Qi,Q3).
D'une façon similaire on peut définir deux autres relations de portée. Notamment la
portée incontrôlable,
(Q„Q3)„**Q',oÇCR%(Q3,n),
et la portée contrôlable,
99
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Dans un 7T-AFD, (Ql,QJ)u dénote que peu importe l'état d'entrée dans l'état Q, (q G
Qi,o), on peut toujours atteindre un état de Q3 0 (c'est-à-dire un état adjacent) par une trace
formée uniquement d'événements incontrôlables de G. Tandis que pour pouvoir inhiber
une transition entre Q, et Qf (c'est-à-dire pour que la portée (Qt, Q,)d soit réalisée), il faut
que tous les états de Q% o soient liés à Qj0 et que ces traces soient toutes composées d'au
moins un événement contrôlable de G. Naturellement les portées (Qt, Q3)u et (Qt,Qj)d ne
peuvent pas être réalisées simultanément.
On dit qu'un 7T-AFD G" est consistant quant aux traces (de l'anglais Trace-DC) si,
pour toute paire d'états Qt,Q} G TT, t fi j ,
(Ql,Qj)^(Q,Q3)uy(Qi,QJ)d-
100
CHAPITRE 2. VARIANTES DE LA THÉORIE DU CONTRÔLE SUPERVISÉ
Sans compter que la vérification de la propriété Non-Blocking IBC est coûteuse, cette
propriété n'est pas stable sous la conjonction et la disjonction de partitions dans le treillis
des partitions sur (}, Il y a donc peu d'espoir de trouver des procédures efficaces nous
permettant de synthétiser des partitions possédant les propriétés requises à partir d'une
approximation initiale (par analogie aux procédures de synthèse de SCT).
101
Génération de contrôleurs SCT
102
Chapitre 3
La revue du domaine présentée dans les chapitres 1 et 2 révèle que la théorie du contrôle
supervisé (SCT), bien qu'homogène dans l'ensemble de ses concepts, n'est pas homogène
au niveau de sa présentation théorique. Les concepts fondamentaux dus à Ramadge et Won-
ham [43, 44, 45] (souvent appelé le contexte usuel de SCT) demeurent les mêmes mais il
existe plusieurs variantes de la théorie dont certaines, basées sur un principe architectural de
hiérarchie entre les composantes d'un système, sont qualifiées de variantes hiérarchiques.
Parmi ces variantes hiérarchiques on retrouve notamment :
- le contrôle hiérarchique de Wong et Wonham [55, 58, 59, 60] ;
- le contrôle hiérarchique par interface (HISC) de Leduc, Brandin, Lawford et Won-
ham [35, 38] ;
- le contrôle de STS de Ma et Wonham [39].
On peut également y inclure la notion d'automate partition de Hubard et Caines [29]
présentée à la section 2.8.2. Comme la théorie originale (de Ramadge et Wonham), ces
variantes hiérarchiques possèdent toutes une notion explicite ou implicite de composante
mais, mis à part la théorie du contrôle hiérarchique par interface (HISC), l'emphase n'est
pas mise en général sur la notion de composantes réutilisables.
103
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
104
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
est alors le contexte usuel de SCT. En fait le contrôle par prédicats trouve son expression
la plus intéressante dans la théorie du contrôle de STS de Ma et Wonham. Il n'est donc pas
nécessaire d'en faire une analyse indépendante.
En dernier lieu, on peut considérer que les travaux de Wong et Wonham sur le contrôle
hiérarchique couvrent la notion d'automate partition de Hubbard et Caines à travers la no-
tion d'observateur (voir à ce sujet [60]). Or le support formel et algorithmique pour l'élabo-
ration d'observateurs résultant en un quotient de l'AFD du modèle observé (précisément un
type d'automate partition) est plus précis et plus complet. La notion d'automate partition
de Hubbard et Caines peut donc aussi être exclue de l'analyse.
L'analyse peut donc se confiner à l'ensemble des variantes hiérarchiques de SCT, puis-
qu'elles semblent présenter les caractéristiques les plus adéquates par rapport à l'objectif
global de cette étude.
105
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
Dans le contexte usuel de SCT (celui de Ramadge et Wonham) il existe déjà une notion
intuitive de composante (section 2.1). Le comportement libre d'un système G peut prendre
la forme d'une composition synchrone (compositionparallèle) d'AFD G t , i G { 1 , . . . , n} :
G : = | | G,. (3.1)
Cette expression algébrique exprime l'intuition selon laquelle le système G est constitué de
composantes en fonctionnement parallèle concurrent. Cette notion intuitive de composante
ne suffit-elle pas?
Tout d'abord il devrait être clair que l'ensemble des modèles Gj de l'équation 3.1 ne
correspondent pas à la notion de composante, telle qu'on entend généralement en génie lo-
giciel, mais bien à la notion d'instance de sous-systèmes particuliers. Pour correspondre à la
notion de composante il lui manque une notion adéquate d'instanciation. Dans la situation
envisagée, il s'agit de modèles génériques de générateurs (voir section 1.1.3) dont l'en-
semble des G, constituent alors des instances. Or si les instances de composantes peuvent
106
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
partager des événements, ou s'il existe toute autre forme de dépendance entre elles, la no-
tion d'instanciation devient délicate. Que veut dire alors d'instancier un générateur (que
signifie G, au juste)? Les événements sont-ils partagés entre deux instances d'un même
générateur générique (une composante réutilisable) ? Mais alors qu'en est-il des événe-
ments que partagent deux générateurs génériques distincts (deux composantes réutilisables
distinctes) ?
Si on considère que deux instances d'une même composante réutilisable modélisent
deux dispositifs physiques distincts au sein d'un système, il serait naturel d'imaginer que
ces deux modèles possèdent chacun leur alphabet d'événements et que ces deux alphabets
soient disjoints. Autrement dit deux instances d'une même composante réutilisable défi-
nissent des alphabets disjoints, des espaces d'états disjoints et des fonctions de transition
disjointes, bien que les structures de transition soient isomorphes (aux étiquettes d'événe-
ments et d'états près). On parle alors de composantes disjointes.
Il est aussi difficile d'imaginer que plusieurs composantes réutilisables distinctes (dont
les instances sont appelées à modéliser des dispositifs physiques distincts) puissent partager
des événements, car alors ces composantes réutilisables ne peuvent jamais être instanciées
séparément. On peut dire qu'un tel ensemble de composantes réutilisables constitue en
fait un seul module qui décrit le comportement du matériel à l'aide de plusieurs généra-
teurs partageant une partie ou la totalité de leurs événements. Par conséquent on a plutôt
affaire à une seule composante réutilisable dont le modèle de comportement contient plu-
sieurs générateurs dont les alphabets ne sont pas disjoints. Il est clair que dans ce dernier
cas, puisqu'on doit toujours instancier l'ensemble des générateurs au complet lors d'une
instanciation de la composante, on peut combiner les générateurs en question par compo-
sition synchrone pour obtenir une description unique du comportement de la composante
réutilisable. On peut donc supposer aussi que les définitions de composantes réutilisables,
prises deux à deux, définissent des alphabets disjoints, des espaces d'états disjoints et des
fonctions de transition disjointes.
Une fois munies d'une notion d'instanciation appropriée, il devient possible d'utili-
ser des composantes réutilisables pour exprimer le comportement libre d'un système par
simple composition synchrone d'instances de ces dernières comme à l'équation 3.1. Ce
produit exprime le fait que les sous-systèmes (représentés par des instances de compo-
107
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
santés réutilisables) sont en fonctionnement parallèle concurrent. Puisque les alphabets des
instances sont disjoints on obtient alors un produit intercalé (voir section 1.1.4). Mais pour
formuler cette notion d'instanciation, on doit supposer que les instances sont toutes dis-
jointes deux à deux. Cette limitation est-elle bien raisonnable?
On constate que, dans la pratique, l'usage d'usines modulaires pour implémenter des
procédés industriels est fort répandue. Ce type d'usine est un assemblage de composantes
physiques modulaires (vérins, pinces, étaux entre autres) que l'on peut reconfigurer à vo-
lonté pour s'ajuster à différents procédés de fabrication. Chaque composante physique
d'une usine modulaire dispose de ses propres capteurs et actionneurs. Les capteurs et les ac-
tionneurs sont associés à des entrée/sorties et sont à l'origine des événements perceptibles
(ou générés) par la logique de contrôle. Comme les composantes physiques d'une usine
modulaire ne partagent généralement pas leurs entrées/sorties, ces composantes physiques
peuvent donc être considérées comme disjointes et en fonctionnement parallèle concurrent.
Puisqu'il y a souvent beaucoup de redondance parmi les dispositifs utilisés pour constituer
un système dans ce type d'usine (par exemple plusieurs vérins pneumatiques identiques
quant à leur fonctionnement), l'usage de composantes réutilisables stéréotypées peut repré-
senter une amélioration substantielle pour la modélisation de systèmes. Il est donc raison-
nable de supposer dans cette analyse que les systèmes sont réalisés à partir d'instances dis-
jointes de composantes réutilisables modélisant des sous-systèmes, eux-mêmes disjoints,
comme dans le cas des usines modulaires.
La notion intuitive de module (c'est-à-dire les G,) implicite à l'équation 3.1 est sou-
vent utilisée dans le contexte usuel de SCT. Or cette notion, bien que commode, souligne
plusieurs difficultés relatives à la conception de modèles en SCT, surtout si l'on contemple
l'usage de composantes réutilisables telles qu'esquissées dans ce qui précède. Entre autres,
- l'élaboration de composantes se fait de façon ad hoc ;
- les modules sont conçues en fonction d'un problème de contrôle spécifique.
Dans le contexte usuel de SCT, le processus d'élaboration des modèles n'est ni spécifié ni
supporté de façon formelle par la théorie. Il s'agit donc d'un processus ad hoc complète-
ment ouvert qui pose la question de la validité des modèles obtenus et, par conséquent, met
aussi en question la qualité de la synthèse. On élabore généralement les modèles, corres-
pondant aux différents modules, en fonction du problème de contrôle envisagé, de façon
108
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
109
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
110
CHAPITRE 3. COMPOSANTES REUTILISABLES POUR SCT
ixo
1X1
iXO
deployed
iXl
(b) Modèle du matériel conditionné par programmation
1X0
deployend
111
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
détecter que Pespace d'états défini par les entrées/sorties n'est pas suffisant pour exprimer
tous les états que peut prendre le dispositif. Les événements que peut générer le dispositif
sont liés à des changements du vecteur d'état, c'est-à-dire qu'il s'agit principalement de
fronts montants et descendants des variables du vecteur d'état.
L'établissement d'un comportement désirable (phase (2)) vise à identifier l'ensemble
des services que doit procurer le dispositif et les modalités de ces services (par exemple
si oui ou non une requête de service peut résulter en un échec). On vise en particulier à
éliminer toute instabilité dans le modèle de lafigure3.1 (a) en éliminant l'effet de l'inertie
dans le dispositif résultant d'un usage chaotique de la commande.
Dans lafigure3.1 (a), le modèle brut, certaines transitions sont identifiées en pointillé.
Ces transitions sont liées à un usage chaotique de la commande du vérin c'est-à-dire que
si la commande n'est pas d'avance soumise à un certain schéma d'usage ordonné, toutes
ces transitions sont possibles dues à l'inertie du vérin. L'effet de l'inertie doit généralement
être éliminé par programmation (pré-conditionnement du modèle brut) et par validation du
modèle résultant car, par la définition de la contrôlabilité, toutes les transitions sur événe-
ments incontrôlables du modèle brut sont préservées par la synthèse SCT. Alors, même s'il
était possible d'éliminer l'effet de l'inertie par calcul d'une loi de contrôle correspondant
à une synthèse SCT, le modèle théorique du système en boucle fermée (voir section 1.3.2)
résultant de la synthèse contiendrait toujours ces transitions parasites et ne serait donc pas
fidèle à la réalité (puisque l'effet de l'inertie ajustement été éliminé).
L'élaboration du modèle exhaustif final (phase (3)) ne vise qu'à rendre le modèle plus
expressif, par exemple en changeant l'étiquette des événements, ou à en rendre l'expres-
sion plus économique, par exemple en remplaçant les signatures des états par des numéros.
Il ne s'agit que d'un réétiquetage, on forme donc des alias. On a alors que l'événement
[Link] devient équivalent à la commande de déploiement du vérin qui consiste à cau-
ser l'occurrence de l'événement îY, que deployf.„d correspond à l'occurrence d'un front
montant du capteur XI (îXl) ou encore que l'état «0» correspond à la formule logique
F0 = Y A XO A XL
112
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
113
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
composantes apparaît donc plus clairement dans la deuxième phase, puisqu'alors on dis-
pose déjà d'un modèle exhaustif formel du dispositif à contrôler. L'usage d'un support for-
mel pour l'abstraction d'interfaces présente l'avantage de confiner l'élément d'arbitraire,
inévitable dans l'abstraction du comportement d'un dispositif physique, à l'élaboration du
modèle exhaustif. Toutes les interfaces dérivées de ce modèle exhaustif jouissent alors de
certaines garanties formelles, ce qui limite l'incertitude et permet d'amortir l'effort investi
dans le modèle exhaustif.
Dans ce genre de processus d'élaboration de composantes en deux phases (modèle +
abstraction), on peut même envisager que la phase d'abstraction puisse être répétée le
long de Y axe vertical. Par exemple, on peut associer un ensemble de composantes (vérins
et ventouse pneumatique) en un sous-système formant une grue, pour ensuite abstraire
le comportement de cette grue en une interface appropriée plus naturelle à utiliser dans
un problème de contrôle impliquant l'usage d'une grue. Une telle manoeuvre implique un
genre de synthèse partielle sur le sous-ensemble des composantes utilisées pour obtenir une
loi de contrôle locale correspondant au comportement d'une grue. Cette loi de contrôle est
obtenue par application d'un ensemble de requis de contrôle dont la portée est purement
locale, ayant préséance sur tout autre requis de contrôle en provenance du système global.
Le système global contrôle donc une grue et non pas un ensemble amorphe constitué de
vérins et d'une ventouse pneumatique. Ce type d'abstraction situe les requis de contrôle le
plus près possible de l'endroit où ils s'appliquent (un type de modularisation des requis de
contrôle) et procure à la conception une perspective plus significative des dispositifs et des
sous-systèmes à contrôler (ce qui peut aider dans la formulation des requis).
114
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
115
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
G := || G,
G •-= || G,
116
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
117
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
ils sont souvent de nature variable. Pour véritablement tenir compte de critères d'optima-
lité de nature pragmatique, il faudrait sans doute faire intervenir des fonctions de coût (voir
à cet effet [28]). Il existe de nombreux cas où l'expression et l'encapsulation de requis
de contrôle de portée locale (par exemple l'usage d'un vérin et d'une ventouse pneuma-
tique encapsulés pour procurer le comportement d'une grue) clarifient l'expression d"un
problème de contrôle et de ses requis au niveau global. Une encapsulation opaque du type
offert par le contrôle hiérarchique peut même réduire significativement la complexité de la
synthèse, entre autres avantages. Aussi, lorsque l'encapsulation opaque procure des béné-
fices appréciables sans trop hypothéquer la synthèse, il peut être admissible de l'utiliser.
Mais c'est là, bien sûr, où intervient le jugement d'un concepteur de composantes réutili-
sables.
De ce qui précède on peut déjà dégager un ensemble critères utiles pour la recherche
d'une métaphore de composantes réutilisables.
Cl. On vise à identifier les éléments de modularisation permettant de supporter une mé-
taphore de composante réutilisable du type modèle + abstraction.
C2. La méthode d'abstraction peut utiliser une forme d'encapsulation opaque ou ouverte,
mais elle doit procurer une forme de consistance afin de garantir qu'une synthèse
contrôlable et non bloquante sur le modèle abstrait puisse être implémentée sur le
modèle concret (par une loi de contrôle appropriée).
C3. On vise à identifier la possibilité de disposer d'un support formel pour la dérivation
d'interfaces (Yabstraction).
C4. Il est désirable que le processus d'abstraction puisse être répété sur l'axe vertical de
manière à encapsuler des requis de contrôle de portée locale.
C5. On vise à identifier la disponibilité de procédures de synthèse adaptées (ou du moins
adaptables) à l'usage de composantes réutilisables.
C6. On vise à examiner la possibilité d'utiliser les méthodes symboliques (section 2.6)
dans les calculs de synthèse.
118
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
L'usage des méthodes symboliques pour la synthèse n'est pas un préalable à l'usage (ou à
la définition) d'une métaphore de composantes réutilisables, mais il peut s'avérer utile pour
considérer la synthèse sur des systèmes d'envergure réaliste (voir Zhang et Wonham [64]
et Ma et Wonham [39]).
Aussi, les limitations suivantes semblent raisonnables et utiles pour l'analyse.
Ll. On peut considérer a priori que les composantes d'un système (au sens de sous-
systèmes comme dans le contexte usuel de SCT) sont disjointes (cas des usines mo-
dulaires).
L2. On peut considérer des formes d'encapsulation opaques même si cela entraîne a
priori une certaine perte d'optimalité de la synthèse (selon les critères de SCT).
L3. On peut se limiter à des solutions de synthèse monolithiques, c'est-à-dire que l'ar-
chitecture de contrôle est centralisée.
Une fois de plus la synthèse monolithique (par opposition à la synthèse modulaire ou dis-
tribuée, voir la section 2.1 par exemple) n'est pas un préalable à l'usage (ou à la définition)
d'une métaphore de composantes réutilisables, mais cette limitation semble raisonnable vu
l'envergure déjà considérable de la tâche.
119
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
120
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
qu'une telle situation se présente peut sembler très faible. Cette hypothèse est cependant
inadéquate puisqu'il y a parallélisme effectif des dispositifs élémentaires dans l'usine et
ainsi le délai entre l'occurrence de deux événements se produisant dans deux dispositifs
indépendants dans l'usine est arbitrairement court.
Par opposition, pour une loi de contrôle du type SFBC, bien que la rétroaction dépende
aussi de l'état courant du système, celui-ci peut alors être modélisé comme un ensemble
de dispositifs élémentaires correspondant aux dispositifs physiques de l'usine. Or au sein
d'un dispositif élémentaire tel qu'un vérin par exemple, il n'y a pas de parallélisme. Les
événements s'y produisent l'un après l'autre selon le modèle de comportement (AFD ou
autre structure de transition) du dispositif. On peut donc en général suivre l'évolution du
système (c'est-à-dire calculer son état global) de façon fiable en calculant l'évolution de
chacun de ses dispositifs élémentaires. On peut réaliser ce calcul de deux façons.
Un premier scénario consiste à associer à chaque état des modèles des dispositifs élé-
mentaires une signature, c'est-à-dire une formule logique basée sur l'état de ses entrées et
sorties (capteurs, actionneurs et éventuellement aussi d'éléments de mémoire qui lui sont
assignés en exclusivité). Chaque dispositif élémentaire dispose alors d'un vecteur d'état et
l'évaluation de son état courant se fait par évaluation directe de formules logiques (voir
[8]). Dans ce cas il n'y a pas de réserve quant à la durée du cycle de rétroaction. L'infor-
mation d'état calculée est la meilleure que l'on puisse espérer en pareilles circonstances
et, bien que l'évaluation des formules logiques puisse s'avérer onéreuse en temps, cette
situation est comparable à une solution programmée de façon traditionnelle (par grafcets
par exemple). La seule réserve concerne la génération automatique de l'implémentation
qui peut s'avérer complexe et requérir beaucoup de support au niveau de la confection des
modèles des dispositifs élémentaires à cause, entre autres, de la nécessité de déterminer les
signatures logiques.
Un deuxième scénario consiste à tenir à jour un modèle mémoire interne (dans la mé-
moire de l'automate programmable) de l'évolution de chaque dispositif élémentaire et à
suivre cette évolution à travers les événements perçus à chaque cycle d'acquisition (voir
[52]). Dans ce cas la taille de la mémoire requise (dans l'automate programmable) n'est
habituellement pas prohibitive puisqu'en général ces modèles sont assez simples. Aussi la
seule hypothèse requise est que le cycle de rétroaction soit suffisamment court pour en-
121
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
registrer de façon fiable l'occurrence de chaque événement. Puisque qu'il n'y a pas de
parallélisme et que le temps de réaction d'un dispositif physique est en général beaucoup
plus long que le cycle de rétroaction d'un automate programmable, cette hypothèse devient
alors raisonnable.
Ces deux scénarios d'implémentation sont viables mais il y a une difficulté supplé-
mentaire. Contrairement à un superviseur adéquat, une SFBC telle que définie dans la
section 2.5 n'a pas de mémoire c'est-à-dire que son contrôle ne peut pas varier selon l'his-
torique de fonctionnement du procédé ; c'est une limitation sévère. Dans un système ob-
tenu par produit intercalé de sous-systèmes indépendants, l'AFD de la boucle fermée du
système sous le contrôle d'une SFBC est un sous-automate de l'AFD de comportement
libre du système (voir [32], remarque 3.1). Par opposition, l'AFD d'un superviseur adé-
quat est souvent plus riche car il peut contenir plusieurs instances du fonctionnement de
certains sous-systèmes. Bref, dans le cas général, un superviseur adéquat contient impli-
citement une mémoire intégrée qui lui permet par exemple de compter le nombre de fois
qu'un certain sous-système a accompli une certaine tâche.
Ainsi, pour pouvoir implémenter un superviseur adéquat en suivant l'un des deux scé-
narios exposés précédemment, il faudrait disposer d'une représentation de sa mémoire.
Pour la mémoire, puisqu'il s'agit de toute évidence d'un modèle interne à l'élément de
contrôle (un PLC par exemple), l'implémentation devrait suivre le deuxième scénario. Or
le problème de dériver automatiquement un modèle (par exemple un AFD) pour cette mé-
moire (par exemple à partir d'un superviseur adéquat) ne semble jamais avoir été abordé
dans la littérature sur SCT. De toute façon ce problème est probablement NP-difficile puis-
qu'il implique nécessairement la minimisation du superviseur adéquat (de l'anglais Super-
visor Réduction) qui est un problème que l'on sait être NP-difficile (voir [53]).
La situation n'est cependant pas complètement désespérée puisqu'il existe un type de
SFBC, appelé DSFBC (de l'anglais pour Dynamic State FeedBack Control), qui incorpore
une notion de mémoire (voir [62]) et qui permet de modéliser les mêmes problèmes de
contrôle que ceux modélises dans le contexte usuel de SCT. Le contrôle de STS de Ma
et Wonham [39] est un exemple de synthèse de DSFBC où on modélisé les éléments de
mémoire de façon explicite dans le modèle du problème de contrôle en tant que contraintes
(les requis du contrôle). Ainsi, en modélisant explicitement la mémoire dans le problème
122
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
de contrôle sous forme de contraintes et en utilisant une procédure de synthèse dont le ré-
sultat est une SFBC (donc on obtient une DSFBC), on peut envisager l'implémentation de
la solution de contrôle par l'usage des deux scénarios illustrés précédemment. On modé-
lisé l'ensemble des dispositifs physiques élémentaires (Yéquipement) à l'aide de l'un des
deux scénarios, et on modélisé la mémoire en utilisant le deuxième scénario. L'état courant
combiné de Y équipement et de la mémoire détermine alors l'état courant du procédé.
En plus des limitations énumérées à la section précédente on peut ajouter les suivantes
qui semblent aussi raisonnables.
L4. On peut se limiter à des solutions de synthèse procurant une loi de contrôle de type
SFBC.
L5. On peut supposer, pour les considérations de la génération de code, que la machine
cible est un automate programmable.
L6. On exclut toute forme de calcul en ligne de la rétroaction, le contrôleur est synthé-
tisé et calculé hors ligne (c'est-à-dire que le contrôleur est un programme compilé
d'avance et téléchargé dans un automate programmable).
Les critères d'analyse suivants semblent aussi pertinents.
C7. On vise à identifier des procédures de synthèse dont le résultat permet de dériver une
loi de contrôle de type SFBC.
C8. On doit porter une attention particulière au support requis pour générer automatique-
ment l'implémentation du contrôleur correspondant à la loi de contrôle obtenue par
synthèse.
123
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
de leurs solutions suivant les concepts de SCT. La notation, similaire à celle utilisée pour
les statecharts de Harel et Politi (voir [27]), est particulièrement claire et concise. Elle ex-
prime élégamment les structures hiérarchiques dans les problèmes de contrôle ainsi que les
relations de parallélisme. 11 reste encore cependant à identifier s'il est possible de l'allier à
une métaphore de composantes réutilisables.
124
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
que l'on peut aborder correspond à des situations plus réalistes (voir [63] et [39] entre
autres). En plus la théorie fait usage d'une notion de contrôlabilité dite faible, moins exi-
geante que la propriété de contrôlabilité établie pour le modèle avec prédicats (dans [62]).
En conséquence la complexité des calculs de synthèse s'en trouve significativement réduite
(voir section 2.7.2).
Aussi, comme on peut le constater dans les exemples fournis dans [39] (en section
4, 5 et 6), le formalisme de modélisation favorise la modélisation explicite d'éléments de
mémoire pour modéliser des contraintes dans les problèmes de contrôle. La spécification
des requis de contrôle se fait alors en énumérant les familles d'états prohibées (les états
du système global que la solution contrôlable doit éviter ; des prédicats). Cette forme de
spécification offre une plus grande clarté par rapport à la forme utilisant des AFD pour
spécifier un langage légal (forme utilisée dans le contexte usuel de SCT). Comparée à la
spécification d'un langage légal, la spécification par évitement de familles d'états prohibés
est beaucoup plus simple à utiliser et offre même la possibilité d'introduire une notion de
traçabilité des requis de contrôle.
Finalement, la modélisation explicite d'éléments de mémoire pour modéliser des con-
traintes dans les problèmes de contrôle rend le contrôle de STS capable d'aborder une
classe de problèmes de contrôle comparable à ce que le contexte usuel de SCT peut ré-
soudre (voir [62]). La loi de contrôle obtenue par synthèse est en fait une SFBC dynamique
(DSFBC). Le contrôle de STS offre ainsi le potentiel d'une implémentation élégante et
fiable le long des principes discutés en section 3.1.3.
125
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
d'un ensemble de sous-modules dénotés G y , des sous-STS dont l'espace des états est ST"
(voir [39] pour une définition formelle). La dynamique de ces modules est définie par un
ensemble de holons assignés à chacun de leurs super-états OU, un et un seul holon par
super-état OU, les états simples n'ayant aucune dynamique et la dynamique des super-états
ET étant complètement déterminée par l'ensemble des super-états OU qu'ils agrègent (di-
rectement ou indirectement) en tant que composantes ET. Le holon constitue donc aussi
une unité de modularisation en contrôle de STS, une modularisation des comportements. 11
faut identifier lesquelles de ces unités de modularisation peuvent supporter une notion de
composante réutilisable et comment.
Pour reprendre le scénario hypothétique de la section [Link], on peut imaginer par ex-
emple que le modèle du vérin donné enfigure3.1 (c) soit utilisé pour former une description
d'interface similaire à celle de lafigure3.2 (a). Cette description d'interface est alors gé-
nérique et peut être instanciée au sein d'un modèle pour une grue comme en figure 3.3. On
peut bien sûr imaginer des mécanismes d'instanciation plus flexibles permettant de para-
métrer les étiquettes d'états, d'événements ainsi que le nom du STS pour réduire le nombre
d'interfaces d'une composante réutilisable, mais ce ne sont là que des considérations cos-
métiques au problème.
En poursuivant 1 ' analogie de la programmation par obj ets introduite en section [Link],
le modèle du système Grue définit donc deux composantes Flèchel et Pincel, des va-
riables, dont le type correspond respectivement aux classes Flèche et Pince des stéréotypes
de STS génériques. Au moment de l'exécution du système Grue chacune de ces compo-
santes est associée à un dispositif (ou sous-système) physique correspondant à la classe,
d'où les notions d'instance et d'instanciation. Les composantes sont considérées en fonc-
tionnement parallèle concurrent d'où l'usage d'un super-état ET pour modéliser le système
Grue. Les composantes sont considérées disjointes (elles ne partagent pas d'événement).
On peut imaginer l'usage de noms qualifiés, pour obtenir cet effet. On a alors que (au niveau
global) la composante [Link]èchel génère l'événement [Link]è[Link] . La tech-
nique, bien que lourde, procure l'effet désiré. Ce schéma n'est que conceptuel, le principe
est de distinguer les éléments internes de plusieurs composantes entre eux.
On peut ensuite procéder à une spécification (figure 3.4) et opérer une synthèse pour
obtenir le comportement contrôlé illustré enfigure3.5.
126
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
Flèche
[x] Pince 1
1X0
right
*\ l
) T2/— endrjgh, grab
•HT1 /^ e « ^ g r o *
ï(0J m C3/ 3 ( 0 ) 00
endief, V5 left endris ~HT 3 / *T r/s
1X1
- (b)
(a)
127
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
u y 1 U 3 0 3 3 1
Flèche 1 Pince 1
5 U4
(d) ST4
La spécification, illustrée en figure 3.4, définit un ensemble d'états prohibés ; des états
que la grue doit éviter au cours de son fonctionnement. Elle est composée des quatre
contraintes suivantes :
(a) Laflècheet la pince ne peuvent pas être en fonctionnement simultanément.
(b) La grue ne peut pas déposer de pièce à la position d'entrée (flèche à gauche, état 0).
(c) La grue ne peut pas saisir de pièce à la position de sortie (flèche à droite, état 3).
(d) Une fois saisie une pièce à la position d'entrée, la grue doit nécessairement aller la
déposer à la position de sortie.
La grue ne fonctionne donc que dans un sens, elle transporte des pièces de la position
d'entrée à la position de sortie. Cependant elle peut osciller, à vide, entre les deux positions.
La figure 3.5 développe le produit des deux composantes en mode contrôlé. Plusieurs
détails ont été escamotés pour ne pas alourdir la présentation. Entre autres on n'y fait pas
usage de noms qualifiés, estimant le contexte suffisamment clair.
Dans la figure 3.5 on voit que certains holons, par exemple xi et x2, ont été créés de
toutes pièces. Comme on peut le voir dans lafigure3.6 les holons Xi etx2 de la grue ne sont
128
CHAPITRE 3. COMPOSANTES REUTILISABLES POUR SCT
Grue 1
= x
1 (?li 92) € Qdrue = Qrieche Ql'mce
2
I
r ixo
.—4»@p (Q-~
endngh,N.
*2
right / : 1x0
n
T 8
'^(iÔvire^ab ^Jn^ ~%^h~~ endngi,,
4i (Q (3f M
4/1
end,eft- __ _^^^left
; 1X1
129
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
130
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
131
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
132
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
parallélisme,,
autre
A H-U.
T2
o\
vérin-seq
venn x spec
spec (a,0)
endieft
endiejt
right
< a '°1—^0,1))
endieft
133
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
général.
Le concept de holon ne semble donc pas être un élément de modularité adapté à l'ex-
pression de composantes réutilisables en contrôle de STS. La versatilité des holons et la
forme compacte des modèles de STS les rendent toujours très attrayants comme notation
pour l'expression de problèmes de contrôle. Mais le mode d'usage des holons, en tant que
spécification d'instances de comportement d'un dispositif au sein d'un système, les rend
plus similaires et mieux adaptés à la réalisation d'un outil de conception (par exemple au
sein d'une interface graphique) qu'à la spécification de composantes génériques réutili-
sables.
Ceci semble limiter la métaphore possible pour des composantes réutilisables en con-
trôle de STS à des STS génériques en mode fondamental. On peut définir la notion de STS
en mode fondamental comme un STS dont l'ensemble des holons H ne contient qu'un et
un seul élément, dont la structure externe est vide, qui est superposé à la racine du STS r 0 ,
un super-état OU. Un STS en mode fondamental est alors directement associé au modèle
exhaustif d'une composante (exemple enfigure3.1) dont l'AFD constitue le holon. Un STS
en mode fondamental peut être considéré comme représentant le modèle générique d'une
composante réutilisable. Une telle composante réutilisable ne peut être instanciée que dans
un système formé d'un seul super-état ET à la racine dont les cellules (ses composantes ET)
sont alors des instances de STS en mode fondamental. Un système défini de cette façon
correspond à ce que l'on appelle un modèle plat (composition synchrones de composantes
pour définir le comportement libre) comme dans le contexte usuel de SCT.
Une question légitime à ce point est de se demander si l'on ne perd pas plus que l'on ne
gagne, après tout vaut-il la peine de sacrifier la puissance d'expression des modèles de STS
pour n'y gagner qu'une vague notion de composante réutilisable ? On trouve une réponse
plus complète à cette question dans les sections et chapitres subséquents, mais on peut déjà
faire remarquer ce qui suit.
Premièrement, il n'est pas ici question de sacrifier quoi que ce soit. Le modèle de
système plat obtenu par instanciation de STS en mode fondamental (des composantes dis-
jointes) n'est que l'expression du comportement libre du système. On doit encore y insérer
les requis de contrôle qui doivent alors être représentés par des modèles de la mémoire
agissant comme des contraintes ou spécifications du contrôle. Rien n'empêche durant ce
134
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
135
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
Troisièmement, on peut mentionner que s'il est possible d'élaborer des spécifications
d'interfaces opaques de composantes réutilisables sous forme d'AFD par exemple, le mo-
dèle de STS en forme fondamental en tant que composantes réutilisables pourrait procurer
un moyen de profiter des autres avantages de la théorie du contrôle de STS. On pourrait
notamment profiter d'une approche par prédicats, d'une synthèse symbolique et d'un ré-
sultat de synthèse sous forme d'une SFBC tout en utilisant des composantes réutilisables
opaques en provenance d'autres variantes de SCT mais compatibles avec un usage dans un
modèle de STS. Cette avenue n'est pas non plus à négliger.
136
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
jusqu'à un certain point, être répétée sur l'axe vertical (critère C4) puisque l'exemple de
la grue (figure 3.5) prouve qu'à partir de la composition d'instances de STS en mode fon-
damental, on peut obtenir d'autres modèles de STS en mode fondamental, donc d'autres
composantes réutilisables.
Les procédures de synthèse sont déjà parfaitement adéquates pour des systèmes com-
posés d'instances de STS en mode fondamental en fonctionnement en parallèle concurrent
(critère C5). L'adjonction de spécifications utilisant le modèle préconisé dans la théorie
(modélisation explicite de la mémoire) ainsi qu'une structuration hiérarchique éventuelle-
ment plus poussée du modèle initial (plat) ne présentent pas de problèmes supplémentaires
en synthèse tant que les règles de modélisation des STS sont respectées.
Quant au critère C8 (support à l'implémentation), la modélisation explicite de la mé-
moire pour la spécification des requis de contrôle présente un avantage marqué pour l'im-
plémentation d'une SFBC le long des lignes exposées en section 3.1.3. La structuration
de Pespace des états dans les modèles de STS repose sur un principe d'agrégation hiérar-
chique. En conséquence chaque état du système hiérarchisé correspondant à un élément de
ST correspond à un élément d'une partition de Pespace des états du modèle du système
plat. L'ensemble des prédicats résultant de la synthèse exprime des fonctions caractéris-
tiques sur cet espace des états du système plat. Cette structuration de l'espace des états et
de la structure des prédicats présente aussi un avantage pour l'implémentation d'une SFBC
le long des lignes exposées en section 3.1.3. La seule ombre au tableau est que le résultat de
synthèse est un ensemble de prédicats sous forme de BDD dont on doit extraire éventuelle-
ment une forme utilisable dans un PLC ce qui peut représenter une difficulté substantielle.
137
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
138
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
d'une synthèse dans le bas niveau. Une synthèse dans le système de haut niveau ne fait
intervenir que le modèle du comportement libre du système de haut niveau, l'ensemble des
modèles des interfaces et l'objectif de contrôle ou la spécification de contrôle du système
de haut niveau (tous des AFD). Une synthèse dans un des systèmes de bas niveau ne fait
intervenir qu'un modèle du comportement libre du système de bas niveau, la définition de
son interface et éventuellement sa spécification de contrôle.
L'innovation dans les procédures de synthèse, par rapport aux procédures correspon-
dantes de SCT, consiste à incorporer la notion de consistance à l'interface comme contrain-
te supplémentaire dans les calculs de synthèse. Cette innovation n'a pas de conséquence
majeure quant à la complexité des calculs (temps et espace polynomial). Cependant, en
conséquence d'une encapsulation opaque, on y perd bien sûr Yoptimalité (au sens théo-
rique donné par SCT) de la solution. À noter cependant qu'on y gagne au niveau de la
complexité globale de la synthèse car, en admettant effectivement que tous les systèmes
font l'objet d'une spécification de contrôle lors de l'élaboration d'un problème de contrôle,
la synthèse se décompose alors en n + 1 synthèses. L'ensemble de ces synthèses s'avère
moins complexe qu'une synthèse globale dû à la réduction de Pespace des états qui croît
de façon exponentielle avec le nombre de modèles (AFD) impliqués dans une synthèse.
Dans le cas d'une conception de problème de contrôle par composantes réutilisables,
le gain potentiel est encore plus grand en ce sens que l'effort est étalé dans le temps.
Les composantes réutilisées sont déjà munies d'interfaces et elles ont déjà, le cas échéant,
fait l'objet d'une synthèse. Alors il ne reste plus qu'à instancier les sous-systèmes (les
serveurs) à partir de leur modèles génériques, spécifier les requis de contrôle du système
ainsi composé (le système de haut niveau) et opérer une synthèse (c'est-à-dire une synthèse
dans le système de haut niveau seulement). Dans le cas d'une conception par composantes
réutilisables, la réutilisation d'un modèle générique pour instancier un sous-système de bas
niveau sous-entend la réutilisation de sa spécification de contrôle.
Finalement, des procédures de synthèse utilisant des BDD (ou compatibles avec leur
usage) ont été élaborées (voir [36]). Ces procédures procurent une solution de synthèse
sous forme d'une SFBC sur Pespace des états d'un superviseur adéquat. Song [52] élabore
aussi un mécanisme crédible d'implémentation d'une telle solution.
139
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
140
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
On observe que ce système de haut niveau est vide en ce sens qu'il n'a pas de dynamique
141
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
142
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
raît alors comme le comportement contrôlé du sous-système qu'il contient. Pour le système
de haut niveau, ce comportement apparaît comme le comportement libre de l'interface de
son sous-système, /v m (G/), un comportement localement contrôlable et localement non
bloquant (localement au système de haut niveau).
Qu'arrive-t-il maintenant si on compose u instances de ce genre de composantes ? On
a un ensemble d'instances (GL , Gj ) 0 € {1,.... n}) obtenues de descriptions génériques
habituellement diverses mais où deux instances (ou plus) peuvent provenir de la même
description générique.
Chaque instance de composante réutilisable ( G ^ . G / J définit implicitement un en-
semble de trois modules du système de haut niveau, Gn3 := GPH || S//,, comme mentionné
précédemment. Pour une instance (GL,- G/ ) ces trois modules sont définis sur l'alphabet
E/ où pour j fi k (y. k G {1,. n}) E/., et E/fc sont disjoints. Il en résulte pour le système
de haut niveau trois générateurs
Gp il cP
H •- II W ,
je{i M
SH '•— || SHJ
;e{i ,u}
G« := || G//,
3€{1 ,n}
E/:= U *',
?e{i ,n}
de l'ensemble des interfaces d'instance. De toute évidence un tel système de haut niveau n'a
pas de dynamique propre, c'est-à-dire Lm (GH) — L(Gn) = M G # ) = L(SH) = E}, ainsi
E;/ = 0 et encore une fois H = P]~^(L(Gn)) = Pf^CE}) -- E*. On a aussi que 7ï m =
Pff](Lm(Gii)) = /^"//(EJ) = E*. Le système de haut niveau n'ayant aucune dynamique
propre, il est nécessairement consistant à chacune des interfaces individuellement (voir [9]
en section 3 pour une définition précise).
À ce point il est instructif de considérer maintenant la forme plane du système global
143
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
Or L(GVH) = L(Sn) = S ; et chacun des produits G£, || ... || GpLn et SLl || ... || SL„-
donne un résultat dans T,}L où S//, est donné par
E/i:= U (^ÙS0
,/€{l,....7l}
et contient E/. De plus le produit Gj1 || ... || Gf„ est défini sur S/. Ainsi les expressions
du comportement libre et du superviseur se simplifient comme suit
Plant = ^ || ... || G t ,
Sup = S Ll || ... || S i n || G,t || ... || G,,,
Chacun des produits (GPL || St, || G/ ( ) définit un générateur disjoint de tous les autres.
Par conception de la composante réutilisable dont il est une instance, chaque générateur
est consistant à son interface et localement contrôlable et non bloquant. Cette situation est
analogue à la composition modulaire de sous-systèmes dans le contexte usuel de SCT où
l'expression du comportement libre du système global se résume au produit synchrone du
comportement libre de ses composantes.
À ce système, il ne reste plus qu'à définir un objectif de contrôle Eu (implicitement un
sous-langage de T,}) et à lui appliquer les procédures de synthèse (pour un système de haut
niveau) de [36] pour obtenir une solution.
Cette définition de composantes réutilisables pour HISC présume que le système de
haut niveau n'est en fait constitué que de la dynamique des interfaces HISC des sous-
144
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
systèmes qui le composent. Autrement dit E/y = 0 dans le contexte HISC. Cette restriction
peut sembler curieuse, mais elle cadre bien avec la définition intuitive d'un système com-
posé de dispositifs physiques considérés en fonctionnement parallèle concurrent comme
c'est le cas dans les usines modulaires. En effet si on définit un système de haut niveau non
vide à l'origine, E» fi 0, il doit nécessairement être constitué d'un certain nombre d'ins-
tances de modèles génériques tels que l'on a vu précédemment. Appelons cet ensemble de
sous-systèmes l'ensemble fondamental. Alors il n'y a pas de perte de généralité à poser
un système de haut niveau vide et à y incorporer l'ensemble des instances de composantes
réutilisables constituant l'ensemble fondamental en plus des autres sous-systèmes devant
constituer le système global. Tout au plus, on doit incorporer au modèle global l'ensemble
des contraintes s'appliquant à l'ensemble fondamental et procurant son comportement ori-
ginal en tant que système de haut niveau.
145
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
146
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
mentionné dans [56] le calcul d'une projection naturelle pour un modèle d'AFD donné est
en général de complexité exponentielle et donne souvent une structure de transition dont
l'espace d'états est plus volumineux que l'AFD original. Aussi la modélisation d'interface
HISC doit souvent faire appel à des heuristiques (illustré enfigure3.8).
La figure 3.8 illustre la confection d'une interface en paires requête-réponse pour une
perceuse. La perceuse coordonne trois machines : un moteur électrique, un étau et un patin.
L'ensemble admet une mesure de parallélisme entre le démarrage du moteur et le serrage
d'une pièce à percer et aussi au desserrage et à l'arrêt du moteur, autrement le processus est
séquentiel. Au niveau du système il n'est pas nécessaire de suivre toutes les étapes, seules
la commande de démarrage et la notification d'arrêt sont nécessaires. Or en présence de
parallélisme il est très difficile de trouver une projection naturelle ayant la forme d'une
interface HISC (une ou plusieurs paires requête-réponse en séquence). La solution souvent
adoptée (voir l'exemple de modélisation AIP dans [37, 34] entre autres) est de séquentiali-
ser toutes les opérations. Une autre heuristique souvent utilisée est illustrée dans l'exemple
de la perceuse. Ici elle permet d'encapsuler le parallélisme entre l'étau et le démarrage et
l'arrêt du moteur. On y définit une machinefictiveau seul but d'introduire des événements
synthétiques (qui n'existent que dans le contexte du sous-système perceuse). La spécifica-
tion de contrôle incorpore ces événements pour définir le début et la fin de la séquence de
perçage et, comme ces événements sont synthétiques, ils apparaissent à point nommé pour
que l'on puisse définir la projection naturelle correspondant à la structure de l'interface.
Notez qu'il est nécessaire que l'événement d'arrêt (l'événement de réponse dans l'inter-
face) soit contrôlable. C'est une condition nécessaire pour obtenir une projection naturelle
qui correspond à l'interface de lafigure3.8.
L'usage d'artefacts de modélisation tels que les événements synthétiques est sûrement
commode pour en arriver à une spécification d'interface. Elle constitue à la fois une façon
d'étendre le répertoire d'événements d'une composante (réouverture de la composante une
fois constituée) et une façon acceptable de limiter la liberté de modélisation sous forme
d'heuristiques disciplinées.
Les sous-systèmes HISC ont cependant une caractéristique fâcheuse. Il n'est pas pos-
sible de gérer dans un sous-système un événement incontrôlable pouvant se produire de
façon asynchrone n'importe quand. Un tel événement ne peut pas constituer un événement
147
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
de réponse dans l'interface puisqu'il peut se produire pendant l'exécution d'une requête et
qu'en général il ne termine pas la requête, la discipline d'interface est alors violée. Si le
résultat de l'occurrence d'un tel événement doit être visible au haut niveau, l'heuristique
des événements synthétiques est alors utilisée pour introduire une interrogation du sys-
tème de bas niveau (voir l'exemple AIP précité). Le système de haut niveau interroge alors
continuellement le sous-système dans un genre de boucle d'attente active. L'effet global
cependant est de transporter un requis de contrôle aisément réglé dans le bas niveau vers
le niveau supérieur. Ce genre de manoeuvre enrichit le niveau supérieur d'un nombre de
requis de contrôle qui ont avantage à ne pas y apparaître car ils sont vraiment de portée
locale.
De façon générale l'usage de projections naturelles pour les interfaces HISC a comme
conséquence de rendre la structure de transition de l'interface inutilement riche. On peut
prendre la grue de lafigure3.5 comme exemple. Cette grue n'a que trois fonctions : déga-
ger la position d'entrée (right), dégager la position de sortie (left) et transborder une pièce
(la portion centrale grab). Or la séquence de transbordement d'une pièce comporte aussi
l'occurrence d'un événement right. Ainsi seul le graphe entier de lafigure3.5 constitue une
148
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
projection naturelle correspondant à une interface HISC (il faut bien sûr effacer les événe-
ments 1X0 et J.X 1 ). Encore une fois, certains requis sont poussés vers le haut, obscurcissant
l'ensemble des requis de contrôle (en augmentant leur complexité dans le système de haut
niveau) alors que ces requis sont clairement de portée locale.
Finalement il est intéressant de noter qu'un système HISC constitue un système plat,
tout au moins avec la métaphore de composantes réutilisables proposée. La capacité de
réutilisation de sous-systèmes (assemblage de sous-systèmes en unités plus complexes) y
est aussi limitée. On ne pourrait pas par exemple reprendre la perceuse de la figure 3.8
et la composer directement avec d'autres sous-systèmes du même genre pour définir une
autre composante réutilisable (un autre modèle générique). Dans ce cas, la seule réutilisa-
tion possible consiste à ré-assembler une nouvelle composante à partir des modèles de bas
niveau, ce qui constitue une limitation assez sévère. On ne peut pas construire de nouvelles
abstractions à partir d'autres abstractions déjà définies. Ainsi on peut dire que seuls les
modèles exhaustifs de la section [Link] sont réellement réutilisables avec HISC.
149
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
150
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
Une telle architecture offre en plus la possibilité d'exprimer les requis du contrôle d'un
système de façon progressive et de les localiser le plus près possible de leur point d'appli-
cation. Cette forme de modularisation des requis de contrôle procure une façon progressive
de concevoir un système par raffinements successifs. Elle permet aux concepteurs de se
concentrer sur la formulation de sous-ensembles restreints de requis de contrôle à chaque
itération, divisant ainsi le problème global en sous-problèmes particuliers (une technique
souvent appelée diviser-pour-régner).
La modularisation des requis de contrôle peut aussi procurer une clarification signifi-
cative dans l'expression des requis de contrôle. Il est assez bien connu (quoique rarement
souligné) que la spécification de sous-langages légaux, utilisée pour exprimer les requis de
contrôle dans le contexte original de SCT, présente des difficultés significatives. Plus ces
spécifications sont volumineuses (plus elles couvrent de requis de contrôle simultanément)
moins elles sont faciles à tracer à leurs requis informels d'origine (par exemple voir [37]
pour un problème type).
On remarque que le problème de synthèse aussi prend alors un caractère progressif.
Certains requis de contrôle peuvent présenter un caractère purement local en ce sens qu'ils
ne s'appliquent qu'à des sous-systèmes et que le contrôle du système global présuppose
l'application préalable de ces requis. On peut ainsi imaginer des situations où, une fois
un sous-système composé, on lui applique un ensemble de requis de contrôle de portée
purement locale et on en fait la résolution par synthèse (un sous-problème de contrôle).
En contrôle hiérarchique il est possible d'encapsuler les sous-systèmes (après synthèse) au
même titre et de la même façon que les composantes réutilisables (par abstraction). La fron-
tière entre composantes réutilisables et sous-systèmes devient [Link] sous-système
encapsulé de cette façon peut aisément être transformé en une composante réutilisable.
Finalement on peut noter que, dans le contexte théorique de Wong et Wonham [58],
le contrôle hiérarchique peut utiliser n'importe quelle procédure de synthèse pourvu que
le système de haut niveau (Yabstraction) dispose d'une technologie de contrôle standard
(section [Link]). On peut donc y appliquer les procédures de synthèse du contexte origi-
nal de SCT (Ramadge et Wonham) ou, moyennant une modélisation adéquate, celles de
la théorie du contrôle de STS. Ceci peut rendre cette approche particulièrement versatile
puisqu'alors rien n'empêche d'utiliser des composantes réutilisables conçues à partir de la
151
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
théorie du contrôle hiérarchique dans d'autres contextes théoriques (par exemple STS ou
HISC). La réduction de complexité implicite au contrôle hiérarchique représente déjà un
apport substantiel.
En somme le contrôle hiérarchique semble posséder beaucoup de caractéristiques dési-
rables pour établir une métaphore de composantes réutilisables. Cependant, étant donné le
contexte des précédentes études sur le sujet (celui de l'abstraction d'un système unique), il
faut d'abord développer certains résultats théoriques pour supporter le modèle d'abstraction
suggéré à la section [Link].
152
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
tue une abstraction de G/„ (Yagent), la projection 9 ne peut pas être arbitraire. Elle doit
posséder plusieurs caractéristiques. En particulier Y abstraction doit aussi être munie d'une
structure de contrôle C>u : TM —> V2(M) et cette structure de contrôle doit être consistante
avec celle de l'agent, Ci,,. La projection 9 doit donc être construite de façon à ce que le
triplet (L, 9,Cio) présente la consistance du contrôle (section [Link]). Mais la consistance
du contrôle, bien que nécessaire, ne suffit pas.
1. Il faut pouvoir combiner plusieurs abstractions pour former une description abstraite
du problème de contrôle à résoudre. La composition de modèles abstraits doit se faire
par usage du produit synchrone tel que défini en section 1.1.4.
2. Il faut aussi pouvoir effectuer la synthèse sur la description abstraite du problème de
contrôle, ce qui pose le problème de la disponibilité de procédures de synthèse au
niveau des représentations abstraites des composantes.
3. Il faut pouvoir effectuer une synthèse contrôlable et non bloquante sur le modèle
abstrait du problème de contrôle et disposer de l'assurance d'une implémentation
contrôlable et non bloquante au niveau concret (celui des agents).
4. II faut enfin qu'un résultat de synthèse au niveau abstrait puisse être transcrit au
niveau concret de façon algorithmique sans passer par une synthèse sur l'ensemble
des agents impliqués dans la formation d'un système.
L'annexe C développe l'ensemble des résultats nécessaires pour obtenir ces caractéris-
tiques, en utilisant la notation et les concepts présentés en section 2.3 et plus particuliè-
rement le modèle du contrôle hiérarchique de la section 2.3.2.
L'ensemble des résultats de l'annexe C gravite autour de trois éléments : une règle pour
la conception de la projection (l'équation C.5) et deux propriétés dont la projection doit être
dotée : la propriété d'observateur (section 2.3.3) et la coïncidence du contrôle (section B.3).
153
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
Pour toute chaîne sa G L telle que 9(sa) = 9(S)T G M et T G T,. alors a G E,.. La
génération de r à la suite de la génération de 9(s) peut donc être contrôlée à travers une
action de contrôle directe sur l'ensemble d'événements {a G E c | 9(sa) — 9(s)r} dans
l'agent.
L'usage de l'ensemble des règles de l'équation C.5 lors de la construction d'une pro-
jection 0 : L —* M induit donc une technologie de contrôle standard dans l'abstraction et
procure l'absence de délai de contrôle. La proposition C l 1 montre qu'en présence de la
154
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
(la relation entre ces deux concepts est discutée en section B.3). Lorsque la projection 9 est
ainsi dotée de la coïncidence du contrôle et de la propriété d'observateur :
a) le corollaire C.5, le corollaire C.2 et la proposition C.4 à la section C l démontrent
que les conditions correspondant à la version faible de la consistance du contrôle sont
réunies, c'est-à-dire que Chi(M) Ç 0(Cio(L)) ;
b) la proposition C.8 à la section C.2 démontre que les conditions correspondant à l'absence
de couplage de contrôle sont aussi réunies et donc 9~l o K A/ < KL ° 9~X O KM.
Il suffit alors de poser L'm := 9~l(Mm) pour obtenir la consistance du marquage (voir l'ar-
gumentation en section C.2 et l'équation C.4). Ainsi les conditions du théorème 6 concer-
nant la synthèse non bloquante en présence de la version faible de la consistance du contrôle
(telles que développées en annexe A) sont alors réunies.
Pour un système hiérarchique (L, M, 9) où 9 est une projection causale dotée de la
propriété d'observateur conçue en respectant les règles de l'équation C.5, l'implémenta-
tion dans L d'un résultat de synthèse non bloquant sur M est aussi non bloquante. En
particulier pour E Ç M un objectif de contrôle, 0~1(KM(E)) est contrôlable et non blo-
quant (voir le théorème CIO). Le résultat de synthèse, une loi de contrôle sur l'abstraction
Vj\ : M —• V(T), permet (à travers une règle simple, l'équation C.7) le calcul d'une loi de
contrôle VK '• L —* "P(E) sans passer par une synthèse sur Yagent (voir la proposition C. 13
en section C.3). Dans ces circonstances, pour G;0 et Gy,, définis comme précédemment,
la paire (G/„, Ghl) où L = L(Gi0) et M = 9(L) = L(G/ U ), constitue un modèle géné-
rique adéquat pouvant servir de base à une instanciation du système hiérarchique (L, M, 9),
moyennant un mécanisme adéquat comme celui de la section [Link]. Alors C = (G, G)
avec G := G/ 0 et G '•= G/,,, représente un modèle d'une composante réutilisable.
Ce qui précède ne vaut que pour une seule instance de composante. Pour que cette
métaphore de composantes réutilisables soit utile il faut pouvoir assembler des hiérarchies
155
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
156
O
I
>
H
( > m
a*
-n
5 /
TO
>
n
3
o
il
c >)
a*
W)
s/~\&
" 1 o o g- n
3
m > 3 o
/• \
m
o sr.
3/^XO
ws 5
c
-o
O
»_
o
>
a- o ^.-s- => O d 00
> V> £ in Q ;r
en >
1 0" Ï3 3
T t- > z
O A *£> r j 5* H
w m
o g ^ /
3
B* ^1 8 O
O n
3-~
r s
«TEîpj» &o
73
o
•v>
a r- t > m-
• * * * •
O <
V)X C
ri > H
^5 0Q
o'
3 r-
5 Kl
< ~. œ
S. a
J Q.
P
C
70
3 '' 5 "S a o
O H
P O O
fC Ci o
n> t->
>
*•*»
3
n -—'y 3 ii TJ
V O
o Sfl
P
D ) 3
s* O O
o" to
o o" 3-
P
r^
to •>>
^
N
"-"'
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
158
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
Enfin leur langages marqués sont aussi ajustés pour assurer la consistance du marquage
Lm=9-x(p-l(-p(M,n)))
= 0-l(<,-1(V(d(Lm))))
= 9~1(p-1(iiiLm)))
= i!>-ï(tr(Lm)).
Pour vérifier que l'absence de couplage de contrôle est aussi préservée, on note d'abord
que KM O ^S"1 O ~KJ(M) dénote l'implémentation dans Yagent (l'agent M) de la synthèse sur
Pabstraction (composante du haut dans la figure 3.10 (b)) d'un certain sous-langage fermé
de p(M). Puisqu'il y a absence de couplage de contrôle entre L et M et aussi entre M et
-p(M), alors
159
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
(f 1
v ('fvlo'RAM)) ^ KL°0-X(KM 0 ^ ' o ï ï # ) ) < KLo9~X(ç~X O/t^A/,)
et finalement,
'l'y1 ° **(»('')) ^ K
I< ° "'" 1 ° ^ ( « ( / 0 )
L'absence de couplage de contrôle est donc préservée elle aussi par la composition fonc-
tionnelle de projections.
À noter que la consistance du contrôle (version faible) et l'absence de couplage de
contrôle peuvent aussi être déduites de la préservation de la propriété de coïncidence du
contrôle par la composition fonctionnelle de projections puisque
implique que
>irx(C'hl(lp(L))) = ^x(C'hl^o0(L)))
= r^cjAM)))
= 9~xo^x(C'lu(ç(M)))
Ç8-x(Chl(M))ÇClo(L).
Mais ce qui précède montre qu'il n'est pas nécessaire de présumer la préservation de la
coïncidence du contrôle pour obtenir ces deux propriétés. On note aussi que dans la situa-
tion de lafigure3.10 (b), aucun contrôle n'est ajouté lors de la réabstraction.
La composition fonctionnelle de projections préserve donc les conditions du théorème 6
dans sa forme affaiblie de l'annexe A.
160
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
(V*' G L)(V/ € T*) 8(s)l. G 9(K) =^> (3u G E*) su G K et8(su) = 9(s)i
car 6(s)f G 9(K) = N et K est non bloquant dans Yagent. On a donc, par le lemme 2 dans
[57], que 9-^ est un K -observateur. Mais qu'en est-il de la coïncidence du contrôle?
L'intuition suggère que cette dernière propriété est toujours présente dans le résultat de
synthèse (7?,7V,f9-^). On note tout d'abord que N G Chi(M), donc ~N G Chi(M), ainsi
CM(X) — Chi(M) n V(N) (propriété 4 des structures de contrôle de la section [Link]).
En suivant un raisonnement similaire on obtient aussi que Ci0(K) = Ci0(L) D V(K)
puisque K G Ci„(L). Puisqu'on a la coïncidence du contrôle entre L et M, on a donc que
9 x(Chl(N)) C 9 x(Ch,(M)) Ç C,„(L). Prenons R G Ch,(N) arbitraire. Alors R C N et
X x
9~ (R) C 9- (N) = 0~ (N) = K puisque 9 est un observateur, et ainsi 9~X(R) G V(K).
X
Puisque R est arbitraire dans Cht(N) on a donc que 9~~l(Chi(N)) Ç Ci0(K), c'est-à-dire
que la coïncidence du contrôle est préservée dans un résultat de synthèse.
Plus généralement on peut conclure qu'une synthèse sur une abstraction, conçue d'après
la règle de l'équation C.5, donne comme résultat un observateur du comportement de
l'agent en boucle fermée sous le contrôle de VK et préserve la coïncidence du contrôle.
L'imposition d'un contrôle local sur une projection comme illustrée en figure 3.10 (c)
préserve donc aussi les conditions du théorème 6 dans sa forme affaiblie de l'annexe A.
161
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
162
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
ÎX0
^N^,mxrx-^Cy^'xL^)/
'~--./~~ iXl _...--'
n/deployY^-J^^L^ ^^^L^y^X\/deploye„d
„„ , \ .--'11.
TX0/refracW —_ ^-- ^O- JlY/retract
><3iô^xT>_Cwx7><
'•--/7~" iXl/e ...-•'
de l
P °y^^E*)^ dePloyend
*etroted\ x,eploye
Y,XO y V. Y,XI
retractend ^^ttr^An^j^retract
^ Y,X0
163
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
l'on désire rendre contrôlables (r G Tc) n'empruntent que des transitions sur événements
contrôlables (c'est-à-dire a G E t ) dans Yagent (ici, dans la machine de Mealy conçue à
partir du modèle exhaustif).
Par la suite on utilise l'algorithme de Wong pour calculer la quasi-congruence la plus
grossière qui soit plus fine que le modèle de la projection spécifiée par le modèle de la
figure 3.11 (b) résultant de nos hypothèses. L'algorithme nous retourne l'automate quotient
(section [Link]) le plus grossier qui soit conforme à nos hypothèses. Éventuellement l'al-
gorithme doit cependant ajouter de nouvelles hypothèses sous forme d'autres transitions à
exposer. On peut accepter le résultat de l'algorithme ou reformuler d'autres hypothèses sur
la base de ce que l'algorithme nous suggère. Éventuellement, en raffinant nos hypothèses
de la sorte, on obtient une projection d'observateur, c'est-à-dire que l'algorithme de Wong
n'ajoute plus aucune hypothèse et nous fournit le quotient le plus grossier correspondant à
nos hypothèses.
La figure 3.11 (c) illustre l'AFD quotient obtenu de l'algorithme de Wong à partir des
hypothèses faites en figure 3.11 (b). Bien sûr ce modèle est simple. On peut vérifier par
inspection que la proposition 7 de [58] est vérifiée pour ce quotient et donc qu'il s'agit
bel et bien d'un observateur. Ce quotient correspond d'ailleurs presque à un observateur
naturel (voir [15]), mais pas tout à fait car les événements projetés ont été renommés. Mais
à cette différence près, il s'agit d'un observateur naturel.
Bien sûr le processus est heuristique. Il ne saurait en être autrement car à moins d'en-
coder ces heuristiques dans la procédure de réétiquetage de l'algorithme de Wong, l'algo-
rithme lui-même ne peut fournir que des suggestions. Aussi la convergence de l'algorithme
repose sur le fait que la procédure de réétiquetage utilise (pour ses suggestions) de nou-
velles étiquettes d'événements qui sont toutes différentes de celles qui existent déjà. Mo-
difier la procédure de réétiquetage devrait tenir compte des exigences pour la convergence
de l'algorithme et il semble peu probable que l'on puisse faire mieux que ce qui existe déjà
dans l'algorithme de Wong. D'ailleurs, vu l'étendue des possibilités pour le réétiquetage, il
semble préférable de laisser la tâche de faire ce genre d'hypothèses au concepteur de la pro-
jection. Ce dernier est mieux à même de décider de critères comme la sémantique des noms
d'étiquettes. L'expenence semble suggérer que les hypothèses supplémentaires faites par
l'algorithme de Wong suffisent à guider le concepteur de la projection efficacement dans le
164
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
processus.
Un processus heuristique comme celui illustré en figure 3.11 peut sembler limité et
coûteux. Il est limité parce que la taille des modèles doit généralement permettre l'analyse
par inspection visuelle. Il est coûteux car sa complexité est de l'ordre de C)(kin) où k est
la taille de l'espace des états de la machine de Mealy et n le nombre de ses transitions
(voir [60]). Si on ajoute à cela que plusieurs utilisations de l'algorithme sont généralement
nécessaires pour trouver un observateur, le coût peut sembler prohibitif.
On peut opposer au premier argument que, tout au moins pour l'abstraction à partir
de dispositifs physiques, les modèles exhaustifs impliqués sont généralement de taille mo-
deste. C'est certainement le cas dans les usines modulaires.
Pour l'argument concernant les coûts, on doit remarquer que les bénéfices principaux
de ce type de processus d'abstraction sont la réutilisation de spécification (sous forme de
composantes réutilisables) et l'ensemble des garanties formelles qu'il procure. La réuti-
lisation de composantes par instanciation dans divers problèmes de contrôle procure une
façon d'amortir les coûts de conception. Aussi, une fois franchie la barrière de la concep-
tion du modèle exhaustif (un processus ad hoc pour lequel on ne dispose d'aucune garantie
formelle sauf peut-être sa validation statistique), ce type de processus nous procure une
façon de passer du domaine informel (ad hoc) au domaine formel de SCT et d'y rester. On
dispose ainsi des garanties formelles (synthèses contrôlables et non bloquantes) que SCT
procure.
On peut ajouter qu'il est aussi très coûteux d'obtenir des modèles exhaustifs adéqua-
tement vérifiés pour les dispositifs physiques et que pour l'instant c'est la seule alternative
qui existe. Or l'élaboration d'une composante réutilisable pour un tel dispositif (éventuelle-
ment avec plusieurs éléments d'interface G) permet au moins de récupérer le travail investi
dans l'élaboration du modèle exhaustif lui-même.
165
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
G=\\ Gl
Gfo = Il Gij0
166
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
G = II Gt
(i G { 1 , . . . n}), le résultat est donné sous forme d'un ensemble de prédicats (f„ pour
o- G E,) représentant des fonctions caractéristiques sur G (des indicatrices de familles
d'états). La relation entre les états des abstractions composant le système, G,, et de leurs
agents respectifs, G, t5, à travers pc, procure donc un support utile pour traduire le résultat
d'une synthèse sur le modèle abstrait en un contrôle équivalent sur le modèle concret. On a
ainsi un support éventuel pour Y implémentation d'un résultat de synthèse sur l'abstraction
d'un problème de contrôle (critère C8).
Ainsi on peut dire que, sous provision
- de respecter la règle de l'équation C.5 pour l'abstraction de composantes réutili-
sables ;
- d'utiliser le processus d'abstraction décrit en section [Link] ;
- d'utiliser des modèles de STS sans structure verticale (comme décrit précédemment)
pour la modélisation de problèmes de contrôle ;
le contrôle hiérarchique supporte la conception d'une métaphore de composantes réutili-
sables selon les lignes de la section [Link]. Les critères définis en section 3.1 semblent
tous adéquatement remplis.
L'élément de modularisation est une paire (G. G) où G est une abstraction de Yagent G
167
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
168
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
STS, semble ne pas être adéquat pour la tâche. Le holon semble en effet être une expression
d'instances de comportements d'un sous-système au sein d'un système global. L'ensemble
de ces instances de comportements dans un système semble ne pas pouvoir être associé ai-
sément à une composante physique cyclique comme dans l'exemple du vérin en figure 3.7.
Seule l'expression d'un holon en forme fondamentale (c'est-à-dire un holon sans structure
externe) est adéquate pour l'expression de composantes réutilisables (modèles génériques)
et ceci appauvrit beaucoup trop le formalisme de modélisation par STS. En effet, un modèle
de STS n'est alors qu'un système sans structure verticale et toute la puissance d'expressivité
des STS disparaît d'un coup. La variante demeure particulièrement attrayante cependant à
cause de sa modélisation explicite de la mémoire (sous forme de contraintes de contrôle) et
de ses procédures de synthèse produisant une loi de contrôle de type SFBC et utilisant des
méthodes symboliques en synthèse.
En ce qui concerne le contrôle hiérarchique par interface (HISC), bien qu'il soit clair
que l'on puisse formuler une métaphore de composantes réutilisables adéquate, certaines
limitations de cette variante la rendent moins intéressante que le contrôle hiérarchique de
Wong. Premièrement, même telle que formulée en section 3.3.2, cette métaphore n'est pas
extensible sur l'axe vertical parce que HISC est essentiellement une méthode limitée à
deux niveaux actuellement. L'appareillage théorique n'existe tout simplement pas. Ceci li-
mite sérieusement la conception de composantes réutilisables puisqu'elles ne peuvent pas
faire usage d'autres composantes réutilisables préexistantes pour leur conception. Dans ce
derniers cas, la réutilisation se limite à une réutilisation au niveau du code source (copier-
coller ou rote-reuse en anglais). Ainsi, bien que l'on ne puisse dire qu'il n'y en a pas, il y a
peu de support formel pour la conception de composantes réutilisables. L'usage de projec-
tions naturelles pour les interfaces HISC présente aussi certains problèmes. La conception
d'une projection naturelle adéquate comme interface en paires commandes-réponses (les
interfaces HISC) relève largement de l'intuition et de certaines techniques comme celle
des événements synthétiques illustrée en figure 3.8, et aucun algorithme n'est suggéré. Cer-
taines techniques, comme celle des événements synthétiques, demeurent cependant très
utiles. Elles peuvent d'ailleurs aussi être utilisées en contrôle hiérarchique (contexte de
Wong et Wonham).
De ce qui précède il ressort que la variante du contrôle hiérarchique due à Wong et
169
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
Wonham (section 2.3) semble être la plus adéquate pour formuler une métaphore de com-
posantes réutilisables sur le modèle de la section [Link]. En particulier la possibilité de
répéter le processus d'abstraction le long de l'axe vertical et de concevoir de nouvelles
abstractions à partir d'une composition d'abstractions existantes est particulièrement at-
trayante. Cette caractéristique rend la distinction entre sous-système et composante réutili-
sable presque inexistante. En effet un sous-système peut très bien être programmé comme
une composante générique et instancié lors de la formulation d'un problème de contrôle. La
conception de composantes réutilisables revêt alors presque le même aspect que la notion
de classe en programmation par objets.
Le contrôle hiérarchique procure un bon support formel pour la dérivation d'inter-
faces (l'algorithme de Wong). Aussi, le contrôle hiérarchique ne dépend d'aucune pro-
cédure de synthèse particulière. Il peut utiliser aussi bien celles du contexte original de
SCT (Ramadge et Wonham) que les procédures de synthèse du contrôle de STS. C'est
d'ailleurs pourquoi la section 3.4.3 suggère l'usage de composantes réutilisables, obtenues
du contrôle hiérarchique, dans un contexte de modélisation de problèmes de contrôle par
STS. Même sans structure verticale un tel modèle présente plusieurs caractéristiques in-
téressantes. Les composantes réutilisables issues du contrôle hiérarchique peuvent réduire
significativement l'espace des états du modèle du problème de contrôle. Alliée à l'usage de
BDD (méthodes symboliques) en synthèse, cette réduction de Pespace des états ne peut que
diminuer la probabilité d'explosion de l'espace des états et aider à aborder des problèmes
de contrôle de taille réaliste. La structure verticale se trouve encapsulée de façon opaque
dans les composantes réutilisables et les sous-systèmes, elle n'y est donc pas absente. La
modélisation explicite de la mémoire (sous forme de contraintes) ainsi que l'algorithme de
Wong, dont les modèles d'observateurs sont des quotients d'AFD, procurent un support
intéressant pour l'implémentation des solutions de synthèse. Enfin la méthode de spéci-
fication des requis de contrôle, par familles d'états proscrits (un ensemble de ST ou de
prédicats), rendent les requis de contrôle plus aisés à formuler et plus faciles à relier à leur
expression formelle.
On peut affirmer en conclusion que ce qui se dégage de cette analyse est que la meilleure
recommandation semble être de procéder avec un hybride. Cet hybride utilise le contrôle
hiérarchique, le long des lignes directrices exposées en section [Link], pour la conception
170
CHAPITRE 3. COMPOSANTES RÉUTILISABLES POUR SCT
171
Chapitre 4
Modélisation, composantes,
sous-systèmes et problèmes de contrôle
172
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
est un modèle détaillé de la paire (L, 9) (la mécanique de la projection), et l'AFD quotient
G = (Y,T,V,y0,Ym) (4.2)
173
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
Le modèle de la figure 4.1 (A) est un STS sans structure verticale (Sous-SystèmeSTS).
Il n'est formé que d'un seul super-état ET à la racine (x 0 ), dénoté «Sous-Système», dont
chaque cellule est un super-état OU superposé à un AFD considéré comme un holon dont
la structure externe est vide. Chaque cellule est donc un sous-STS en mode fondamental
(voir la section 3.2). Le holon superposé à un super-état OU représentant un élément de
mémoire 113 (j G {1 A-}) est tout simplement l'AFD correspondant à cet élément tel
que défini dans Y environnement du sous-système et dénoté H// . Le holon superposé à un
super-état OU représentant une instance de composante réutilisable est une instance du
modèle abstrait Go, (i G {1,.... n}) de ce type de composante réutilisable tel que défini
dans Y environnement du sous-système. Le type d'une instance de composante réutilisable
(\ provient bien sûr d'un modèle générique C Q = ( G Q , G a ) pour a G A un ensemble
174
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
Sous-Système
c\ Ih ih C2 //* cn
Sous-Système (x0)
Ci x //j x H2 x C2 x ... x / / j , x C„
175
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
où Z est l'ensemble des super-états OU comportant des états actifs sur STa. Dans un STS
sans structure verticale (un sous-système plat) comme celui de la figure 4.1, on vérifie aisé-
ment que si Vsr„(C,) fi 0 alors Vsr„(C,) C l e , pour i G {1....,n}, une inclusion stricte.
En effet d'après la définition 2.9 de [39], pour i fixé, si le sous-arbre STC> figure intégrale-
ment dans STn, alors son ensemble d'états actifs est vide, Vsr„ (Ci) = 0. On a une situation
similaire concernant les mémoires 113 pour ; G {1 k). Ainsi toute arborescence d'état
élémentaire b G B (ST) (une configuration du sous-système) peut être exprimée par :
Or d'après la définition de b G B (ST) (voir la définition 2.12 dans [39]), dans un sous-
système tel que celui de la figure 4.1 (un sous-système plat), les ensembles VUC,) ne
176
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
contiennent qu'un et un seul état actif et il en va de même pour les ensembles Vb{H3).
Alors il existe une bijection // : B (ST) —> Q, pour ST et Q tels q'illustrés respectivement
en (A) et (B) de la figure 4.1. Ainsi, pour b G B (ST) et a G E, les fonctions A et 6 sont
liées par
S(h(b),a)\ <=> A(b,a)fi<&
à(h(b),a) = /t(A(6.a)).
Autrement dit, la fonction A est aussi juste par construction (voir à la section [Link] et
[39] à la section 2.3.1). Un STS défini comme à la figure 4.1 (A) est ainsi un modèle
parfaitement équivalent à celui d'un sous-système obtenu par composition synchrone tel
qu'illustré en figure 4.1 (B) où
Q:= [J h ^ ) -
6eB(ST)
Cette structure de sous-système (le sous-système plat) est d'ailleurs utilisée dans deux
examples de problèmes de contrôle provenant de [39] à la section 4.5, le problème Small
Factory et le problème Transfer Line, illustrés respectivement par les figures 4.26 et 4.31
de [39].
L'expression de q G Q sous forme d'un /-uplet (/ := n + k) constitue donc une repré-
sentation adéquate de l'élément b G B (ST) qui lui correspond dans ST puisque ce /-uplet
dénote l'ensemble des états actifs de b à une différence de notation près. 11 est alors utile
de définir le /-uplet
rSotn-Swteme ~ (VC\, •••• Vcn, Vfli ,•••,''//*.) (4-3)
comme vecteur d'état pour le sous-système, où vc, (i G {1,..., n}) et vu, (j G {1...., k})
sont les variables d'état qui correspondent aux éléments qui composent le sous-système
(instances de composantes réutilisables et éléments de mémoire).
On constate que l'ordre des variables d'état de l'équation 4.3 diffère de celui donné
pour le STS Sous-SystèmeSTS de la figure 4.1 (A). La définition de vsom-système a pour but
177
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
d'assigner un ordre précis à Penumération des variables d'état dans le /-uplet de façon à
abréger la notation, il n'est pas nécessaire de respecter l'ordre donné par le STS qui lui est
pertinent à la synthèse. Une configuration du vecteur d'état du sous-système (vsous-sysième)
correspond ainsi à une configuration du STS Sous-SystèmeSTS à l'ordre des variables près.
Bien sûr l'ordre des variables dans Sous-SystèmeSTS correspond à la synthèse et doit être
spécifié comme l'illustre la figure 4.1 (A).
Bs:= \JB(S)
ses
et le prédicat de spécification,
Q{ S G
Ps := \ / -)= V ^
S€S 6 6 Bs
une fonction indicatrice de Bs, est obtenu par application de la fonction 0 (voir [39] section
4.2.1 et la section 2.7.3). Alors b \= Ps <==> b G Bs pour b G B (ST). Naturellement il
est possible de former
Qs •= U W)
et alors
q\=PS ^> h~\q) G Bs « = • qGQs
178
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
Sous-SystèmeSTS - ^ ^
Synthèse—»- DSFBC /
Spécification 5 -"""^
/ <=> { / a k e E J
pour q G Q.
Tel que décrit dans [39] à la section 4.2.1, l'usage de la fonction © pour définir Ps ré-
sulte en une formule logique définissant une fonction indicatrice sur l'ensemble des valeurs
que peut prendre la variable vsow,-sy,teme- Les termes de base de ces formules logiques ont la
forme ca •= q où vn est une variable d'état telle que celles définies dans l'équation 4.3 et
q est le symbole dénotant un état que cette variable d'état peu prendre. Par exemple, dans
l'équation 4.3, le domaine de la variable va, est YCl pour ? G {1...., n}.
Cette situation est illustrée en figure 4.3, qui reprend le problème de la conception d'une
grue exposé en section 3.2.2. La grue (le sous-système) est composée d'une flèche et d'une
pince en fonctionnement parallèle concurrent. Sa spécification de contrôle est composée
de quatre sous-arborescences d'états ST\ à ST 4 . On obtient le prédicat correspondant à la
spécification Ps par disjonction des prédicats correspondant à chacune des quatres sous-
arborescence d'états de la spécification 0(87^), ? G {1. ...,4}. Cette façon de procéder
est conforme à ce qui est suggéré dans [39] à la section 4.1. Alors la formule logique
Ps(vSom-syi,eme) exprime le prédicat de spécification Ps, c'est-à-dire PsU'som-s^teme) = Ps-
L'introduction des variables d'état de l'équation 4.3 permet ainsi une expression de la
spécification directement sous forme d'un ensemble de prédicats, plus compacte que Penu-
mération d'un ensemble de sous-arborescences d'états. Ces prédicats n'ont cependant pas
une forme arbitraire, chacun doit effectivement représenter une sous-arborescence d'états
ST, de la spécification S, donc une version du sous-prédicat 0(ST t ). Puisque le STS du
179
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
ST, "Grue ST
2 Grae
x x
Flèche Pince Flèche Pmce
1 U 1 U 3 0 3
STj 'Grue S7
4 Grue
x
Flèche Pince
Flèche Pince
2 1
Ps^Py/.VP^VPs^VP,,,,
180
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
sous-système n'a pas de structure verticale, chaque prédicat est une forme conjonctive dont
les termes sont des disjonctions exprimant l'ensemble des états actifs d'une composante.
Par exemple, dans la figure 4.3, le terme vFièche G {1.3} de Psn correspond à la branche
GrueFlcchc de la sous-arborescence d'états STi et dénote les états actifs de la composante
Flèche dans STi. Bien sûr, ( > • » G {1.3} = Vf^cf,e = 1 V vnèche = 3, il s'agit donc d'une
forme du terme de base obtenu par l'application de la fonction 0 . Dans l'expression du
prédicat de spécification Ps par une formule logique équivalente Ps(i'sous-sysième), il n'est
pas nécessaire que l'ordre des termes suive l'ordre des composantes dans la définition du
STS (ordre de synthèse) puisque la conjonction logique est commutative. Ceci est un effet
de l'absence de structure verticale dans le STS et de l'usage explicite de variables d'état.
Une fois le problème de contrôle spécifié, on le résout par synthèse. L'application des
procédures de synthèse de [39] produit une loi de contrôle sous forme d'une SFBC / .
Plus spécifiquement ces procédures de synthèse produisent un ensemble de prédicats de
synthèse {fa \ a G Ef.} décrivant une SFBC / (voir la section 2.5) sous forme de BDD
(voir la section 2.6 et la section 2.7.3). De cet ensemble de BDD on peut recouvrer un
ensemble de formules logiques {fa(vsous-Sysième) \°~ 6 E c }, des fonctions indicatrices sur
vsom-système, correspondant à l'ensemble des prédicats de synthèse. Une description de ce
dernier ensemble constitue une spécification adéquate de la loi de contrôle obtenue. Ainsi
pour a G Ec arbitraire, fa = fa(vsoUs-syitème) = f!, c'est-à-dire que {U(vs»Ui-système) \<r G
E r } exprime adéquatement deux lois de contrôle ; l'une applicable à Sous-SystèmeSTS (une
SFBC / ) et l'autre applicable à Sous-SystèmeAFD (une SFBC / ' ) telles que représentées en
figure 4.1. On a alors la situation illustrée en figure 4.2, c'est-à-dire que Sous-Système£TS,
le sous-système sous le contrôle de / peut être exprimé sous forme d'un AFD soigné
181
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
G t s := Sous-Système£FD
182
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
i t s = Grue^FD = G r u e ^
183
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
184
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
185
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
186
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
pour des usines modulaires. La section 3.1.3 propose d'envisager l'implémentation de ces
applications de contrôle sur un PLC (un automate programmable). Ce genre d'élément
de contrôle (ici un PLC) utilise une rétroaction cyclique selon le schéma général en trois
phases d'écrit en section 3.1.3. Le calcul de la rétroaction (c'est-à-dire l'évaluation de la
commande) constitue l'une des phases du cycle. La fonction de rétroaction est donc évaluée
systématiquement à chaque cycle de la rétroaction. Au sens de Sifakis [25] il s'agit d'une
architecture (ou d'un modèle d'exécution) d'application synchrone.
Dans un modèle d'exécution synchrone l'application de contrôle fonctionne par cycle ;
il s'agit d'un répartiteur cyclique (de l'anglais cyclic executive, voir [49]) souvent initié à
interval fixe. Dans le cas des usines modulaires, un nouveau cycle est initié sitôt le précé-
dent cycle terminé. À chaque cycle tous les éléments du système sont activés dans un ordre
prédéterminé et se voient accorder une tranche de temps pour leurs calculs.
On peut donc présumer que l'application de contrôle générée pour le genre de com-
posantes préconisées ici active périodiquement chaque sous-système (instance de compo-
santes réutilisables) par un mécanisme quelconque (par exemple un appel de procédure).
La fréquence d'appel peut varier, mais on présume que le temps de calcul requis pour la ré-
troaction est beaucoup plus court que le temps de réaction moyen des dispositifs de l'usine
modulaire. À chaque cycle, avant le calcul de la rétroaction, l'application met à jour une
image mémoire de l'état de l'usine (capteurs, actionneurs et registres d'entrée de périphé-
riques) dont les sous-systèmes peuvent ensuite se servir pour leurs calculs.
Pour plus de généralité il est préférable de décrire la dynamique abstraite des sous-
système dans le contexte de composantes réutilisables, c'est-à-dire lorsqu'ils sont associés
à une projection (l'interface de la composante réutilisable). Le modèle de la dynamique
abstraite d'un sous-système sans projection peut ensuite être obtenu par simplification de
la dynamique abstraite générale.
On présume que Y environnement d'exécution d'un sous-système contient implicitement
quatre fonctions abstraites pour chaque événement cr G E : fimc„(), Pa(), Project„() et
lala(). L'environnement d'exécution d'un sous-système contient aussi une fonction abs-
traite pour chaque événement r G T de sa projection associée :funcT().
187
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
188
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
transition sur a effectuée à partir de l'état courant du sous-système local est projetée.
Lorsque l'événement n'est pas projeté, c'est-à-dire \(q, a) — c (q G Q dénotant l'état
courant du sous-système local), Projecta() retourne simplement le résultat true. Autrement
(\(q, a) = T G T dans G), Project^) retourne le résultat de l'invocation de la fonction
funcT().
11 est important de noter que les fonctions funcT() (T G T) correspondant à l'interface
d'une composante réutilisable ne sont définies qu'à l'instanciation de cette composante
dans un autre sous-système : le sous-système client. Le concept est similaire à celui de mé-
thode abstraite d'un langage de classe à la différence que Y instanciation (et non l'héritage)
procure le mécanisme et le site de la définition. À la conception d'une composante réuti-
lisable les fonctions/ù«eT() sont déclarées implicitement dans l'environnement local mais
elles n'y sont pas définies. Le mécanisme d'instanciation est responsable de leur assigner
ultérieurement une définition dans un sous-système client. Cette définition prend la forme
d'une association (liaison statique puisqu'il n'y a pas d'héritage) avec une fonction/wnc^Q
définie dans l'environnement d'un sous-système client. De cette façon on procure un lien
(d'appel de fonction) à partir de l'environnement local d'une instance de composante réuti-
lisable vers l'environnement de son sous-système client. Tout appel d'une fonction funcT()
dans l'environnement local d'une composante réutilisable est implicitement redirigé vers
une fonctionfunca() du sous-système qui instancie cette composante.
Finalement, lorsque Projecta() retourne le résultat true, la procédure lala() est appelée.
Cette procédure implémente la liste des actions locales requises pour mettre à jour l'état
courant du sous-système local. Pour un sous-système comme celui illustré en figure 4.1
ceci comprend la mise à jour des variables du vecteur d'état (équation 4.3).
189
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
11 devrait être clair que dans la dynamique d'un sous-système sans projection, la fonc-
tion Projecta() se comporte comme une tautologie. On peut donc l'éliminer et corriger
funca() en conséquence c'est-à-dire éliminer la conditionnelle sur Projecta() complète-
ment.
Similairement, lorsque a G E„, le prédicat Pa() est une tautologie. On ne peut cepen-
dant pas éliminer l'appel à Projecta() dans func0() puisqu'il faut propager l'occurrence de
l'événement dans l'abstraction, s'il y a projection, de sorte à mettre à jour l'état du sys-
tème globalement. Mais puisque tout événement projeté est alors sûrement incontrôlable,
à cause des règles suivies pour l'abstraction de composantes (voir section [Link]), l'appel
à Projecta{) ne peut retourner que le résultat true et la conditionnelle devient inutile. La
fonctionfunca() prend ainsi la forme simplifiée de l'algorithme 4.3.
On dispose donc maintenant de l'équipement nécessaire pour introduire des heuris-
tiques de génération de code dans la spécification de sous-systèmes (et donc de compo-
santes réutilisables), notamment l'ensemble des symboles : funca(), P„(), Projecta() et
lal„() définis implicitement pour chaque événement du sous-système. Chacun de ces sym-
boles peut être soit redéfini intégralement ou par insertion d'un fragment de code à l'aide
d'une notation appropriée.
Finalement, pour lier ces heuristiques à l'architecture de l'application de contrôle, on
introduit une dernière fonction abstraite, cycle(), initialement vide, que le concepteur peut
utiliser pour activer les autres éléments de la dynamique abstraite (les autres fonctions
abstraites). En particulier, pour les composantes élémentaires, le concepteur est respon-
sable d'introduire dans cette fonction le code nécessaire pour activer les fonctions func^),
puisque le sous-système est alors spécifié de façon ad hoc.
190
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
191
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
VAR
VLD, OK : M; /* indicateurs booléens */
Meml : 0..5; /* variable d'état
d'un élément de mémoire */
ENDVAR
À ce titre l'usage de types énumérés (implicitement de type entier), comme pour la variable
Meml précédemment, procure plus de clarté.
Par convention, les événements de fronts montant et descendant sur des types booléens
sont prédéfinis par exemple, pour un capteur XO :
- îXO désigne le front montant ;
- 1X0 désigne le front descendant.
La concaténation d'événements peut aussi être déclarée, par exemple right = IY1-TY0
définit une macro commande à partir de deux événements contrôlables ; on peut aussi sim-
plement l'utiliser explicitement dans un modèle. De la même façon diverses constantes
peuvent être déclarées, par exemple FQ = XO A Y1 pour une formule logique fréquemment
utilisée.
Certaines ressources telles que les capteurs, les actionneurs, les registres d'entrée et sor-
tie de périphériques ainsi que les minuteries sont représentées par des variables. On a par
exemple YO pour un capteur booléen et TO pour une minuterie. Avant la génération de code,
ces variables doivent être assignées à des ressources réelles de même type. Aussi, certaines
ressources requièrent des paramètres pour leur fonctionnement ; par exemple une minute-
rie requiert éventuellement un délai d'expiration. Ces éléments ne sont généralement pas
requis avant la phase finale de génération d'un système et il est encombrant d'avoir à les
spécifier a priori au moment de l'instanciation de composantes ou, pire encore, d'avoir à
les définir comme constantes dans un modèle. Pour procurer un mécanisme flexible permet-
tant au concepteur de spécifier ces paramètres a posteriori, la spécification de composantes
réutilisables admet la définition d'une signature d'instanciation. Par exemple la signature
J a c k l l l < Y 0 , X 0 , X l > signifie que la composante réutilisable J a c k l l l utilise un ac-
193
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
tionneur et deux capteurs. Cette signature agit comme une section de déclaration. Dans le
corps de la définition de J a c k l l l les variables YO, XO et XI sont déjà définies.
La signature d'instanciation n'est pas limitée aux types prédéfinis. Ainsi la signature
Micrometer<XWO, c o n s t l o L i m i t , hiLimit : MW> spécifie une plage de va-
leurs ( l o L i m i t et h i L i m i t , des constantes) pour la validité d'une lecture sur le registre
d'entrée de périphérique XWO. La particularité de la signature d'instanciation est d'accep-
ter une spécification partielle à l'instantiation. Ainsi une déclaration d'instance telle que
Boom : J a c k l l l au sein d'une définition de sous-système définit la variable Boom sans
assigner aucune de ses ressources. La déclaration Boom : J a c k l l l < Y O := Q3.4>,
aussi acceptable, assigne Pactionneur et diffère l'assignation des capteurs sans impact sur
la phase de modélisation.
La génération de code assigne la mémoire interne plus efficacement qu'une spéci-
fication explicite, par conséquent les éléments de mémoire n'apparaissent généralement
pas dans une signature d'instanciation. Une déclaration comme c o n s t l o L i m i t : MW
dans une signature d'instanciation ne définit que le type de la constante.
Deux types prédéfinis vus précédemment sont inusités : les minuteries (préfixe «T») et
les registres à décalage (préfixe «SR»). Ces deux type peuvent être considérés comme des
éléments de mémoire d'un PLC. Mais alors qu'une minuterie génère un événement (l'élé-
ment de mémoire est donc actif), un registre à décalage n'a pour sa part qu'une structure et
un comportement particulier. Les deux sont liés à une dynamique prédéterminée procurée
par des primitives du PLC et méritent une explication.
Les registres à décalage définissent des chaînes de bits sur lesquelles un PLC peut ap-
pliquer diverses primitives de décalage, donnant à l'ensemble un comportement stéréotypé
connu dans la plupart des langages de programmation. Il n'est pas possible cependant de
donner une représentation d'un registre à décalage par un AFD unique couvrant toutes ses
possibilités. U n'est pas possible non plus de lui attribuer un événement qui lui appartienne
en propre, c'est-à-dire que génère le registre à décalage, car en général l'opération de dé-
calage doit être synchronisée sur l'activité d'autres dispositifs. Par convention, dans notre
contexte, on utilise les registres à décalage comme tous les autres éléments de mémoire,
194
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
195
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
196
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
La figure 4.6 (a) illustre le comportement du dispositif brut d'une minuterie de délai à
la montée. Initialement la minuterie est inactive : état (S, T). La minuterie est évaluée à
chaque cycle de rétroaction selon son signal d'activation S. Lorsque S est réalisé la minute-
rie devient active : état (S, T). La minuterie reste active tant que le signal d'activation S est
réalisé et que son délai d'échéance n'est pas écoulé. Elle est réarmée et redevient inactive
sitôt que S est réalisé. Si S demeure réalisé pour un interval de temps supérieur ou égal à au
délai d'échéance spécifié, la minuterie passe à l'état échue : (S, T). Une fois la minuterie
échue on ne peut que la réarmer (événement |S). Il faut bien sûr que S persiste jusqu'à la
prochaine évaluation de la minuterie (un cycle de rétroaction) pour qu'elle soit complète-
ment réarmée et repasse à l'état inactive. Cette condition doit être vérifiée manuellement
à la conception (ad hoc) du sous-système (par exemple figure 4.6 (b)), d'où la transition
indésirable dénotée par une astérisque dans la figure 4.6 (a).
Les dispositifs bruts de minuterie procurés par les PLC rendent impossible de spécifier
l'état échue d'une minuterie de délai à la montée comme état initial. Pour plus de flexibi-
lité on utilise des minuteries mémorisées. Elles sont implémentées par programmation à
partir du dispositif brut d'une minuterie de délai à la montée pour produire deux types de
comportement :
1. ODT (On Delay Timer) délai à la montée seulement illustré en figure 4.7 (a) ;
2. DDT (Dual Duty Timer) délai à la montée et à la descente illustré en figure 4.7 (b).
On substitue un élément de mémoire M à l'indicateur d'échéance T pour pouvoir démarrer
la minuterie brute dans n'importe laquelle des deux configurations (S, M) ou (S, M). Les
minuteries mémorisées requièrent quatre paramètres illustrés en figure 4.7 (a) et (b) de
façon schématique :
- un type de comportement (dénoté ODT ou DDT) ;
- une formule logique définissant le signal d'activation (dénoté S) ;
- un indicateur d'échéance (une formule logique de la forme M ou M où M désigne
un élément de mémoire booléen) ;
- un délai de minutage (dénoté dt).
Une minuterie mémorisée doit être déclarée explicitement dans la structure d'un sous-
système pour permettre d'y associer ces paramètres. Par exemple la déclaration suivante
TO : ODT[S := YÏÏ A X Î , MO, d t ] ;
197
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
îM (dt) ÎM (dt)
définit une minuterie mémorisée de délai à la montée du signal S (type ODT), défini par
la formule logique YO A XI, au bout d'un délai exprimé par une constante dt. L'indicateur
d'échéance MO, exprimé en forme positive, déclare implicitement l'élément de mémoire
booléen MO ainsi que l'état initial de la minuterie : la minuterie est échue à l'état initial
((S, M) dans la figure 4.7 (a)). Par opposition, la déclaration
TO : ODT[S := YÔ A X Î , MO, d t ] ;
définit la même minuterie avec les mêmes paramètres mais dont l'état initial, dénoté par la
formule MO en forme négative, est inactive ({S, M) dans la figure 4.7 (a)). Ces déclarations
peuvent être utilisées à l'intérieur d'une déclaration de composante, par exemple
Define component
Jackl01<Y0, TO, XI, const dt TIME>
où TIME est un type particulier pour les constantes de temps et TO représente l'identi-
ficateur auquel on doit éventuellement assigner un dispositif de minuterie brute pour la
génération de code.
Finalement, pour implémenter la dynamique de la minuterie, le concepteur doit fournir
un fragment de code. La forme générale pour le comportement ODT est la suivante :
/* évaluation de la minuterie */
eval7.(T0. YÔ A XÎ A MO) ;
en supposant la déclaration précédente de TO. Ce code doit être activé à chaque cycle de
la rétroaction et doit donc être introduit dans l'heuristique de génération de code cycle()
défini à la fin de la section [Link]. L'activité variable sur occurrence des événements îMO
et 1.M0 est supposée décrite dans la dynamique locale (/a/jMo() et lal^oO). Dans ce qui suit
il revient au concepteur d'introduire le code correspondant aux endroits appropriés dans la
spécification.
199
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
façon exhaustive par les deux prédicats / t Y et ,/\Y, puisque îY et lY sont les seuls évé-
nements contrôlables (liés au capteur Y). On se rappelle que dans une SFBC les prédicats
liés aux événements incontrôlables sont des tautologies. Finalement, puisque dans un sous-
système la définition par défaut des fonctions P„() correspond au prédicat de rétroaction,
les fonctions / f Y et / t Y définissent implicitement P| Y () et Pj Y ().
Dans la figure 4.8, seuls les éléments modifiés de la dynamique abstraite (les heuris-
tiques de génération de code) sont explicitement décrits. Tous les éléments conformes à
la description de la section [Link] n'ont pas à être explicités puisqu'ils peuvent être géné-
rés tels quels. Ainsi les fonctions/w«cÎYQ et func^() sont conformes à l'algorithme 4.1
(événements contrôlables) et les fonctions/ù»cTX1(),/z<«cÎX0Q,/wraclX|() etfunclXf)() sont
conformes à l'algorithme 4.3 (événements incontrôlables).
Dans le sous-système d'une composante élémentaire, les functions Projecta () sont consi-
dérées vides (elle retournent toutes la valeur true). Puisque le système est conçu de façon ad
hoc c'est au concepteur qu'il revient d'en changer la définition. Les fonctions Projecta(),
pour a G {îY, î X l , |Y, tXO}, sont ainsi redéfinies puisque ce sont les seuls événements
associés à une projection dans la figure 4.9. Les événements 1X0 et 1X1 sont effacés par
la projection et ainsi la définition par défaut de Projecta() leur est adéquate. La fonction
funcdeploy() projetant l'événement deploy à partir de l'événement T Y n'est ici qu'un symbole
abstrait sans définition. Ce symbole doit être associé à une définition par l'utilisateur de la
composante réutilisable J a c k l l l au moment de l'instanciation de cette dernière dans un
sous-système.
D'une façon similaire, dans le sous-système d'une composante élémentaire, les func-
tions lala() sont considérées vides a priori. Pour a G {îXO. J.X1, îXO, i X l } , cette défi-
nition convient, puisque l'occurrence de ces événements ne modifie pas l'environnement
local. Cependant lal^Y() et lal^O modifient l'état de Pactionneur du vérin et doivent être
redéfinies en conséquence.
À chaque itération de la boucle de rétroaction le système doit exécuter le code d'inté-
gration (glue code) des composantes. Ce code est généralement inséré manuellement dans
l'heuristique de génération de code cycleQ. Pour lier l'activité des dispositifs physiques à
la dynamique abstraite il faut insérer du code correspondant dans cycle(). Sur occurrence
d'un événement incontrôlable cycleQ doit détecter cette occurrence et activer la fonction
200
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
SubSystem J a c k l l l {
S t a t e V e c t o r = <Y XO, Xl>
/îY == Y A XO
/iv := Y A XI
Proj'ect|y() : = ( r e t u r n f uncdeploy() ; }
Projectlxl() := {
r e t u r n LUI! Cçiepi oyena (); }
P r o j e c t | Y ( ) := { r e t u r n funcretra( *(); }
P r o j e c t î x o ( ) := { r e t u r n funcretracten(j() ; }
2alTY() := { s e t ( Y ) ; }
lallY() := { r s t ( Y ) , }
cycle() := <zycleQ + {
i f ( TX1 ) t h e n f u n c T X ] () ;
i f ( TXO ) t h e n funcm{);
funcrY();
funciY();
}
}
}
FIGURE 4.8 - Éléments de structure du sous-système Jackl 11
201
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
Jacklll : G
4.X0/e
t X l Ideployend
lY/retract
îXO/retractend
iXl/e
Jacklll : G (Interface)
deployend
retract
retractend
202
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
funca() qui lui correspond. Quant aux événements contrôlables, puisqu'ils sont générés
par la boucle de rétroaction elle-même, cycleQ doit toujours invoquer la fonction func^Q
correspondant à un événement contrôlable pour lui permettre de se produire lorsqu'il est
éligible localement et permis par l'environnement du système global.
Il est intéressant de noter qu'aucun des événements 1X1 et iXO ne sont effacés par la
projection et qu'ils ne causent aucun changement à l'environnement local du sous-système
de la composante J a c k l l l . Ainsi l'invocation defuncÏXl Q etfunclX0{) ne produit aucune
activité utile dans le système et peut donc être éliminée.
Par convention la redéfinition d'un symbole de la dynamique abstraite est signalée
par une expression utilisant l'opérateur d'affectation suivi d'une définition, comme par
exemple la redéfinition de la fonction lal^yQ dans la figure 4.8. L'insertion de code est
signalée par une forme similaire à celle utilisée pour cycleQ dans la même figure. La
forme cycleQ := cycleQ + {...} signale une insertion à la fin de la procédure et la forme
cycleQ := {...} + cycleQ une insertion au début. Aussi, seules les heuristiques cycleQ et
lal„() admettent l'insertion de code. Les autres n'admettent que la redéfinition.
Finalement lafigure4.10 spécifie l'interface de la composante réutilisable sous forme
d'un AFD quotient G de l'AFD G de la figure 4.9. Le quotient G constitue un observa-
teur de G. 11 est obtenu par application de l'algorithme de Wong et Wonham dans [60].
On peut en général assigner aux états de l'interface des étiquettes pour rendre le modèle
plus expressif. Ces étiquettes tiennent généralement lieu d'indices que l'on peut affecter à
une variable d'état comme celles définies dans l'équation 4.3 pour désigner l'état courant
d'une instance de composante d'un sous-système. Pour réduire l'encombrement des figures
on n'utilise ici que de simples index explicites.
203
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
une loi de contrôle obtenue par synthèse. Les modèles G et G (de la projection et de
l'interface respectivement) peuvent être donnés de la même façon que pour les compo-
santes élémentaires. La structure du sous-système de la composante mixte doit cependant
détailler l'instanciation de composantes réutilisables ainsi que leur assemblage et fournir
une spécification de contrôle. Il est donc nécessaire de se pencher sur la signification et les
mécanismes de l'instanciation de composantes réutilisables.
204
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
SubSystem LRCrane {
State Vector = <Boom, Hook>
v x
— ViRCrane — (VBoom, Vf/ook) 6 QLSuum Qttouk J
Jack211bG SuctionCup G
205
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
Boom : J a c k 2 1 1 b w i t h {
Hc := { d e p l o y [ r i g h t ] , r e t r a c t [ l e f t ] }
E u := { d e p l o y e n d [ r i g h t e n d ] , r e t r a c t e n d [ l e f t e n d ] }
Le concepteur doit dresser une bijection hBoom : TJack2iib -» ^Boom, où TJack21lb est
206
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
==
ri-Boom \WBoom- 2-1 Boom- "Boom- \QUoomfij AlBoom.m)
207
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
LRCrane G
V5 cipe
cip ^ ^
/ dp
\2Jhc\ 3
) hce 74
• ^ cop
-
cope
\ O*
LRCrane G
_—-V
V\y
^ \ — _•—^.^^ rightend/cipe
right/cip ^ ^ " ^
/ _j7^\grabendjhce /T7\ rightend/cipe
@h^\
J< grab/hc / ^ f right/cip /^frlsle rlsend/e
1 f~~\
(o,o) (0,2) (^2) (2,uW
——(y*)*—"
LRCrane
Boom Hook
ri
Sht
0/ rightend gra*^, \\ grabend
208
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
Component LRCrane {
SubSystem LRCrane {
State Vector = <Boom, Hook>
}
}
FIGURE 4.13 - Structure du sous-système LRCrane
209
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
réutilisable est associée à une variable d'état. Cette variable fait partie de l'environnement
local du sous-système et doit être mise à jour pour refléter l'état courant de l'instance et, in-
directement, l'état courant du sous-système lui-même. C'est l'une des tâches des fonctions
la/„Q-
Dans notre exemple de la figure 4.11, l'occurrence de l'événement right dans l'instance
Boom doit provoquer le changement de la variable vBuom de vBoom — 0 à vBoom = 1 pour
maintenir l'intégrité de la variable d'état du sous-système vrjRcrune- Or l'information néces-
saire pour générer ce code est déjà contenue dans la définition de la structure de transition
de l'interface de la composante J a c k 2 1 1 b ( G j ^ ^ n b ) - Il s'agit de la fonction de tran-
sition 7]jock2iih- La fonction lalngh,Q est donc générée automatiquement et correspond à la
définition suivante.
:
•lalrightO = { Boom := 1 ; }
L'ensemble des fonctions lalaQ de notre exemple peuvent donc être générées automatique-
ment.
On peut présumer qu'en général, pour les composantes mixtes, les fonctions lalaQ sont
générées automatiquement en conformité avec l'ensemble des définitions de la spécifica-
tion et que ces fonctions ne sont pas vides. Le concepteur a tout de même la possibilité de
redéfinir ce code ou d'insérer des fragments de code supplémentaires soit au début soit à la
fin d'une fonction lalo-Q en utilisant les notations mentionnées à la fin de la section 4.2.2.
Naturellement, comme pour les composantes élémentaires, les symboles pour l'interface
des composantes mixtes (les fonctions funcTQ) sont toujours des symboles abstraits (dé-
clarés sans définition dans le sous-système de la composante). Aussi l'heuristique de gé-
nération de code cycleQ demeure disponible mais elle n'a pas de contenu a priori. Dans la
composante LRCrane par exemple, cette heuristique est vide.
Finalement on peut constater que la composante réutilisable LRCrane, en figure 4.13,
n'a pas de signature d'instanciation. Elle utilise cependant deux composantes réutilisables
qui requièrent la spécification éventuelle de paramètres; J a c k 2 1 1 b et S u c t i o n C u p .
Ceci ne constitue pas une contradiction.
Comme mentionné en section [Link] les signatures d'instanciation ne servent qu'à spé-
cifier l'assignation de ressources réelles à des symboles génériques utilisés dans la spécifi-
cation de composantes. Par exemple un capteur peut être représenté par le symbole XO pour
210
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
1. La pièce est d'abord stabilisée, le moteur démarré et le patin descendu puis désengagé
(SW = 1 et PHS = 0).
2. Ensuite le moteur est arrêté et l'étau ouvert (SW = 1 et PHS = 1).
La machine doit alors être arrêtée. L'ensemble doit donner un comportement global de type
démarrage-arrêt (élément de mémoire SW). Le tout est encapsulé en une composante réuti-
lisable (Drill) dont l'abstraction correspond à la figure 4.15, la spécification de structure à
la figure 4.16 et la spécification de contrôle à la figure 4.17.
L'ensemble des instances du sous-système correspond à des composantes élémentaires
de l'inventaire en annexe D. La composante J a c k 2 1 1 a S S (pour le patin) n'y figure pas,
mais il est aisé de la produire à partir de la composante J a c k 2 1 1 a . Il suffit d'utiliser
le même schéma que celui suivi pour élaborer la composante J a c k l l l S S à partir de la
composante J a c k l 11.
Par rapport à la spécification de la composante LRCrane, discutée précédemment, on
peut noter deux additions dans la spécification de la composante D r i l l . Tout d'abord on
y fait usage d'éléments de mémoire (SW et PHS dans figure 4.14). Aussi on détecte la
présence d'une nouvelle classe d'événements, les événements dits synthétiques, au bas de
la figure 4.16. Ces additions requièrent quelques explications.
L'ajout d'éléments de mémoire ne présente pas de problème spécifique. Bien sûr chaque
élément de mémoire doit être représenté dans l'environnement du sous-système par une
variable d'état, par exemple vPrfS pour l'élément de mémoire dénotant les phases de l'opé-
ration de perçage. Cette variable est représentée par une déclaration dans la définition de la
Drill
'
PHS
SW ) ' \ Drv
Clamp Mtr
j strt, stp ;
«V. J <&
C J i ce on
* CD one
1 "
/3 © aA
r
\y upe oe
© o offe
© CL
.
212
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
<o
start
Drill : G
end
213
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
Component Drill {
SubSystem Drill {
State Vector = <SW, PHS, Clamp, Mtr, Drv>
214
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
Component Drill {
SubSystem Drill {
State Vector = <SW, PHS, Clamp, Mtr, Drv>
CtrlSpec {
/* (1)*/ SW = 0 A
(Clamp G {1,2,3} V Mtr G {1,2,3} V Drv == D ,
/*(2)*/ PHS = 0 A (Clamp = 3 V Mtr = 3),
/*(3)*/ PHS = 1 A (Clamp = 1 V Mtr = 1),
/* (4)*/ Drv = 1 A PHS = 1,
/*(5)*/ Drv = 1 A (Clamp G {0,1,3} V Mtr G {0,1, 3})
}
fetrt := SW = 0
/stp := PHS = 1 A Clamp = 0 A Mtr = 0
fc := SW = 1 A PHS = 0
fQ := SW = 1 A PHS = 1
fon := SW = 1 A PHS = 0
/off := SW = 1 A PHS = 1
fdw„ := SW = 1 A PHS = 0 A Clamp = 2 A Mtr = 2
cycleQ := cycleQ +{
func3trtQ;
funcBtp();
}
}}
FIGURE 4.17- Sous-système Drill (spécification du contrôle)
215
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
structure du sous-système (PHS : MW en figure 4.16). Cette variable peut donc être uti-
lisée de la même façon que la variable d'état d'une instance de composante réutilisable
et faire l'objet d'affectation (PHS := 1) ou dénoter un terme dans un prédicat (voir la
figure 4.17).
Au sein d'un sous-système, les éléments de mémoire sont représentés par des AFD
dont tous les événements sont partagés avec les autres éléments du sous-système. Leur
dynamique (la fonction de transition de leur AFD) doit être explicite pour permettre la
synthèse. À cet effet on adopte les conventions utilisées dans [39]. L'AFD d'un modèle de
mémoire doit être fermé sur l'ensemble des événements qu'il utilise dans sa dynamique.
Pour les événements contrôlables, toutes les transitions doivent être explicites. L'ab-
sence d'une transition à partir d'un état constitue une contrainte de contrôle explicite. Par
exemple, pour l'élément PHS en figure 4.14, l'absence d'une transition sur l'événement
stp à partir de l'état 0 constitue une contrainte de contrôle. Aussi chaque état de l'AFD
doit comporter une transition pour chaque événement incontrôlable partagé par cet élément
de mémoire (la fermeture de l'AFD). Lorsqu'une transition incontrôlable ne doit pas se
produire dans le système contrôlé, cette transition (sur événement incontrôlable) doit faire
l'objet d'une contrainte dans la spécification de contrôle. Par exemple, pour l'élément PHS
enfigure4.14, la transition en boucle sur l'événement upe à l'état 1 est indésirable puisque
le patin (Drv) de la perceuse ne doit pas être actif (Drv = 1) une fois le perçage ter-
miné (PHS = 1). Ainsi il faut introduire la contrainte dénotée (4) dans la spécification de
contrôle de lafigure4.17.
11 est intéressant de noter, par exemple, qu'en figure 4.14 l'AFD PHS ne partage pas
l'événement ce généré par Clamp. Or pourtant la spécification de contrôle stipule bien
une contrainte d'exclusion entre les états PHS = 1 et Clamp = 1 (contrainte (3) en
figure 4.17). Cette situation est fréquente. Il faut noter que, puisque PHS ne partage pas
l'événement ce généré par Clamp, il y a une transition en boucle implicite sur l'événement
ce dans l'AFD PHS à partir chacun de ses états. La contrainte (3) vise ainsi à exclure du
comportement contrôlé la transition en boucle implicite sur l'événement ce se produisant à
l'état 1 de l'AFD PHS. Autrement dit le support des contraintes de contrôle se situe souvent
dans le comportement implicite au modèle du sous-système. Cette situation est fréquente
comme en font foi les spécifications de contrôle des composantes Drill (en figure 4.17)
216
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
et LRCrane (en figure 4.13). Heureusement cette forme de spécification par exclusion de
familles d'états du comportement contrôlé est habituellement assez intuitive. Pour s'en
convaincre on peut consulter l'explication des contraintes pour la conception d'une grue (à
la section 3.2.2) qui sont essentiellement les mêmes que celles utilisées pour la spécification
de la composante LRCrane.
Il faut maintenant clarifier la notion d'événements synthétiques. 11 s'agit d'une tech-
nique introduite par Leduc dans [34] pour permettre la modélisation en HISC de certaines
situations où il est nécessaire d'ajouter des événements au système. Ces événements n'ont
généralement pas de base factuelle et ne sont pas générés par des dispositifs physiques.
On peut décrire les événements synthétiques comme des événements générés par le sous-
système lui-même dans le but d'en modifier l'état de la mémoire. On peut parler d'événe-
ments liés à des mouvements d'éléments de mémoire. L'utilisation d'éléments de mémoire
est donc implicite à l'usage de cette technique.
Dans le modèle théorique on adjoint au sous-système un AFD comportant un et un seul
état avec une transition en boucle sur cet état pour chacun des événements de son alphabet.
À la figure 4.14, cet AFD est représenté par une boîte grisée à gauche de la figure. Puisque
cet AFD a toujours la même forme et qu'il n'ajoute aucune information d'état au modèle, il
n'est normalement pas représenté. Il suffit de donner une liste des événements synthétiques
dans la spécification de structure comme en figure 4.16. Cet AFD représente cependant un
dispositif au même titre que les instances de composantes réutilisables. Il ne s'agit donc pas
d'un AFD d'élément de mémoire. Ainsi cet AFD a un alphabet disjoint de tous les autres
dispositifs. Il ajoute donc au sous-système un certain nombre d'événements (habituellement
des événements contrôlables). L'occurrence de n'importe lequel de ces événements modifie
nécessairement l'état d'au moins un des éléments de mémoire interne à un sous-système.
Avec ce modèle théorique les événements synthétiques entrent naturellement dans la
modélisation, la spécification de contrôle et la synthèse de sous-systèmes au même titre
que n'importe quel autre dispositif. Par exemple, pour le sous-système Drill illustré à la
figure 4.14, il y a deux événements synthétiques, strt et stp. Ces deux événements sont par-
tagés par l'AFD SW, et stp est aussi partagé par l'AFD PHS, exprimant ainsi des contraintes
de contrôle explicites puisque ces événements sont contrôlables. Aucune des instances de
composantes réutilisables du sous-système ne partage ces événements (en conformité avec
217
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
le modèle théorique). Il y a donc des transitions en boucle implicites à tous les états des mo-
dèles d'AFD pour Clamp, Mtr et Drv et ce, pour chacun des événement strt et stp. Aussi
retrouve-t-on, entre autres, la contrainte (1) en figure 4.17 pour interdire l'occurrence de
l'événement strt (c'est-à-dire le démarrage du sous-système) à moins que tous les disposi-
tifs (Clamp, Mtr et Drv) ne soient à l'état initial.
Concernant la génération de code, la synthèse procure les prédicats de contrôle fslrl et
f„p et donc la définition de P,trt() et Pstp(). Les fonctions funcstr,Q etfuncslpQ peuvent être
générées en conformité avec l'algorithme 4.1 (événements contrôlables) et les fonctions
ProjectslrtQ et ProjectslpQ en conformité avec l'algorithme 4.2. Aussi, puisque la fonction
de transition de tous les AFD est donnée explicitement, la mise à jour des variables d'état
pour les instances de composantes réutilisables ainsi que pour les éléments de mémoire
peut être générée automatiquement dans les fonctions lalstrlQ et lalslpQ.
lalatrt() := { SW := 1 ; }
lalstpQ := { SW := 0 ; PHS := 0 ; }
Comme pour les composantes élémentaires, il est nécessaire de lier la dynamique abstraite
du sous-système à l'occurrence des événements strt et stp puisque ces derniers sont générés
par le sous-système lui-même. À cette fin, comme illustré en figure 4.17, on introduit les
appels correspondants dans l'heuristique cycleQ.
On peut remarquer qu'à la figure 4.15 l'événement stp (qui est contrôlable dans le
sous-système) est projeté sur l'événement d'interface end qui est incontrôlable. La règle
de l'équation C.5 pour la conception d'interface (calcul d'un observateur) permet en effet
cette manoeuvre (mais pas l'inverse bien sûr).
D'ailleurs les mécanismes d'instanciation présentés dans cette section permettent aussi
de changer, à l'instanciation, le statut d'un événement contrôlable de l'interface pour le
considérer incontrôlable. La déclaration suivante
Boom : J a c k l l l w i t h {
S c := { d e p l o y [ r i g h t ] }
E n := { r e t r a c t [ l e f t ] ,
deployend[rightend],
retractend[leftend] }
}
218
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
Drill
219
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
220
CHAPITRE 4. MODÉLISATION DE PROBLÈMES DE CONTRÔLE
1. le diagramme d'assemblage ;
2. la spécification de structure comprenant : l'inventaire des ressources du sous-système,
la spécification de contrôle et la loi de contrôle ;
(voir en section D.2). La loi de contrôle est naturellement obtenue par application des pro-
cédures de synthèse de SCT. L'expression du système sous contrôle local (G ts ) n'est né-
cessaire que si le sous-système doit être doté d'une interface (c'est-à-dire abstrait).
Pour le sous-système d'une composante de base, puisque le processus est ad hoc, tous
les éléments sont spécifiés à priori et documenté selon la méthode choisie. Le modèle
du comportement libre prend en général la forme d'un modèle exhaustif du système (voir
section [Link]). La loi de contrôle est spécifiée a priori par insertion de code d'intégration
donné dans la spécification de structure (voir section D.l). Finalement un modèle exhaustif
est dressé à priori. Certaines lignes directrices sont utiles comme : dresser des AFD comme
modèles, associer chaque état de ces AFD à une configuration détectable du matériel et en-
fin de baser l'alphabet d'événements sur des changements détectables de la configuration
du matériel. Le modèle exhaustif doit nécessairement être un AFD puisqu'il sert de point
d'entré à l'abstraction d'une interface (le modèle G ts ). L'usager est responsable de véri-
fier formellement ou, au moins, de valider statistiquement le comportement sous contrôle
présumé. Il en va de la qualité des modèles qui plus tard sont soumis à la synthèse.
Le processus d'abstraction, lui, est commun au deux type de composantes et se déroule
toujours selon le même schéma. À partir d'un modèle du sous-système sous contrôle local
Gts,
1. on établit une machine de Mealy pour la projection désirée (il s'agit d'hypothèses
que l'on fait sur les transitions à projeter) ;
2. on soumet ces hypothèses de projection à l'algorithme de Wong qui calcule une bi-
simulation du sous-système et, le cas échéant, soumet des hypothèses de projection
supplémentaires ;
3. si on est satisfait du résultat, on a terminé, sinon on doit reformuler des hypothèses
et boucler à l'étape (2).
À la sortie de cette procédure heuristique, le résultat de l'algorithme de Wong est une défi-
nition d'interface adéquate (c'est-à-dire une projection dotée de la propriété d'observateur).
221
Chapitre 5
L'usine école MPS est une usine modulaire Festo™ dont on peut trouver la description
détaillée dans l'ensemble des brochures techniques : [17, 18, 19, 20] et [21]. Cette usine
modulaire est conçue spécifiquement pour la formation de techniciens ayant à programmer
ce type de dispositifs en industrie. L'usine école MPS constitue donc un exemple représen-
tatif de dispositif industriel dont la taille procure une étude de cas représentative du type
de problèmes rencontrés. Dans son ensemble, d'une douzaine de cellules de traitement,
l'usine école matérialise le processus d'assemblage de pistons pour des moteurs à combus-
tion. Cependant, puisqu'il s'agit d'un outil pédagogique, les matériaux utilisés ne sont pas
les matériaux réels, question de coûts, et les éléments usinés (des pièces rondes en plastique
et en aluminium) peuvent être réutilisés.
L'usine école MPS comporte potentiellement une douzaine de cellules de traitement
divisées en plusieurs stations. Le laboratoire des système réactifs n'en compte que quatre
(les quatre premières) :
1. la station de livraison ;
2. la station de test ;
3. la station d'usinage ;
4. la station de manutention.
Dans le montage du laboratoire l'ensemble est contrôlé par un automate programmable
222
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
224
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
DStn
Seq Inj
(T) ^ J
Wp y*
3\o) 1)
ir (jy ¥ 'e
225
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
DStn :G
dwp : arrivée d'une pièce
dgle : arrivée au dock
drst : verrouillage au dock
dwp
DStn :G
Inj Crn
wp : work pièce arrivai gl : go left cl : close
/ : inject gle : go left end cle : close end
ie : inject end gr : go right op : open
ir : injector rearm gre : gorightend ope : open end
226
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
Component DStn {
SubSystem DStn {
State Vector = <Seq, Inj, Crn>
CtrlSpec {
/* Implicit */
/*(1) */ Inj = 2 A Crn G {1,2,3,4,5,6} (Safety)
/*(2) */ Inj = 3 A Crn G {3,6} (Safety)
/*(3) */ Inj G {0,1,2} A Crn = 4 (Safety + fct)
/* Standard wrt Seq */
/*(4) */ Seq G {0,7,13} A ( Inj = 2 V Crn G {1,3,4,6})
/*(5) */ Seq G {1,8} A ( Inj = 0 V Crn G {1,3,4,6})
/*(6) */ Seq € {2,9,12}
A { Inj G {0,2} V Crn G {3,4,6})
/*(7) */ Seq = 3 A ( Inj G {0,2} V Crn G {l,3,6})
/*(8) */ Seq G {4,10,14}
A ( Inj G {0,2} V Crn G {1,3,4,6})
/*(9) */ Seq G {5,16} A ( Inj = 2 V Crn G {1,4})
/*(10)*/ Seq G {6,15} A ( Inj G {0,2} V Crn G {l,4})
/*(11)*/ Seq = 11 A ( Inj = 2 V Crn G {3,4,6})
/* Explicit wrt Seq */
227
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
J rst '• =
Seq € {10,13,11}
fi = =
I n j = 1 A Seq G { 1 , 8 }
/ir :=
Inj = 3 A Seq = 4
Jgi '• -
Crn = 0 A Seq G { 2 , 7 , 9 }
Ur :-
(Crn = 2 A Seq G { 1 5 , 1 6 } )
V (Crn = 5 A S e q G { 5 , 6 } )
fci : = Crn = 2 A Seq = 3
fop := Crn = 7
228
CHAPITRE 5. ETUDE DE CAS, LE MPS
TStn
229
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
Seq
(8)
0 lue, Ide,mp, mf, me, ee
(9) 0 Ide, me,ee
permettant de pousser une pièce hors de la plateforme dans une direction prédéterminée.
L'état initial de la station de test (au repos quand la plateforme est vide) se trouve en posi-
tion basse, le vérin évacuateur hors fonction et le micromètre hors fonction (sonde retirée
et micromètre à l'état initial).
Informellement, sur réception d'une pièce à tester, la station doit d'abord effectuer un
test de tolérance. Or la sonde du micromètre est située en position haute. Le monte-charge
est donc d'abord commandé en position haute puis le micromètre enclenché. Sur l'émission
du résultat de test par le micromètre l'une d'entre deux séquences d'actions possibles doit
être sélectionnée. Mais dans les deux cas il faut d'abord attendre que la sonde du micro-
mètre se soit désengagée complètement puisqu'il y a une possibilité d'interaction nuisible
avec Pevacuateur. Lorsque le test est positif la pièce est admissible à l'usinage. Puisque le
monte-charge est déjà en position pour le chargement du tampon de préusinage, Pevacua-
teur peut tout de suite être enclenché puis le monte-charge redescendu en position basse.
Lorsque le test est négatif la pièce doit être rejetée. Or la chute de rejet se situe en position
basse. Le monte-charge est donc d'abord commandé en position basse puis Pevacuateur
enclenché. Après le traitement complet d'une pièce (chargement au tampon ou rejet) le
micromètre est réarmé terminant le cycle complet de la station de test (retour à l'état initial
en attente d'une pièce à tester).
Les détails structurels de la composante locale TStn, comprenant la spécification for-
230
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
TStn: G
tes
ts : démarrage de test 'P s^Qy*
tp : succès ts
tf
te
: échec
:finde test
^/ôT^^ W "^5X. m
tes : début de transfert te tee
tee :finde transfert
TStn :G
Lift MM Eve
lu liftup ms : MM start es : evacuator start
lue lift up end mp : MM test pass ee : evacuator end
Id lift down mf : MM test fail
Ide lift down end me : MM test end Synthetic
mr : MM reset tstrt : test station start
mr/te mf/tf
ro,o,o
m
mr/te p/lP
231
CHAPITRE 5. ETUDE DE CAS, LE MPS
melle de ses requis de contrôle ainsi que la fonnulation de la loi de contrôle obtenue par
synthèse sur l'ensemble des contraintes, sont donnés dans la spécification de composante
qui suit.
Component TStn {
SubSystem TStn {
State Vector = <Seq, Lift, MM, E v o
232
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
( Lift € { 1 , 3 } V MM G { 1 , 2 } V Eve = 1 )
/ * ( 9 ) * / Seq = 1 A ( L i f t = 3 V MM = 2 V Eve = 1 )
/ * ( 1 0 ) * / Seq € {2,6} A
( Lift £ { 1 , 3 } V « H = 1 V Eve = 1 )
/ • ( 1 1 ) * / Seq € {3,8} A
( Lift = 1 V M M 6 { 1 , 2 } V Eve = 1 )
/ * ( 1 2 ) * / Seq G {4,7} A
( Lift G { 1 , 3 } V MM G { 1 , 2 } )
/*(13) tstrt <= Seq = 0 * /
}
J tstrt '•-
Seq = 0
flu • =
L i f t = 0 A Seq = 1
fia '• =
L i f t = 2 A Seq = G { 3 , 8 }
J ms ' ~
MM = 0 A L i f t = 2
=
/mr •
MM = 3 A Seq G { 9 , 5 }
Jes '• ~
Eve = 0 A Seq e {4,7}
}
}
Puisque l'activité de la station de test est totalement séquentielle, l'usage d'un sé-
quenceur en figure 5.5 (un automate de langage légal) est assez naturelle. Sa structure
est d'ailleurs beaucoup plus simple que celle du séquenceur de la station de livraison (en
figure 5.2) qui admet un certain niveau de parallélisme dans son action. Les mêmes re-
marques que pour le séquenceur de la station de livraison sont applicables au séquenceur
de la figure 5.5 quant à la façon d'obtenir les requis dit standards numérotés (8) à (12). La
même numérotation est suivie dans la spécification de contrôle pour la composante locale
TStn. Encore une fois, le séquenceur contient une contrainte explicite, numérotée (13), sur
l'événement synthétique contrôlable tstrt correspondant à une commande de démarrage de
la station de test. Le reste des requis de contrôle, numérotés (1) à (7), sont des contraintes
233
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
implicites.
- Les contraintes (1), (5) et (6) spécifient que Faction des dispositifs de la station doit
être strictement alternée (pas de parallélisme - sécurité).
- La contrainte (2) interdit l'entrée en action du micromètre lorsque le monte-charge
est en position basse.
- La contrainte (3) interdit au monte-charge de remonter lorsqu'un test a déjà été fait
et la contrainte (4) de redescendre avant que le test ne soit réalisé.
- La contrainte (7) interdit que Pevacuateur soit enclenché sans connaître d'abord le
résultat du test.
La composante locale TStn encapsule un modèle brut de 69 120 états si on compte le
séquenceur comme une composante du sous-système. 11 nécessite la formulation de 22
requis de contrôle auxquels s'ajoutent les 14 requis de contrôle réutilisés par instanciation
de composantes réutilisables pour total de 36 requis de contrôle pour le sous-système.
234
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
de profondeur (Tstr en figure 5.7) disposée juste après la position de la perceuse permet
d'évaluer si la perforation effectuée par la perceuse est assez profonde. Enfin, à la position
de sortie, une grue de transfert (Crn en figure 5.7) est responsable d'extraire la pièce traitée
et de la transférer vers la sortie du système ou de la rejeter, dependamment du résultat du
contrôle de qualité. La figure 5.8 et la figure 5.9 donnent des détails complémentaires sur
les éléments de mémoire du sous-système. Enfin, la figure 5.10 donne le modèle d'interface
(G,G) du sous-système (la composante locale PStn).
Informellement, la station d'usinage se trouve à l'état initial (au repos) lorsque la table
d'usinage est vide et que tous les dispositifs de la ligne de montage (vérin d'obstruction,
perceuse, sonde et grue de transfert) sont au repos (hors fonction). À l'admission d'une
pièce à l'usinage, cette pièce doit être percée puis sa perforation testée et, dependamment
du résultat de ce test, la pièce doit ensuite être rejetée ou transférée à la sortie du système.
Plusieurs pièces peuvent être en traitement simultanément. Les dispositifs d'usinage ne
doivent pas entrer en fonction inutilement (sur une position vide par exemple) et ne doivent
entrer en fonction qu'une seule fois sur une même pièce.
Les détails structurels de la composante locale PStn, comprenant la spécification for-
melle de ses requis de contrôle ainsi que la formulation de la loi de contrôle obtenue par
synthèse sur l'ensemble des contraintes, sont donnés dans la spécification de composante
qui suit.
PStn
235
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
PStn
SRI
cve,tf
*4w)
tf
DMon TMon tp (xj^\cve
V ^ cr N. {_} et
236
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
pbo
PStn : G
pbo : ouverture du tampon <s/()V j'O
pbc : fermeture du tampon ^^^~~~nh~~^^
PStn : G
Buf Drill Crn
bo : buffer open as : drill start et : crâne transfer
bce : buffer close end de : drill end cr : crâne reject
ce : crâne pick-up done
Cvr Tstr
CVS : conveyor step ts : tester start
cve : conveyor step end te : tester end
tp : test pass
/ / : test fail
237
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
Component PStn {
SubSystem PStn {
State Vector = <DMon, TMon, SRO, Buf, Cvr, Drill, Tstr,
Crn, SR1>
DMon : MW; /* Drill done Monitor 0..1 */
TMon : MW; /* Tester done Monitor 0..1 */
SR0<M0,M1,M2,M3> : MW; /* Work Table state 0,..,15 */
SR1<M4,M5> : MW; /* Test Resuit double buffer */
CtrlSpec {
/* I m p l i c i t (safety) */
/ * (1) * / Cvr = 1 A Buf = 1
/ * ( 2 ) * / Cvr = 1 A D r i l l = 1
/ * ( 3 ) * / Cvr = 1 A T s t r € { 1 , 2 }
/ * ( 4 ) * / Cvr = 1 A C r n = 1
/ * S t a n d a r d w r t SRO ( s e q u e n e i n g ) */
/ * ( 5 ) * / Buf = 1 A
238
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
239
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
.1 cvs '• —
Cvr = 0
A Buf = 0
A Drill = 0
A Tstr = 0
A Crn = 0
A ( SRO = 1000
V ( SRO G { 0100, 1100 } A DMon = 1 )
V ( SRO G { 0010, 1010 } A TMon = 1 )
V ( SRO G { 0110, 1110 } A DMon = 1 A TMon = 1 )
)
fds •=
Drill = 0
A Cvr = 0
A DMon = 0
A SRO G { 0100, 0101, 0110, 0111, 1100, 1101, 1110,
1111 }
J ts '• ~
Tstr = 0
A Cvr = 0
A TMon = 0
A SRO G { 0010, 0011, 0110, O U I , 1010, 1011, 1110,
1111 }
1er ==
Crn = 0
A Cvr = 0
A SRO € { 0001, 0011, 0101, O U I , 1001, 1011, 1101,
1111 }
A SRI G { 00, 10 }
Jet '• =
Crn = 0
A Cvr = 0
A SRO G { 0001, 0011, 0101, O U I , 1001, 1011, 1101,
1111 }
A SRI G { 01, 11 }
}
}
240
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
241
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
242
CHAPITRE 5. ETUDE DE CAS, LE MPS
sur les événements contrôlables et et cr partagés avec la grue de transfert. 11 faut noter que,
mis à part les requis (14) et (15), SRI n'impose aucune autre contrainte. Le modèle de
SRI est fermé sur l'ensemble des événements incontrôlables qu'il partage avec les autres
dispositifs et toutes ces transitions sont légales dans ce contexte. De plus, SRI n'impose
aucune contrainte de marquage, c'est-à-dire que tous ses états sont terminaux.
Dans le modèle de la projection de la composante locale PStn illustré en figure 5.10
il est impossible de donner une représentation graphique de la projection (la machine de
Mealy G) car elle est trop volumineuse. La fonction de projection est cependant très simple
car il suffit de projeter toutes les transitions qui correspondent à une activité du vérin d'obs-
truction du tampon de préusinage à l'entrée de la station (événements bo et bce).
La composante locale PStn encapsule un modèle brut de l'ordre de 7,13 x 1013 états
si on compte les éléments de mémoire DMon, TMon, SRO et SRI comme composantes du
sous-système. Il nécessite la formulation de 15 requis de contrôle auxquels s'ajoutent les
79 requis de contrôle réutilisés par instanciation de composantes réutilisables pour un total
de 94 requis de contrôle pour le sous-système.
243
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
System
Delivery
wpa : arrivée d'une pièce
wpd : pièce livrée
def : libérer la grue
BufO
wpte
wpd
4x Vi) wpte
wpd
Test
Test
j wpl
wppy •^*® wpt : démarrage de test
wpt wpf wpp : succès
wpf : échec
'KiL^^VJ (i) m wpte fin de test
wpte
wple wpl : début de transfert
wple fin de transfert
Bufl
spbc
wple
*<°}
spbc
X)
wple
Processing
Processing
spbo
spbo : ouverture du tampon
spbc : fermeture du tampon
spbc
244
CHAPITRE 5. ÉTUDE DE CAS, LE MPS
System {
State Vector = <Delivery, BufO, Test, Bufl, Processing>
245
Conclusion
Le temps est maintenant venu d'établir un bilan des contributions de cette thèse. Il est
possible d'affirmer, sans exagérer, que tous les objectifs fixés initialement sont atteints.
246
CONCLUSION
devient vite évident que cette forme d'expression des requis de contrôle est supérieure à
l'usage d'AFD de contrainte en termes de clarté d'expression. Les requis formels peuvent,
entre autres, être mis en correspondance avec les requis informels qui les motivent. Aussi
cette forme (par usage de prédicats) est mieux connue dans la pratique et certainement plus
abordable par des non-spécialistes que celle des AFD de contrainte.
La forme de ces sous-systèmes et l'expression de leurs requis de contrôle par des pré-
dicats sont parfaitement compatibles avec les procédures de synthèse de SCT (voir au
chapitre 4). Il est d'ailleurs possible d'utiliser autant les procédures de synthèse classiques
(qui fonctionnent par exploration exhaustive de l'espace des états) que les procédures spé-
cialisées formulées par Ma et Wonham dans [39] (avec usage de BDD). L'usage des pro-
cédures de Ma et Wonham est cependant plus adéquate puisque ces procédures produisent
directement une loi de contrôle sous forme d'une SFBC. Quoi qu'il en soit, étant donné
la forme de modélisation des problèmes de contrôle préconisée (des STS sans structure
verticale), le résultat peut toujours être réduit à un ensemble de prédicats de contrôle (une
SFBC, un de nos objectifs initiaux). Ce type de résultat de synthèse est nécessaire pour une
implémentation efficace de la loi de contrôle.
Enfin, la définition d'une dynamique abstraite (au chapitre 4) pour les composantes
réutilisables procure l'instrumentation nécessaire pour la formulation de schémas de gé-
nération de code compatibles avec une variété de cibles. En donnant une forme précise
aux heuristiques de génération de code, du code d'intégration (glue code) peut être inséré
aux endroits appropriés par le générateur de code lui-même. Il est clair que l'ensemble
des cibles possibles pour la génération de code ne se limite pas à des cibles PLC. Avec la
définition de la dynamique abstraite le contrôle peut être envisagé sur un ordinateur plus
conventionnel (par exemple, PC-based control dans le jargon de la pratique).
La dynamique abstraite est basée sur l'appel de procédures et une lecture inattentive
peut porter à croire qu'une cible PLC doit être dotée d'un mécanisme de transfert de flot
de contrôle adéquat pour pouvoir supporter cette dynamique, mais il n'en est rien. Dans la
dynamique abstraite on peut remarquer que le flot des appels de procédure passe toujours
des composantes les plus concrètes aux plus abstraites, formant un graphe orienté acyclique
qui s'arrête au niveau du système. Avec cette forme de structure d'appel de procédure, les
diverses fonctions appelées peuvent être incluses au point d'appel. Il s'agit d'une technique
247
CONCLUSION
248
CONCLUSION
249
CONCLUSION
tion entre noeuds conjonctifs, ce qui serait pourtant le modèle le plus expressif.
Aussi, dans [59], le schéma présenté par Wong et Wonham, appelé la coordination,
peut, peut-être, être utilisé pour l'analyse de situations conflictuelles entre des compo-
santes qui partagent certains de leurs événements. Ceci peut ouvrir la porte à des com-
posantes qui partagent certains de leurs événements. Un tel schéma est plusflexibleet vaut
la peine d'être investigué. Quoi qu'il en soit, la coordination présente des similitudes avec
les concepts étudiés dans cette thèse qui méritent d'être clarifiés pour en comprendre les
implications.
Epilogue
En terminant on peut observer que les résultats de cette thèse constituent probable-
ment le genre de réponse adéquate à l'article de Ekberg et Krogh [13]. À peu de chose
près, la métaphore de composantes réutilisables utilisée ici s'assimile aux schémas de ma-
chines d'états (State Machine Templates) préconisés dans cet article. Puisque les prédicats
de contrôle, qui forment ici le résultat de synthèse, peuvent être réduits à des conditions
de garde sur des transitions contrôlables (voir au chapitre 4), il semble bien que ce modèle
soit très similaire au leur.
250
Annexe A
Ce qui suit est une spécialisation des résultats de Wong et Wonham [58] concernant le
contrôle non bloquant dans les hypothèses du théorème 2 (p. 254). Notamment on cherche
à prouver que ces résultats tiennent toujours lorsque C}n(M) Ç 0(Cio(L)) (consistance hié-
rarchique restreinte) pourvu que la spécification soumise à l'agent soit E G C\,(A/), c'est-
à-dire que la spécification est contrôlable. Le but est d'en arriver au résultat du théorème 6
qui résume tous les résultats à partir de la proposition 15.
Notez que dans ces conditions si on dispose d'un opérateur de synthèse pour l'abs-
traction, par exemple si M est muni d'une technologie de contrôle standard auquel cas
KM(E) = S 'U3CA/(E), on peut toujours soumettre à l'agent le résultat de synthèse de
l'abstraction comme spécification ; la spécification est toujours contrôlable. Dans ce cas,
la consistance hiérarchique restreinte suffit, bien que le nombre d'options de contrôle dis-
ponibles dans Cht puisse être plus limité que le nombre d'options de contrôle disponibles
dans Ci,,.
Rappelons que pour le développement des résultats sur la synthèse non bloquante dans
[58] on doit imposer la restriction suivante sur C;,,,
251
ANNEXE A. RÉSULTATS SUR LE CONTRÔLE NON BLOQUANT
section 3.1).
Rappelons aussi certains résultats sur la propriété d'observateur. Pour X! et T deux al-
phabets disjoints, L Ç E* fermé, M Ç T* et 0 : L —> M une projection causale :
x
0 est un observateur <==> 0 o pre.\i = prti o 9~x
où preL et pre M sont les opérateurs de fermeture préfixée sur L et M respectivement ([58],
théorème 3). Et,
Théorème 2 ([58]).
Soit Cio et Chi deux structures de contrôle respectivement sur L et M, et soit N G J-,u avec
Il :=0-~x(N)[Link]
252
ANNEXE A. RÉSULTATS SUR LE CONTRÔLE NON BLOQUANT
= O(KLO0-I(KXI(E))).
Ainsi il existe u G KL O 0~1(KM(E)) tel que 0(u) — t. Or, pour u ainsi fixée, puisque
X
KI o 0~ (KM(E)) est non bloquant par hypothèse, on a
u G KL o0-\KX,,(E))r\Lm
X
(3-s | s G KI o0 (KM(E)) n Lm : u < s)
(3 s\sG Lm: 9(u) < 0(s) A 9 (s) G 0(KIO0-X(KM(E)))), car 0 est causale
(3 s\sG Lm:t< 0(s) A 0(s) G 0(KL O 0-X(KAI(E)))), 0 causale et 9(u) = t
(3 .s | .s G Lm : /. < 0(s) A 0(s) G 0 o KLO()-1(KM(1'J)))
253
ANNEXE A. RÉSULTATS SUR LE CONTRÔLE NON BLOQUANT
Pour le prochain théorème on considère la notion suivante. On dit que la paire (L, 9)
est fortement observable si 9\h, c'est-à-dire 9 dont le domaine est restreint à K, est dotée
de la propriété d'observateur pour tout K G Ci„(L).
77Jo0-x(KM(E)jnLm Ç KLO9-X(KU(E)).
puisque 9 est causale. Ainsi 9(s) G K\I(E) puisque Cjn(M) Ç 6(Ci„(L)). Donc il
existe r G T* pour lequel 9(s)t G KM(E) et 9(s)t G Mm (éq. (A.2)).
D'autre part, puisque KLO0~X(KM(E)) GCio(L),K := KL o 9~X(KM(E)) G Cto(L).
254
ANNEXE A. RÉSULTATS SUR LE CONTRÔLE NON BLOQUANT
MA') = W )
= 0(KLO9-X(KM(E)))
= 0(KLO6-I(KX,(E)))
= 9OKLO9-X(KM(E))
= KAt(E)
l'ensemble des sous-langagcs fermés et contrôlables de L qui sont maximaux par rapport
à leur image par 9. Si l'on ne dispose que de la consistance hiérarchique restreinte, il faut
restreindre davantage X'. On définit donc
pour ne sélectionner dans X' que les éléments dont l'image est contrôlable dans M comme
ensemble de sous-langages intéressants. On dit alors que la paire (L, 9) est fortement obser-
vable par rapport à X si 9\K est dotée de la propriété d'observateur quel que soit A" G X.
255
ANNEXE A. RÉSULTATS SUR LE CONTRÔLE NON BLOQUANT
KH0-X(KM(E)) = K.
Démonstration.
I<n0-x(KM(E))Ç K = A.
= 0OKLO9~X(KM(E))
= *M(E).
il existe donc t G T* tel que 0K(^Y G KM(E). Or, pour / ainsi fixée, puisque 0K est
un observateur, on a
=* (3 u | u G E* : su G A A s M G 0_1(«Af (£)))
==*• (3u | u G E* : ,su G / ( n f 1 ^ ! ^ ) ) )
s6/(nr'(KA/(£))
256
ANNEXE A. RÉSULTATS SUR LE CONTRÔLE NON BLOQUANT
Démonstration. Prenons E Ç M.
Q ) Par consistance hiérarchique restreinte on a
KLO0-1(KM(E)) = KLO0~X(0OKLO0~X(KX,{E)))
l
= KLO9 (9(nr.o9-HKM(E))))
= KLO0-1(0(KLO0-HK„(E))))
KLO0-X(9(K)) = KL o 9~1(K^(Ë~)) = K
257
ANNEXE A. RÉSULTATS SUR LE CONTRÔLE NON BLOQUANT
en vertu de l'équation A. 1.
Maintenant posons s G K et, par le même argument que celui du lemme, il existe
u G E* pour lequel
su G KO 9~1(KM(E)) Ç 0 X
(KM(E)).
Démonstration.
Pour E Ç A/ d'après la proposition 16 on a Ktj o 9~X(KM(E)) = KL O 9~Ï(KM(E)), et
X ]
K/, o 9~ (KA!(E)) G X. Par conséquent K := KL O 9~ (KM(E)) G X ; ainsi 9K possède la
propriété d'observateur et l'argument du théorème 4 s'applique intégralement ici. D
L'argument de preuve donné dans [58] demeure essentiellement inchangé, une seule
étape de preuve invoquant la consistance hiérarchique complète doit être clarifiée.
258
ANNEXE A. RÉSULTATS SUR LE CONTRÔLE NON BLOQUANT
L'une des étapes de la preuve invoque Chi(M) = 0(C)o(L)) pour justifier que B(K) G
C/«(A/) pour K G X. Or dans le contexte défini plus haut, on a déjà
X
X := {K G Clo(L) \KLO9 O 0(K) = A, 9(K) G Chl(M)}
Théorème 6 (|58J).
Supposons que la restriction de l'équation A. 1 sur C\0 tienne, et que
9-x(Mm) = Lm;
9 est dotée de la propriété d'observateur;
9~x o KM < Kl o f?"1 o KM.
Alors
(V E G M) KM(E) non bloquant <=» KI O 9~X(E) non bloquant.
En conclusion, les résultats de Wong Wonham [58] sur la synthèse non bloquante sont aussi
applicables à la consistance hiérarchique restreinte.
259
Annexe B
260
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
Démonstration.
En général cependant, l'inclusion peut être stricte comme en témoigne l'exemple sui-
vant.
Exemple. Posons s\.s2 G L (sx -£ s2) tels que 0(s\) = 0(s2) = I G M. Posons aussi
Ki := {e, si} et K2 := {f., ,s2}. On a donc,
Le lemme t de Wong [55] (page 96) présente un résultat intéressant qui est reproduit
ici sous forme d'une proposition dans le but d'en clarifier la preuve.
Proposition B.3. Soit H, J Q L et supposons que 0~x (9(H)) = H ou que 0~X(0(.J)) = ./.
Alors
9(Hr\J) = 9(H)n9(J).
261
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
Proposition B.4. Soit N\,N2 Ç M. Alors 0-x(Nr U A'2) = 0 - 1 (Wi) U 0~X(N2) et donc
0~x est monotone par rapport à l'inclusion de langages.
Démonstration.
Proposition B.5. Soit N\, N2 ç A/. Alors 0-x(Ni D N2) = 0'x(Ni) n 0~X(N2).
Démonstration.
Dans [58], Wong et Wonham introduisent une propriété qui joue un rôle clef dans la
théorie du contrôle hiérarchique non bloquant ; l'absence de couplage de contrôle (de l'an-
262
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
0„ l °KM <KLO0 X
OKA[ (B.l)
OÙ K ; y : = KM\?hl-
La notion de couplage de contrôle est présentée par Zhong et Wonham dans [66] ; on
y parle de partenaires (de l'anglais partners) en référence à une situation illustrée dans la
figure B.l. Dans le contexte de Zhong et Wonham, l'agent est muni d'une technologie de
contrôle standard et 0 possède une propriété dite OCC (de l'anglais pour Output Control
Consistency, à ce sujet voir l'appendice A de [59] pour plus de clarté) de sorte que la
technologie de contrôle induite dans l'abstraction est également standard.
Dans la figure B.l, 9(S')T\, 0(S')T2 G M et TX.T2 G Tc de sorte qu'il peut se présenter
une situation où N G Ch,(M) et 9(S')TI G N mais 9(s')r2 g N (ou vice-versa). Or la sup-
pression de la génération de ces chaînes à travers l'agent dépend du seul élément de contrôle
commun s G E* dans s's G L. Alors pour supprimer la génération de 9(S')T2 (puisque
/T
#(-'>' ) 2 G" .V), il faudra supprimer la génération de .s'.s.s^ en inhibant l'événement contrô-
lable a dans le segment s'a menant à s'ss'202- Or ceci implique de supprimer aussi la géné-
ration de.s'.[Link] et par conséquent la génération de la chaîne 0(s'ss\o{) = 0(S')T\. Dans ce
sens, les chaînes s'ss\ay G L et .s's.s'2<72 G L sont des partenaires de contrôle dans l'agent
puisque le contrôle de leur génération dépend d'un unique élément de contrôle commun,
l'événement a G Ef du segment s G E* dans la chaîne s's G L.
On peut déjà noter que, dans le contexte de Zhong et Wonham [66], la présence de
partenaires de contrôle a pour effet de provoquer une surestimation des options de contrôle
disponibles dans l'agent par rapport à celles dont dispose l'abstraction. Dans ces conditions,
une synthèse dans l'abstraction peut se révéler trop optimiste par rapport à ce que l'agent
peut accomplir. En clair, il se pourrait que l'agent ne puisse pas générer l'intégralité de
l'ensemble des chaînes que contient la synthèse KAI(E) mais seulement un sous-ensemble
strict de cette dernière, compromettant ainsi la propriété de consistance hiérarchique telle
que définie dans [66]. La solution est bien sûr de bannir la présence de partenaires de
contrôle en établissant la propriété SOCC définie dans [66] (de l'anglais pour Strict Output
263
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
0(6')=0(A'6fti)=0(*'**2)
Control Consistency).
Une autre façon de formuler ce dilemme est de dire que l'on a un objectif de contrôle
abstrait E Ç M pour lequel N = KM(E), avec 0(S')TI G N et 0(S')T2 g N. Alors
Ki o 6~X(KM(E)), l'implémentation sur l'agent du comportement de la synthèse de haut
niveau, ne contiendra ni .s'.s.s'jrrj G L ni .s'.s.s^ G L puisque la génération de 9(S')T2 doit
être inhibée. Mais on aura s'ss\oi G 9^1(KM(E)) puisque 0(S')TI G N = KM(E). En
l
bref on a que 9~X(KU(E)) % K/, O 9 X(KA/(E)) OU encore plus brièvement 9V o K.W J£
KI o ^ ' o KM, et il y a couplage de contrôle.
On note que 9~x o "KM < Ki O 9~X O ~KM est une propriété plus générale que la simple
absence de partenaires au sens de Zhong et Wonham [66]. Dans le contexte de [66], si
V représente un ensemble de couples de chaînes ayant un contrôle commun dans L (des
partenaires de contrôle), alors d'après la proposition 106 dans [55]
Cependant cette caractérisation ne tient que si et seulement si C^ est munie d'une techno-
logie de contrôle standard (contexte de Zhong et Wonham [66]). Autrement (C/„ est munie
d'une technologie de contrôle non standard) on a
264
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
c'est-à-dire que la propriété 9~x o K W < KL O 9~X O"RM peut quand même être vérifiée en
présence de partenaires de contrôle.
Le résultat suivant, tiré de [55] en appendice D, est intéressant en soi mais ne comporte
pas de preuve ; nous en avons ajouté une.
Proposition B.7.
Démonstration.
265
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
266
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
11 y a donc un délai relatif à Y information disponible dans l'abstraction, par rapport à celle
qui est disponible dans l'agent, en ce qui concerne le contrôle de la transition (np, ap. r/p_ j ).
En l'absence de parallélisme effectif entre ce système et un autre système, c'est-à-dire si
le système considéré est pris en isolation, cette situation n'est pas catastrophique. Comme
mentionné dans [65] le système peut être défini comme dans la figure B.2 et toujours pos-
séder la propriété SOCC (Strict Output Control Consistency, voir aussi [62]) qui en garantit
la consistance hiérarchique (et donc la consistance du contrôle au sens du théorème 1 dans
[58]). Cependant aussitôt que l'on veut mettre ce système en relation d'exécution parallèle
concurrente (c'est-à-dire utiliser une composition par produit synchrone telle que définie
dans la section 1.1.4) la situation change.
La figure B.3 illustre deux systèmes simples complètement disjoints, c'est-à-dire (G,, <?,)
(i — 1. 2) qui ne partagent aucun de leurs événements, ni dans leurs agents (G,) ni dans
leurs abstractions (Gi) respectives et en plus E, n T\ — 0 pour i = 1.2. On peut aisément
vérifier que Q, est un observateur naturel de G, pour / = 1. 2, et aussi que chacun de ces
systèmes est SOCC dans les termes de Zhong et Wonham [65]. On note qu'il y a un délai
de contrôle dans la paire (Gi. G\ ) relativement à la génération de l'événement T\ G T\ dans
Gi qui est contrôlée par la génération de Q 0 G Ei dans l'agent G i .
L'effet du délai de contrôle devient apparent, dans la figure B.3, lorsque l'on considère
la composition synchrone des abstractions, G = G\ || G2, et qu'on la contraste avec la
composition synchrone des agents G = Gi || G 2 .
Dans les termes de [65], on perd non seulement la propriété SOCC (et donc la consis-
267
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
T3
0 ) & ( 1
0 ) G2 ( i
G = G, Il G
268
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
tance hiérarchique) mais la projection n'est même plus OCC (Output Control Consistent)
et n'a donc plus de technologie de contrôle consistante. Par exemple, dans G, r 4 G Tu ; or
dans G on peut générer r 4 (à travers 0) d'au moins deux façons :
- 0{,6()3i ) = T3T4, dans ce cas la génération de r4 est effectivement incontrôlable ;
- 0(i3O(\odi) = T:iT,x et dans ce cas, la génération de r 4 peut être contrôlée à travers
a0 G E c .
Alors est-ce que r 4 est contrôlable ou non ? Dans le contexte de [65], en présence de délai
de contrôle, le produit synchrone peut simplement détruire les conditions requises pour
la consistance hiérarchique. La situation est similaire pour le contexte défini par Wong et
Wonham [59] (en appendice A) puisque la propriété OCC entre G et G ne peut être assurée.
De ce qui précède on peut voir que la coïncidence du contrôle est une propriété im-
portante si on veut utiliser la composition synchrone d'abstractions. On trouve en annexe C
une caractérisation de la propriété d'absence de délai de contrôle (formule C.6). Aussi, dans
la même section, la proposition C. 11 montre que l'absence de délai de contrôle entraîne la
coïncidence du contrôle, et la proposition C.14 montre que l'absence de délai de contrôle
est préservée par le produit synchrone.
269
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
Informellement, on dit que deux lois de contrôle VK et V'v (sur l'agent et l'abstraction
respectivement) sont synchrones si l'effet de l'ensemble des VK(s) pour .s G 9~x(l.) est pré-
cisément d'inhiber la génération, dans l'abstraction, de toutes chaînes tr G A/ telles que
TGV'N(().
D'après la proposition 86 dans [55], en présence de consistance hiérarchique, pour
E Ç M, N :— KM(E) non vide et K := KL O 0~X(E), VK et VN existent et on a alors que
si
0 est dotée de la propriété d'observateur ;
0rx o KM < Ki o ^ ' o ~K~M ;
alors VK et V'v sont synchrones.
Rappelons brièvement que pour un langage M défini sur un alphabet T,
Eli9M (t) donne donc l'ensemble des événements que le système peut générer immédiate-
ment après la génération d'une chaîne t G M.
À l'instar de Wong [55] en section 6.3. on définit
Pour se situer dans l'argumentation précédente avec s G 9~l(t), fv(s) est formé de toutes
les chaînes su G LVOC Ç L telles que 0(sv) = 9(S)T = tr G M. Il s'agit donc de toutes les
extensions de s € L (dans l'agent) qui peuvent provoquer la génération d'un événement
r G T à la suite de la génération de t G M dans l'abstraction. On peut remarquer que
fv(s) Q Lvoc Q E est un sous-langage de L et, puisque L est préfixe clos par définition,
:=
H* fv(s) est aussi un sous-langage fermé de L. Or, puisque C\0 est une structure de
contrôle sur L, on a que Ci0(lls) est bien définie et par conséquent on dispose d'un opérateur
de synthèse K//S : P(lls) —> Cu,(lls). En effet //,. constitue un sous-système de L en ce
sens que dans l'arbre d'accessibilité T de la section [Link], //.s est une sous-structure de
transition et donc un sous-système de T (ceci est le sens donné au terme sous-système dans
[55]). On peut considérer que Hs forme une cellule de T. Supposons pour l'instant que
270
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
Définissons maintenant
En des termes similaires aux précédents, gv(s) est formé de toutes les chaînes sv G Lvoc
telles que 0(sv) = 9(s)r = tr G M et T G Vfj(t). C'est-à-dire qu'il s'agit de toutes
les extensions de s dans L dont la génération doit être empêchée dans l'agent pour que la
projection demeure conforme à L(VN) dans l'abstraction.
On peut ainsi former un objectif de contrôle Es : = lla —gv (s) local à la cellule // s . Alors
A.s := Kna(Es) est une solution partielle (locale à //„) au problème de déterminer VK car
K* Q Es est contrôlable par rapport à L dans //,. Il convient de noter que par construction
9v(s) Ç /„(. s ) C Lvoc Ç L. Aussi, si .su G gc(s) on a s G L(VK) et 0(s) = t G M(VN),
alors le contrôle à appliquer s'exerce nécessairement sur un préfixe u < v de la sous-chaîne
v à l'intérieur de la cellule Hs. Autrement dit, si on déterminait VKK comme loi de contrôle
partielle dans IIs, il est impossible que cette dernière interfère avec le contrôle d'une cellule
précédent //., ou au-delà de lls, c'est-à-dire à l'extérieur de la cellule //,,. On peut donc,
du moins conceptuellement, calculer VK cellule par cellule (VK, pour s G K) à partir de
t G M(Vu), VA', /„ et gv. Les résultats de la section 6.3 de [55] développent formellement
cette idée en prouvant que dans les conditions du théorème 6 ([55]), VK égale la somme
des morceaux VK,, notamment
Cette solution conceptuelle n'est cependant praticable que pour des générateurs finis bien
sûr.
Pour illustrer le calcul prenons le contexte de Zhong et Wonham [66] où l'agent ainsi
que l'abstraction sont tous deux munis de technologies de contrôle standards et la projection
est SOCC (c'est-à-dire OCC sans couplage du contrôle). On a donc E = E r Ù E„ pour
l'agent et T = Tc Ù Tu pour l'abstraction. Comme mentionné précédemment, si su G gv(s),
puisque gv(s) Ç fv(s), un contrôle devra s'appliquer quelque part sur u < v un préfixe de
v. et donc sur un certain a G S c pour v = a'au". Or l'opérateur de synthèse K//„ a comme
271
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
pour w G K. Par rapport à ce qui précède w — su' et w' = u". Pour paraphraser ce résultat
on peut dire que VK inhibe toujours le dernier événement contrôlable de toute séquence
(d'un sous-système de l'agent) menant à la génération d'un événement inhibé par la loi de
contrôle de l'abstraction.
Démonstration.
(Ç) Puisqu'en général, pour ? G {L 2}, p,(A D B) Ç p,(/i) Pi p,(B) (voir entre autres
[14] sur les propriétés des projections naturelles) on a
pl(K)=Mpi1(Ki)np2-1(K2)) ç MpïHKiïïnpAp]1^))
1
C M (p,- (A',)) = rr,
(i = 1.2).
Q ) Soit i, j G {1, 2} tels que t ^ j fixés et .s, G A„ alors p}(p~l(s,)) •= E* D A';
l s S e et a , o r s s
puisque E t n E 2 = 0. Donc (3 .s G p~ ( i)) '• Pj(- ) K] € p~\Kj)
i x l x
et puisque s G ]\ (sl) Ç p~ (k\) on a .s G p~ (Kt) Pip~ (Kj) = A" et donc
272
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
s, G Pi(A'). Puisque .s, est arbitraire dans A", on a que A', Ç pt(K).
On peut donc conclure que p,(K) = A, (/ = 1, 2). D
donc
1
Pr (7ï7)np 2 - 1 (Â;)-pr 1 (A,)n / ; 2 , (A- 2 )Çpr , (A- 1 )np 2 - 1 (A 2 )
puisqu'en général
p^x(Ki)^p2x(K2)Çp^(Ki)np2x(K2)
et, pour i G {1. 2}, p, l(K,) — pt l(K,) (voir [14] sur les propriétés des projections natu-
relles). Autrement dit il faut vérifier que p, x(Kt) (i — 1. 2) sont modulaires (on dit aussi
non conflictuels voir la section 2.1).
Soit s G PÏX(K~\) H p2 l(K~l), alors
sGp^CK) =» />,(.s)GÂ7
==> (3 i», G EH : p ^ s K = Pl(svt) G Kt
(i = 1, 2).
Soit donc /..y G {L2} tels que / =£ j fixés, et p,(.sr,) G A'„ / ^ ( M ' J ) G Kj définies
comme précédemment. Alors pJ(p^x(pl(svl))) = E* D K}, puisque Ei n E 2 = 0, et donc
1 n l sv Ainsi 1 existe
Pr'GM* '»)) Pj (Pj( >)) ^ 0- i sv G p^Hp.G^',)) n p-l(p,(sv])) pour
lequel p,(sw) = p,(-s)y, = pl(svt) G A', etpj(.si') = Pj(s)vj = p}(si:3) G Ky Mais alors
X
sv G pL MA',) n Pj (K3) et donc s G p, \Kt) DpJx(KJ).
273
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
p-xx(Ki)np2x(K2)Ç\p-x(Ki)np^(K2)
*,(=-) = e
\ 9,(s) • uj^sa). siu;,(sfT)!
0t(sa) = <
[ #,(<$), autrement
9(s) = s
j 0(s)-^(sa), si u(so)\
0{sa) — <
[ 0(s), autrement
f w,(7,(.s)<r), si a G E t et u/,(v,(.s)<7)! (i = 1, 2)
uj(sa) := <
[ indéfinie, autrement
pour sa G L. D'après Pu [42]. dans les conditions précitées, cette définition de 0 constitue
274
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
P, o 9 = 0, o g, i = 1, 2
1
(/, o r = « . - ' o P , / = 1,2
0(/,) = 0i(Li)\\02(L2)
Lemme [Link]. Dans les conditions définies précédemment. 0 := 9i || 92 est causale c'est-
à-dire
(Va,,s G / , ) • « < s => 0(u) < 9(s)
P,(0(s)) = 9t(Ql(s))
= Q>(<h(<>»))
= P,(0(u)-0(s)/0(u)).
C'est-à-dire, sachant que qx est caténative et que 9, est causale, on a sûrement que
ei(qi(u))<0Ml(uv)) = 9l(qi(s))-
275
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
P,(0(*)) = P,(0(u)-0(*)Mu))
d'où 0(u) < 9(s) et puisque s est arbitraire dans L, 0 :— 9i \\ 92 est causale. D
Puisque Tx n T2 = 0
d'où
9(Lm) = 9x(Litm)\\9ï(L2,m).
Lemme B.12. Dans les conditions définies précédemment, pour Ltm Ç Lx tels que Lim =
1
U (i = 1. 2) et Lm := Lhm \\ L2.m, si 0; (0l(Ll,n)) = Lx,m (i = 1,2) alors
0 l(0(Lm)) = Lm .
276
ANNEXE B. QUELQUES PROPRIÉTÉS DES PROJECTIONS CAUSALES
(i = 1.2).
Soit donc f G 0(L m ) = 0 , ( L l m ) || 02(L >,„,), alors £ G P, \0>(Lum)) (i = 1.2).
l i
Ainsi P,(f) G ^(A,, m ) (? = L2)et0; (Pl(t)) Ç 9; (9l(Lt,m)) = L,,m (i = 1,2) puisque
flrHflti/'im)) = L,,m(i = 1,2). Alors, par le lemme A.8 dans [42], q,(9~x(t)) Q L,, m d'où
r 1 ( 0 Ç ? r 1 ( £ . . m ) ( î = l,2).Donc
Proposition B.13 (Lemme 5 dans [57]). Soit E, T et Y des alphabets et L Ç E* fermé. Soit
0 : L —>• T* et p : M —+ Y* pour M := 0(L) deux projections causales. Posons FI Ç L et
supposons que 9 soit un II -observateur et p un 9(H)-observateur. Alors xp := po9 (donc
ù : L —> Y") est un ll-observateur.
277
Annexe C
Cl Consistance du contrôle
Dans les conditions précitées, l'intuition suggère qu'il existe C'lo : Ti —> V2(L), une
structure de contrôle telle que C/„ < C'lo et pour laquelle 9~l(Ch,(M)) — C'lo(L). C'est le
278
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
et
C\,(//):=C(//)n^w (C.2)
pour H G Ti.
Proposition C l . Soit C/,, et Ci,, deux structures de contrôle standards sur M et L res-
pectivement. Soit 0 : L —» M une projection causale telle que 9~x(Cixl(M)) Ç C[0(L).
2
Alors C'i„ : Ti —> V (L) telle que définie par l'équation CI est une structure de contrôle
standard.
Démonstration. Pour démontrer que C'lo est une structure de contrôle standard il suffit de
vérifier les trois propriétés sur les structures de contrôle standards (voir Wong [55] section
3.1, en particulier la proposition 13) notamment,
279
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
(1) Q,LeC'lo(L);
(2) C'io(L) est un sous-treillis complet de V(L) ;
(3) (V H G Ti) Clo(H) = {K C II | (3 A' G C'lo(L)) K = II D A"}.
D'abord Paxiome (3) découle directement des définitions, car de l'équation C l on a
que
C'lo(L) = {KCL\(3 h" G 9~x(Chl(M)) nfL)K = Ln K'}
Cto(L) = C'ln(L)nTL
= {KGCIO(L)\K = K}
,
= r (c /1! (A/))n^
280
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
e-\cM(M)) Q Clo(L)
l
0' (Chl(M))nTi Ç Clo(L)nFL=Cto(L)
On peut donc conclure que C'lo est une structure de contrôle standard sur L. D
Démonstration. Puisque, selon la proposition C. I, C'lo est une structure de contrôle stan-
dard, on a que
281
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
9-l(Ch,(AI)) Q Cio(L)
C!lo(L) = 9-l(Chl(M))n^L Ç Clo(L)r\FL=Clo(L)
d'où (VA' G C'lo(H)) K G Ci„(H) puisque Ci,, est aussi une structure de contrôle standard.
Ainsi C'lo(H) Q Cto(H) pour H G TL arbitraire, d'où Clo < C'lo. D
Proposition C.3. Soit C/u et Ci0 deux structures de contrôle standards sur M et L res-
pectivement. Soit 9 : L —> M une projection causale telle que 0~l(Cin(M)) Ç Ci0(L).
Alors
(\/N G FM) 9(01(11)) Ç Chl(N)
puisque 0 est causale. Mais alors 9(K) Ç 9(K) Ç Ar et 9(K) G Cht(N) puisque C/,, est
standard. Ainsi (V7V G 7"j»/) 9(C'lo{H)) Ç C^OV) puisque A est arbitraire dans C'lo(H) et
A* arbitraire dans TM- d
Rappelons brièvement que selon la proposition 8 dans [58], pour L et A / fermés, lorsque
9 : L -> M est dotée de la propriété d'observateur alors (VN Ç M) 0~X(N) = 0-x(N).
282
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
Proposition C.4. Soit Chi et Ci„ deux structures de contrôle standards sur A / et L respec-
tivement. Soit 9 : L —> M une projection causale telle que 0~x(C)t, (A/)) Ç Cia{L) et dotée
de la propriété d'obser\>ateur. Alors
(VAr GTM)Chl(N)Ç9{C'lo(H))
où II := 0~X(N) etC\0 . Ti —> P2(L) est telle que définie par l'équation Cl.
On peut en fait établir que, dans les conditions de la proposition C.4, on a plus généra-
lement que Chl(N) Q 0(Clo(H)) pour tout A' G FM OÙ H := 6>~'(Ar) (les conditions du
théorème 2 de [58]) si l'on note que C/« < C\0.
où H :^0-x(N).
Le corollaire C.5 nous assure donc que l'on a la forme affaiblie de la consistance du
283
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
[Link]//:=0-1(.V).
Finalement, des propositions C.3 et C.4, on peut conclure à la consistance du contrôle
complète (les conditions du théorème 1 de [58]) pour le triplet (L. 9, C'lo).
Théorème C.6. Soit Ch, et Ci0 des structures de contrôle standards sur M et L respective-
ment. Soit 9 : L —* M une projection causale telle que 0'x(Ch,(M)) Ç Ci„(L) et dotée de
la propriété d'observateur. Alors
où H :— 0~X(N) etC'lo : Ti —* V2(L) est telle que définie par l'équation Cl.
Démonstration. Découle directement des propositions C.3 et C.4. D
Proposition C.7. Soit Cju et Cu, des structures de contrôle standards sur M et L respecti-
vement. Soit 0 : L —* M une projection causale telle que 0~x(Ck,(M)) Ç Ci0(L) et dotée
de la propriété d'observateur. Alors
où K'I est l'opérateur de contrôle associé à C'(o : Ti —» V2(L) telle que définie par
l'équation Cl.
Démonstration. (Ç) D'une part, par le théorème C.6, on a ChAM) = 9(C'lo(L)) et donc
KM = 0 O K'L O 0~X par consistance du contrôle. Ainsi on a que
0-X(0(K'LO9-X(E))) = 0~X(KM(E)).
l X 1
K'LO9 (E)Ç9 (9(K'LO9 \E))) =9 (KM(E)).
284
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
E D KM(E)
X
9~ (E) D 9~X(KM{E))
X X X
K'LO9 (E) D K'LO0 (KM(E)) = 0 (KM(E))
À ce stade les conditions pour assurer la consistance du contrôle ont été établies (voir la
proposition C l et le théorème C.6). Il suffit que CV, et C\0 soient des structures de contrôle
standards sur M et L respectivement, et que 9 : L —+ M soit une projection causale telle
que 9~x(Chi(M)) C Ci0(L) et dotée de la propriété d'observateur. On peut alors conclure
que C'lo : 'Fi —> V(L) est une structure de contrôle standard et que pour N G TM et
/ / := 0~X(N) on a Chl(N) — 0(C'lo(H)). On a en particulier, d'après le théorème l dans
[58], que Chl(M) = 0(C'lo(L)) C 0(Clo(L)) et donc KM = 9O K'LO9~X où K'L est l'opérateur
de synthèse (control operator) associé à C'lo. Toutefois C'lo n'est pas localement définissable
et ne dispose donc pas d'une technologie de contrôle.
Proposition C.8. Soit Ch, et C\n des structures de contrôle standards sur M et L respecti-
vement. Soit 9 : L —» M une projection causale telle que 0~x (C/H(A/)) Ç Ci0(L) et dotée
de la propriété d'observateur. Alors
285
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
Démonstration.
Il est clair que pour tout E G F M on a certainement que K A/ (A) = KM(E) G Chl(M). Mais
alors,
0;1(KM(E)) C 0-X(KM(E)) = KL(9-X(KM(E)))
puisque 9~)(Cli, (A/)) Ç Ci„(L), et donc 9~x OKM < KLO0~X OKM pour tout A" G Ci„(M)-
Ainsi 9 est exempte de couplage de contrôle. D
où K'L est l'opérateur de contrôle associé à C'lo : Ti —> V2(L) telle que définie par
l'équation CI.
Démonstration. L'argument est essentiellement le même que pour la proposition C.8 puis-
que 9~ x(Chl(M)) Q C'l0(L) par définition de C'lo(L). D
En somme, les conditions pour une synthèse non bloquante sur l'abstraction sont main-
tenant presque toutes réunies (théorème 6 de [58]). Il ne reste plus qu'à obtenir la condition
Cette condition n'est présente dans le théorème 6 que pour assurer la consistance du mar-
quage entre les deux niveaux et ainsi pouvoir établir un lien théorique clair entre une so-
lution non bloquante dans Y abstraction et son implémentation non bloquante dans Yagent.
Comme mentionné dans [60] en préambule : «cette condition est aisée à produire loca-
lement». En fait on la pose tout simplement comme une définition L'm :— 9~x(Mm). Ce
faisant on élargit en général Lm mais, avec la propriété d'observateur, on sait que lorsque
l'abstraction a produit / G Mm alors l'agent est en portée silencieuse d'au moins une chaîne
de Lm. D'un point de vue pragmatique, cette assurance suffit puisque le système est tou-
jours capable de déterminer si la configuration courante est terminale ou non ; l'abstraction
ne joue aucun rôle ici.
286
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
Théorème CIO. Soit Chi et Ci„ des structures de contrôle standards sur M et L respecti-
vement. Soit 0 : L —> M une projection causale telle que 9~x (Chi(M)) Ç Ci0(L) et dotée
x
de la propriété d'observateur. Si onpose0 (Mm) = Lm, alors
Démonstration. Sous les conditions du théorème on sait que C'lo : FL —» T2(L), telle
que définie par l'équation C l , existe et qu'il s'agit d'une structure de contrôle standard
(proposition C1). On sait que la restriction de l'équation 2.6 est toujours réalisée pour les
structures de contrôle standards. Aussi, par le théorème C.6, on a la consistance du contrôle
pour le triplet (L. 0, C'lo) de sorte que Ctu(M) = 0(C'lo(L)). On a enfin que
- 0~'(A/ m ) = L„, par hypothèse ;
- 0 est dotée de la propriété d'observateur par hypothèse ;
- 0,7 l OK A / < K'L O 0~X OKM (corollaire C.9) ;
où K'L est l'opérateur de contrôle associé à C'ln. Ainsi le théorème 6 de [58] est applicable
dans cette situation et on a
Reste à établir qu'il est possible de construire 0 pour que les conditions précitées
existent.
287
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
d'observateur, l'expression d'une abstraction sur l'agent. Puisque L est préfixe clos, alors
M = 9(L) est préfixe clos. De plus le comportement terminal de l'abstraction est alors
donné par A/,„ := 9(Lm).
Rappelons brièvement que
LVoc:={e}U^-l(T)ÇL
oùai : L —> T est une fonction partielle appelée fonction de sortie de la projection 9. La
projection 9 peut alors être définie comme suit :
9(e) = e
ni . f 9(s)uj(sa), si u(sa)\ et oj(so) = T GT
9(sa) = <
[ 9(s) autrement
où uj(sa)\ signifie que ui(sa) est définie. Alors Lvor forme l'ensemble des chaînes de L
provoquant la génération d'un événement à travers 0. Aussi 0V est la restriction de 0 à LUH
et 0,7] la fonction 9~x dont le co-domaine est restreint à Lvoc (voir section [Link]).
Définissons maintenant
(VrGrr)0^-V)ç;£*Er. (C.6)
288
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
tion différente mais équivalente est donnée dans [59]. La proposition qui suit montre que
l'absence de délai de contrôle entraîne la coïncidence du contrôle (section B.3).
Démonstration. Le résultat découle directement de ce que C^ et Ci0 sont toutes deux mu-
nies de technologies de contrôle et sont par conséquent des structures de contrôle standards.
On retrouve ainsi les conditions du théorème CIO. D
289
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
L(VK) = 0-1(^7JW))
Démonstration.
Observons d'abord que K-M(E) G Chl(M) par définition et qu'ainsi KM(E) G Cht(M)
290
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
puisque C^ est une structure de contrôle. Or, puisque 0~x(Chi(M)) Ç Ci0(L), on a que
X X
0~ (KM(E)) G Clo(L). D'autre part 0~ (KM(E)) G FL ([58], proposition 4). Maintenant
posons KM(E) ^ 0 de sorte que 0 X(KM(E)) ^ 0 et ainsi e G L(V K ) n 0 X
(KA/(#)).
(Ç) Posons sa G L(VK) c'est-à-dire .s G L(VK), o- G VK(s) et sa G L, et faisons
l'hypothèse d'induction que s G 9~X(KM(E)). Alors,
(1) ou bien a G E u ;
(2) ou bien a G E c et 9(sa) = 9(s) ;
(3) ou bien a G E c , 9(sa) = 0(.s)r et r G VN(9(s)).
Dans le cas (1), sa G 0 X(KM(E))ZU n L Ç 0 X(KM(E)), puisque 0 V A / ( # ) )
est contrôlable. Dans le cas (2), 0(sa) = 0(.s) G KM(E), puisque par hypothèse
[ X
•s G 9~ (KM(E)), et ainsi sa G 9~~ (KM(E)). Dans le cas (3), puisque par hypothèse
•s G 0~X(KM(E)), on a0(.s) G KM(E) = A/(Vjv). Mais alors, puisque sa G L, on
a 9(S)T = 0(.sa) G 0(L) = A/, d'où 0(.sa) = 0(.s)r G A/(VW) = KM(E) et donc
.sa G 0~X(KM(E)).
Q ) Posons .sa G 9~1(KM(E)), on a donc que 9(sa) G KM(E) Ç A/, et faisons
l'hypothèse d'induction que s G L(VK). Tentons de supposer pour un instant que
.sa £ L(VK). Alors, par définition de L(VK) (section [Link]), a G" VK(s) et, par
l'équation C.7, a G E C , 9(sa) = 0(s)r et r ^ VK(9(s)). Mais alors on obtient que
0(,sa) = 0(.s)r (^ M(VN) = KM(E) ce qui contredit l'hypothèse selon laquelle
0(sa) G K-M(E) Ç M (c'est-à-dire sa G 0 X(KM(E)))- On en conclut donc que
.sa GL(VK). O
Cette preuve est très similaire à celle qu'on retrouve pour la proposition 1 dans [57].
En effet le genre de projection engendrée par l'équation C.5 s'apparente à une projection
trouée. On note aussi que les projections naturelles sont un cas particulier de projections
trouées. Or dans ces deux cas il est évident que, par définition, ces deux types de projec-
tions sont exemptes de délai de contrôle (formule C.6) puisqu'elles exposent (ou effacent)
directement certaines transitions sur événements contrôlables de leur dynamique, et que
leur alphabet est alors un sous-ensemble de l'alphabet original. Si en plus on dote ces pro-
jections de la propriété d'observateur (par exemple comme dans [14] pour les observateurs
291
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
naturels et dans [57] pour les projections trouées), on obtient des résultats similaires au
résultat précédent.
9,(e)
9,(s) • uit(sa). siu,\(saj!
9i(sa)
0,(s), autrement
f u>,(v,(.s<7)), si a G E, etu;4(r/((.sa))! (/ = 1, 2)
uj(sa) := <
I indéfinie, autrement
pour .sa G L. Dans cette définition, on note que ui(sa) est bien définie puisque E x et E 2
292
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
0(e)
9(s) - uj(sa), si u,-(.sa)!
0(sa)
9(s), autrement
pour sa G L. D'après Pu [42], dans les conditions précitées, cette définition de 0 constitue
la synchronisation de 0i et 02 notée 0 := 0i || 02 et on a alors :
I\ o 9 = 0, o q, i = 1, 2
x
qio9~ = 97loPi » = 1,2
9{L) = 9l(Ll)\\92(L2)
Proposition C.14. Pour un système (L, M, 0), obtenu par produit synchrone de deux com-
posantes disjointes (Lx, Af, 0,) telles que définies précédemment, alors la formule C.6 est
vérifiée pour (L, A/, 0).
Démonstration.
Prenons r G Tr arbitraire. Alors, puisque 7\ D T2 = 0, ou bien r G T],,. ou bien r G T 2 r .
Supposons donc que r G T l c . Prenons maintenant -sa G ui~x(r). Puisque UJ~X(T) Ç Avoc
par définition et que s < sa, on a donc s G A Ç E*. Mais alors, par définition on a que
i
^'2(fh(f>)(r) n'est pas définie, r = u;(.sa) = uj\(qi(s)a) et a G E]. c Ç E c . Ainsi sa G E*EC.
On peut faire un argument symétrique avec la même conclusion pour r G T 2 c . Puisque r
est arbitraire dans Tc, on en conclut que la formule C.6 est vérifiée pour (L, M, 0). D
293
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
Une question intéressante est de savoir ce qui arrive à la propriété d'observateur lorsque
l'on opère la composition synchrone de deux modèles qui sont eux-mêmes des abstractions
(0, pour i = 1,2) possédant cette propriété. On trouve une réponse à cette question dans Pu
[42] (aux sections 2.3 et A.2) et aussi une réponse partielle, concernant les observateurs na-
turels (projections naturelles possédant la propriété d'observateur), dans Wong et Wonham
[59] (proposition 8). Le contexte dans [59] étant plus près de celui utilisé dans la présente
étude, il est utile d'utiliser la proposition 8 et de la généraliser pour des projections causales
(en utilisant certains résultats de [42]).
Proposition C.15. Soit un système (L. M, 0) obtenu par composition synchrone de deux
composantes (Lu Mi, 0,), i = 1,2, disjointes définies comme dans ce qui précède. Suppo-
sons que pour i = 1, 2, les projections 0t sont dotées de la propriété d'observateur. Alors
la projection 0 := 0i || 02 est aussi dotée de la propriété d'observateur.
Démonstration.
On observe d'abord que d'après le lemme A.7 dans [42] on a
I\ o 0 = 0, o q, (C.8)
9(S)T G 9(L)
==> 1\(9(S)T) G P(9(E))
=> (Pi(0(.s))r)G0i(c 7l (L))
=> 9i(qi(s))r G 9i(Li) .
294
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
su eqT1(Li)nqï1{L2) = L
et 0(.su) G 9(L) = M. Or 0(.s) < 0(.su) puisque 0 est causale, et donc 9(su) = 9(s)t pour
un certain /. G T*. Maintenant puisque qi(s)u G Li,l0C on a que su G Lvoc ([42], lemme
A.9) d'où t G T+. Mais puisque 92(q2(su)) = 92(q2(s)), on a que t G Tj + . Et puisque
#i((/i(-s»)) = 9i(qi(s)u) = 0i((/i(.s))r, on a finalement que / = r et ainsi 0(.st/) = 0(.s)r.
Par symétrie on peut suivre le même argument en supposant r G T2. Ainsi, par les
proposition 7 et 8 dans [58], on peut conclure que la projection 0 = 0! || 02 est aussi dotée
de la propriété d'observateur. D
Proposition C.16. Soit un système (L. M, 9) obtenu par composition synchrone de deux
composantes (Lt, M,,0I), i, = 1, 2, disjointes définies comme dans ce qui précède. Suppo-
sons que pour i = 1, 2, les projections 0t sont dotées de la propriété d'observateur. Alors
la projection 0 := 0t || 02 est dotée de la propriété de coïncidence du contrôle définie en
section B. 3, notamment
l
0 (Chi(M))çCio(L).
Démonstration.
295
ANNEXE C. ABSTRACTION EN CONTRÔLE HIÉRARCHIQUE
On peut donc obtenir une représentation abstraite d'un système par combinaison d'un
ensemble de représentations abstraites de ses composantes, pourvu que ces dernières soient
disjointes entre elles. Si l'ensemble des composantes abstraites sont des observateurs (des
composantes concrètes qu'elles représentent) le modèle obtenu par composition synchrone
de ces abstractions est aussi un observateur du système concret (c'est-à-dire une abstraction
de la composition synchrone des composantes concrètes). Au sens de Pu [42] il s'agit
d'abstractionsfiables(de l'anglais reliable abstraction, section 2.7). Cette situation n'est
pas sans rappeler la façon dont un système est modélisé dans le contexte usuel de SCT
(modèle de Ramadge et Wonham).
296
Annexe D
Cette section présume que le lecteur est familier avec le contenu du chapitre 4. Elle dé-
crit l'abstraction en composantes réutilisables des dispositifs disponibles sur l'usine école
MPS (Modular Production System) de Festo™, dont on peut trouver la description détaillée
dans l'ensemble des brochures [ 17] à [21 ]. La bibliothèque de composantes réutilisables est
divisée en deux parties :
1. l'abstraction des dispositifs physiques de l'usine MPS (composantes élémentaires) ;
2. une collection de sous-systèmes abstraits formant des unités utiles pour la description
de problèmes de contrôle sur l'usine école (composantes mixtes).
L'ensemble est orienté vers la solution d'une étude de cas décrite au chapitre 5. On trouve
à la fin de cette section quelques statistiques sur la complexité de l'ensemble de ces com-
posantes.
Dans ce qui suit, lors de l'élaboration de spécifications de contrôle, on classifie l'en-
semble des requis de contrôle en trois groupes : requis implicites, explicites ou standards.
Cette classification n'apparaît nulle part (comme telle) dans la littérature sur SCT et mérite
d'être clarifiée.
Selon la méthode préconisée en section 4.1, on décrit un sous-système par un modèle
de STS sans structure verticale. De façon standard, avec des modèles de STS, on modélisé
les contraintes de contrôle par usage de modèles pour la mémoire. Ces modèles sont fermés
sur l'ensemble de leurs événements incontrôlables (habituellement par des transitions en
boucle sur le même état d'où elles émanent), et toute contrainte de contrôle visant à exclure
297
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
une ou plusieurs de ces transitions doit être incluse dans la spécification de contrôle S sous
forme d'une arborescence d'états correspondante. Ces arborescences d'états sont traduites
en prédicats par la logique de synthèse. Le détail de cette procédure est donné à la section
4.1 sur la définition de problèmes de contrôle dans [39]. C'est précisément cette forme de
requis que l'on retrouve ici dans la catégorie des requis dits standards. Les requis utilisés
ici sont directement transcrits sous forme de prédicats par commodité. Avec un modèle de
STS sans structure verticale les prédicats sont d'ailleurs aussi expressifs et habituellement
plus simple d'usage.
Les modèles de mémoire peuvent aussi inclure des transitions sur événements contrô-
lables. L'usage d'une transition sur événement contrôlable dans un modèle de mémoire
constitue une altération directe de la fonction de transition du modèle du système global.
C'est pourquoi on les considère comme des contraintes de contrôle explicites dans le mo-
dèle d'un sous-système. Pour expliciter ces requis (qui font déjà partie de la structure de
transition du sous-système à travers leur inclusion dans celle d'un élément de mémoire) on
utilise par exemple la forme t r s f <= Seq = 3 pour dénoter que l'événement contrô-
lable t r s f requiert que l'élément de mémoire Seq soit à l'état 3.
Enfin, avec cette procédure de modélisation, une simple contrainte d'exclusion mutuelle
entre deux familles d'états de dispositifs différents doit faire appel à un modèle mémoire.
Or comme l'information existe déjà dans l'ensemble des modèles, pourquoi complexifier
ce modèle par l'addition d'un modèle de mémoire reproduisant (par redondance) cette in-
formation ? Une discussion de cette forme de contrainte est donnée à la section [Link]. La
spécification de la grue en figure 4.3 constitue un bon exemple de cette forme de contraintes
qualifiées ici de contraintes implicites au modèle.
Finalement la section D.3 introduit la notion de requis de contrôle élémentaire. Sim-
plement formulé, un requis de contrôle élémentaire correspond à une arborescence d'états.
Dans un modèle de STS sans structure verticale, le prédicat correspondant à une arbores-
cence d'états prend la forme d'une conjonction. Par exemple, en figure 4.3, chacun des
prédicats de la figure est un requis de contrôle élémentaire. Pour des requis plus complexes
tels que
/ * ( 1 ) * / SW = 0 A
(Clamp G { 1 , 2 , 3 } V M t r G { 1 , 2 , 3 } V Drv = 1)
298
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
en lieu et place de (1) dans la spécification de contrôle. Cette manoeuvre est justifiée par
le fait qu'avec les STS, la spécification S est un ensemble d'arborescences d'états et que
cet ensemble est transformé par la procédure de synthèse en une disjonction de prédicats
représentant chacun des éléments de <S (voir [39], section 4.1). Les requis de contrôle élé-
mantaires constituent une bonne façon de normaliser les ensembles de requis de contrôle
pour permettre une comparaison de leur taille comme mesure de leur complexité.
D.l.l Jacklll
Les vérins constituent une famille de dispositifs versatiles et admettent plusieurs va-
riantes d'interfaces dénotées par les suffixes SS, cdcr, cd et cr. Le vérin type, la composante
J a c k l l l , détaille chacune de ces variantes. Pour tous les autres modèles de vérins donnés
(y compris les vérins à commande bistable) il est présumé que ces variantes existent aussi
dans la bibliothèque. Les interfaces sont exactement les mêmes que pour le vérin type, et
les détails d'implémentation peuvent aisément être déduits des descriptions de ces variantes
données pour le vérin type.
On trouve à la section 4.2.2 le modèle de composante réutilisable pour un vérin à com-
mande monostable muni d'un ensemble complet de capteurs. Ce modèle appelé J a c k l l l
est l'un des plus simples et des plus complets pour cette catégorie de dispositifs ; on peut le
299
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
D.1.3 Jacklllcdcr
La composante J a c k l l l c d c r , dont on trouve la définition d'interface en figure D.2,
propose une autre variation de J a c k l l l . Son interface permet d'interrompre le déploie-
ment (événement cd pour cancel deploy) ou la rétractation (événement cr pour cancel re-
tract) du vérin.
SubSystem Jacklllcdcr {
State Vector = <Y0, XO, Xl>
300
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
start
JacklllSS : G
stop
JacklllSS: G
iXO/e
îYO/start
ïXO/stop
iXl/e
deployend
Jacklllcdcr: G
retractend retract
Jacklllcdcr: G
iXO/e
î X l /deployend
lYO/retract
îXO/retractend ] \s^7Z-
iXl/e
301
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
/ÎY0 := YO A X I , / l Y 0 := YO A XO
P r o j e c t Î Y 0 ( ) := {
i f ( XO ) t h e n r e t u r n funcdepioy() else return funccir();
return false; }
P r o j e c t i Y 0 ( ) := {
i f ( XI ) t h e n r e t u r n funcretract() else return funccd();
return false; }
Projectîxl() := { r e t u r n f u n c d e p i o y e n d ( ) ; }
Projectîxo() := { r e t u r n funcretractend(),- }
lal]Y0() := { set(YO); }
laliyo() := { rst(YO); }
cycleÇ) := cycle() + {
if ( TX1 ) then funcjxiQ;
if ( îXO ) then funcîxo();
funcÎY0();
funciY0();
}
}
}
D.1.4 Jacklllcd
La composante J a c k l l l c d , dont on trouve la définition d'interface en figure D.3,
propose une variante de l'interface de J a c k l l l c d c r ou seul le déploiement du vérin
peut être annulé.
SubSystem Jacklllcd {
/tY0 := YÔ A XO, / l Y 0 := YO A XÔ
Proj'ectÎY0() := { r e t u r n funcdepioy(); }
302
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
deployend
Jacklllcd: G
retractend retract
Jacklllcd: G
iXO/e
Y0,X0,X 1 jKtX 1 /deployend
tYO/deploy/^™*^}.
J.Y0 jretract
îXO/'retractend
YÔ,XÔ,X1 J . ^Y0,X0,X1
iXl/e
P r o j e c t l Y 0 ( ) := {
i f ( XI ) t h e n r e t u r n funcretract() else return funccd() ;
}
Projectm() : = { r e t u r n funcdeployend() ; }
Project]X0Q : = { r e t u r n funcretractend() ; }
cycleQ : = cycleQ + {
i f ( TXl ) t h e n funcm();
i f ( TXO ) t h e n funcno();
funCfYoO;
funcmQ;
}
303
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
D.1.5 Jacklllcr
La composante J a c k l l l c r , dont on trouve la définition d'interface en figure D.4,
propose une autre variante de l'interface de J a c k l l l c d c r ou seule la rétractation du
vérin peut être annulée.
SubSystem Jacklllcr {
/ÎY0 := YÔ A X Ï , / 1Y0 := YO A XI
P r o j e c t Î Y 0 ( ) := {
i f ( XO ) t h e n r e t u r n funcdepioyQ
e l s e r e t u r n funccr(); }
Project[Y0Q := { r e t u r n funcretractQ; }
P r o j e c t , x l ( ) := { r e t u r n funcdeployendQ ; }
P r o j e c t r x o ( ) := { r e t u r n f uncretraccendQ,- }
JalrY0() := { set(YO); }
lallY0() := { r s t ( Y O ) ; }
D.1.6 Jackl 10
La composante J a c k l l O , dont on trouve la définition d'interface en figure D.5, mo-
délisé un vérin à commande monostable ne disposant pas d'un capteur en fin de course. Le
304
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
deployend
Jacklllcr: G
retractend retract
Jacklllcr: G
iXO/e
1/deployend
TYO/deploy
lYO/retract
îXO/retractend
iXl/e
capteur de fin de course du vérin est donc remplacé par une minuterie mémorisée de type
ODT (voir section [Link]) dont l'état initial est inactive.
Il faut noter que la minuterie est incorporée au dispositif physique ; il ne s'agit pas
d'une composante réutilisable. Le modèle obtenu de façon ad hoc est en fait celui de la
figure D.6. Ce dernier peut être ramené au modèle de la figure D.5. Cette hypothèse doit
bien sûr faire l'objet d'une validation de la part du concepteur de la composante réutili-
sable. Cependant on peut noter que c'est l'élément de contrôle (l'ordinateur ou le PLC) qui
est responsable de tout changement d'état d'un élément de mémoire. Par conséquent, à la
figure D.6, l'événement 1M1 se produit (au plus tard) au cycle de rétroaction suivant l'évé-
nement lYO. Or, puisque îXO est incontrôlable, il ne peut se produire qu'au prochain cycle
de rétroaction (au plus tôt). Ainsi l'événement îXO ne peut pas se produire avant IM1. Au
pire les deux événements sont perçus comme simultanés.
deployend
Jackl10 : G
retractend retract
iXO/ï
î M l /deployend
TYO/deploy
lYO/'retract
î XO/retractend\^<mZ
iMl/e
iXO/e
îXO/retractend lYO/retract
lMl/ff
306
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
SubSystem JackllO {
State Vector = <Y0, XO, Ml>
/[Y0 := YÔ A XO
/lY0 := YO A Ml
P r o j e c t | Y0 () := { return funcdeployQ ; }
ProjectlY0() := { return funcretractQ ; }
Projectm() := { return funcdeployend() ; }
Project^) -.= { return f uncretractendQ ; }
lal]YQ() := { set(YO); }
lallY0Q := { rst(YO); }
lalm() := { set(Ml); }
lalm() := { rst(Ml); }
cycleQ := c y c l e ( ) + {
i f ( ( YÔ V XO ) A Ml ) t h e n funcm();
i f ( T l A YO A XÔ A MÏ) t h e n funcmQ;
evalr(Tl, YO A XÔ A MÎ) ;
i f ( 1X0 ) t h e n func^oQ;
funcÎY0();
funclYQQ;
}
}
}
D.l.7 JacklOl
La composante réutilisable J a c k l O l , dont on retrouve la définition d'interface en
figure D.7, modélisé un vérin à commande monostable ne disposant pas de capteur de dé-
but de course. Ce capteur est donc remplacé par une minuterie mémorisée de type ODT
dont l'état initial est échue.
deployend
JacklOl : G
retractend retract
iMO/e
1X1/deployend
tYO/deploy
1Y0/retract
î MO/ retractend
1X1/E
SubSystem JacklOl {
State Vector = <Y0, MO, Xl>
/TY0 := YO A MO
/1Y0 == YO A XI
308
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
cycleQ := cycleQ + {
i f ( (YO V XI) A MO ) t h e n funciH0Q;
i f ( TO A YÔ A XÏ A MO ) t h e n funcm();
evalT(T0, YÔ A XÎ A MO);
i f ( îXl ) t h e n funcmQ;
f une, YOO;
funcÏY0Q;
} } }
D.l.8 Jackl 00
La composante J a c k l 0 0, dont on retrouve la définition d'interface en figure D.8, mo-
délisé un vérin à commande monostable ne disposant d'aucun capteur. Les capteurs sont
remplacées par deux minuteries mémorisées de type ODT dont l'une est à l'état initial
échue et l'autre à l'état initial inactive. Les délais de réaction au déploiement et à la ré-
tractation du vérin peuvent être asymétriques et même éventuellement nuls, pourvu que la
machine cible supporte correctement un délai nul sur une minuterie brute.
SubSystem JacklOl {
State Vector = <Y0, MO, Ml>
/ TY0 := YÔ A MO
/ l Y 0 := YO A Ml
309
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
deployend
Jackl00 : G
retractend retract
iMO/s
Y0,M0,M l X T M1 /deployend
îYO/deploy
lYO/' retract
î MO/ retractend'\y<l "
iMl/s
310
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
lalîyo() = { set(YO)
1 al iwO = { rst(YO)
IaIrM0() = { set(MO)
lâJ-lMoQ = { rst(MO)
lalmO = { set(Ml)
lalimiQ - { rst(Ml)
cycleQ := cycleQ + {
if ((YO V Ml) A MO ) then funcmoQ;
if ( (YÔ V MO) A Ml ) then funcm();
if ( TO A YÔ A MÎ A MO ) then func]mQ ;
evalr(T0, YÔ A MÎ A MO);
if ( Tl A YO A MO A Ml then funC]Mi();
evalr(Tl, YO A MO A MÎ) ;
funcÎY0();
f une i-ioQ;
D.1.9 Jack211a
La composante J a c k 2 1 1 a , dont on retrouve la définition d'interface en figure D.9,
modélisé un vérin à commande bistable verrouillée (équivalent anglais pour latched).
Il existe deux types de vérins bistables :
1. le vérin dit bistable (sans qualification) dont la commande est alors présumée non
verrouillée) ;
2. le vérin bistable à commande verrouillée.
La position d'un vérin est dite stable si une coupure de l'alimentation à la commande n'en
change pas la position. Un vérin bistable possède deux positions dites stables. Les vé-
rins bistables dont la commande est verrouillée complètent toujours la dernière commande
donnée, même si l'alimentation à la commande est coupée en cours de fonctionnement.
311
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
Jack211a:G
deployend
retract
retractend
Jack 2 1 1 a : G
iXO/e
right := 1Y0 î Y l YÔ~,Y1,X0,X1 J^îXl/deployend
right/ deploy
left/retract
îXO/'retractend
left~ I Y l TYO
iXl/e
312
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
Ils se stabilisent ainsi toujours dans une position connue. 11 est toutefois possible d'inver-
ser (annuler) la dernière commande avant que le vérin n'ait eu le temps de se stabiliser.
Les vérins bistables (à commande non verrouillée) s'immobilisent immédiatement sur une
interruption de l'alimentation à la commande. Ils peuvent donc occuper une position in-
termédiaire inconnue à la restauration de l'alimentation. Puisque cette catégorisation des
vérins bistables concerne leur comportement en régime de panne, que cette étude ignore
par hypothèse, tous les vérins de ce type sont modélises ici comme des vérins à commande
bistable verrouillée.
Basic Component Jack211a<Y0, Yl, XO, XI> {
SubSystem Jack211a {
State Vector = <Y0, Yl, XO, Xl>
fright ••= YO A XO
fleft := Yl A XI
P r o j e c t r i g i l t ( ) := { r e t u r n funcdeployQ ; }
P r o j e c t T x i ( ) := { r e t u r n f u n c d e p J o y e n d ( ) ; }
P r o j e c t l e f t Q := { r e t u r n f u n c r e t r a c t ( ) ; }
ProjectmQ := { r e t u r n f u n c r e t r a c t e n d ( ) ; }
lalrightQ := { r s t ( Y O ) ; s e t ( Y l ) ; }
lalleft() := { r s t ( Y l ) ; set(YO); }
cycleQ := cycleQ + {
if ( îXl ) then funcîxl();
if ( TXO ) then funcm();
funcrightQ;
funcleft() ;
}
} }
D.1.10 Jack211b
Un vérin à commande bistable ayant deux positions stables, chacune de ces positions
peut être spécifiée comme état initial du modèle. La composante J a c k 2 1 1 b , dont on re-
313
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
trouve la définition d'interface en figure D.10, propose simplement une version alternative
de la définition de l'interface de la composante J a c k 2 1 1 a .
Le code d'intégration pour la composante J a c k 2 1 1 b demeure le même que pour la
composante J a c k 2 1 1 a puisque la seule chose qui soit différente dans le modèle est l'état
initial.
D.l. 11 ADRelay
La composante ADRelay (pour Asymmetric Delay Relay). dont on retrouve la défini-
tion d'interface en figure D.l 1, propose un modèle général pour des dispositifs activés par
un relais électrique qui ne sont pas munis de capteurs. Ces dispositifs sont mis en service ou
hors service de façon commandée et ont généralement des délais de fonctionnement (au dé-
marrage et à l'arrêt) éventuellement asymétriques. Par exemple la composante J a c k l 0 0
peut être modélisée par instanciation de ADRelay. Aussi cette composante admet des va-
riantes d'interfaces similaires à celles données pour les vérins avec les suffixes suivant :
- SS (start/stop) ;
- ce (cancel close) ;
- co(cancel open) ;
- et ecco (annulation aux deux commandes).
Un moteur électrique ayant un délai de latence au démarrage pour atteindre sa vitesse
nominale constitue un meilleur exemple d'une instance de cette composante. Finalement le
modèle est viable même lorsque l'un, l'autre ou les deux délais sont nuls.
SubSystem ADRelay {
State Vector = <Y0, MO, Ml>
314
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
Jack211b:G
deployend
deploy
retract
retractend
Jack211b:G
right := lYO î Y l iXO/e
left/retract
1X0/retractend
left := I Y l TYO
iXl/e
315
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
closeend
ADRelay : G
openend
ADRelay : G Tl :ODT[S~Y0AM0,Ml,rf«i]
IMO/e
Y0,M0,M l X îM1 /closeend
îYO/c/ose
lYO/open
î MO/openend
iMl/s
316
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
/ÎY0 := YO A MO
/iY0 := YO A Ml
lalÎYO0 = { set(YO)
= { rst(YO)
lal^oQ = { set(MO)
laliwoQ = { rst(MO)
lalm() = { set(Ml)
lallM1() = { rst(Ml)
cycleQ := cycleQ +{
if ( (YO V Ml) A MO ) then funclmQ;
if ( (YÔ V MO) A Ml ) then funcmQ;
if ( TO A YÔ A MÎ A MO ) then funcmQ;
evalr(T0, YÔ A MÎ A MO) ;
if ( Tl A YO A MO A MÎ ) then funcrM1();
evalr(Tl, YO A MO A MÎ) ;
funcTY0();
funclY0();
D.l.12 SDRelay
La composante SDRelay (pour Symmetric Delay Relay), dont on retrouve la défini-
tion d'interface en figure D.12, reprend ADRelay mais en utilisant une minuterie à double
action pour procurer des délais symétriques. Bien que cette composante admette une inter-
face de type démarrage-arrêt (suffixe SS), l'usage d'une seule minuterie interdit les autres
317
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
formes d'interfaces (ce, co et ccco). Cette composante admet aussi l'usage d'un délai nul.
SubSystem SDRelay {
State Vector = <Y0, M0>
/ TY0 := YÔ A MO
/ l Y 0 := YO A MO
lalfYoQ { sefc(YO) }
la2iY0() { rst(YO)
lalmQ { set(MO)
lalj^Mo() { rst(MO) }
cycleQ -.= cycleQ + {
if ( TO A YO A MO ) then funcmQ;
if ( TO A YÔ A MO ) then funclm();
evalT(T0, ( (YÔ A MO) V (YO A MO)));
funclY0Q;
funclY0Q;
} }
D.1.13 NDRelay
La composante NDRelay (pour No Delay Relay), dont on retrouve la définition d'in-
terface en figure D.l3, n'est qu'une version sans temporisation de SDRelay n'utilisant
aucune minuterie. Elle admet aussi une interface de type démarrage-arrêt (suffixe SS).
318
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
closeend
SDRelay : G
openend
SDRelay : G
Y0,M0
îYO/'close / ' " \ îMO/closeend
iYO/open
MO/openend
319
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
closeend
NDRelay : G
openend
îMO/closeend
ïYO/open
SubSystem NDRelay {
State Vector = <Y0, M0>
/,Y0 := YÔ A MO
/iY0 := YO A MO
lallYoO { set(YO) }
laliY0Q { rst(YO)
lalfMoO { set(MO)
lallMo() { rst(MO) }
cycleQ := cycleQ +{
320
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
i f ( YO A MÔ ) t h e n func1mQ ;
i f ( YÔ A MO ) t h e n funcmQ;
funcjYoO;
funciY0();
}
}
}
D.1.14 ODTimer
La composante ODTimer (pour On Delay Timer), dont on retrouve la définition d'in-
terface en figure D.l4, propose d'encapsuler le comportement d'une minuterie mémorisée
de type ODT sous forme d'une composante réutilisable. L'avantage d'une minuterie sous
forme de composante est de permettre l'usage de la synthèse SCT dans des systèmes conçus
par assemblage de composantes réutilisables (par opposition à la conception ad hoc). Par
défaut ce type de minuterie est normalement inactive (son état initial est inactive c'est-à-
dire 0), et on peut annuler le minutage (transition sur rst dans l'interface). On peut aisément
donner les variantes d'interfaces suivantes pour cette minuterie :
1. ODTimerNC (pour Non Cancellable), normalement inactive sans annulation du mi-
nutage (pas de commande rst dans l'interface) ;
2. ODTimerNE (pour Normally Expired), normalement expirée avec annulation du mi-
nutage (état initial expirée, c'est-à-dire 2) ;
3. ODTimerNCNE, normalement expirée sans annulation du minutage (état initial ex-
pirée et pas de commande rst dans l'interface).
On présume que la bibliothèque de composantes réutilisables contient toutes ces variantes.
SubSystem ODTimer {
State Vector = <M0, Ml>
321
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
set
ODTimer : G
ODTimer : G T0:ODT[S:=M0,Ml,<ft]
iMl/e
tUO/set
iMO/clr
/TM0 := MO A MÎ
f[m := MO
alfMoO = { set(MO) }
aljMo() = { rst(MO) }
alîmO = { set(Ml) }
a2 l M iQ - ( rst(Ml) }
cycleQ := cycleQ + {
i f ( MO A Ml ) t h e n funciM1Q;
i f ( TO A MO A MÎ ) t h e n funcm();
evalT(T0, MO A MÎ);
furiC|Ho();
322
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
funclm();
}
}
}
D.l.15 Injector
Certains dispositifs de l'usine MPS se composent d'éléments matériels qui ont été mo-
délises précédemment mais dont l'assemblage résulte en un ensemble d'interactions trop
fines pour être modélises par assemblage et synthèse de composantes réutilisables. De tels
dispositifs doivent ainsi être modélises de façon ad hoc. C'est le cas de la composante
élémentaire I n j e c t o r dont on retrouve la définition d'interface à la figure D.l5.
L'injecteur est constitué d'un vérin à commande monostable couplé physiquement à un
barillet doté d'un capteur situé à la base d'une colonne cylindrique servant de magasin.
Les pièces sont introduites par gravité dans le barillet où leur présence est détectée par un
capteur optique (XO). Lorsque le capteur est à l'état XO c'est qu'une pièce obstrue le fais-
ceau lumineux. Les pièces sont injectées sur un dock de chargement et y sont maintenues
par le vérin jusqu'à ce que le vérin soit réarmé. Pendant l'injection il y a possibilité d'une
interaction nuisible à la plateforme de chargement. Cette opération doit donc être visible
dans l'état du dispositif. Le requis principal de l'injecteur est de n'injecter une pièce que
s'il y a effectivement une pièce présente dans le barillet.
SubSystem Injector {
State Vector = <X0, YO, XI, X2>
/ÎY0 := XÔ A YÔ A XI
/lY0 := YO A X2
323
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
Injector : G
iXl/e
lYO/inject iXl/injectend
lYO/rearm
X0,Y0,X1,X2 J ) f X0,Y0,X1,X2
lX2/e
TXl/e TXO/e
Injector : G
324
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
lai,YOO := { sefc(YO); }
lallY0Q := { r s t ( Y O ) ; }
cycleQ := cycleQ + {
i f ( ÎX2 ) t h e n f u n c 1 x 2 ( ) ;
i f ( 1X0 ) t h e n fujnc t x o ();
funCfYoQ;
funclY0Q;
}
}
}
D.l. 16 Stepper
La composante S t e p p e r , dont on retrouve la définition d'interface en figure D.16,
modélisé un mécanisme d'entraînement typique des convoyeurs. Chaque démarrage en-
traîne la progression du convoyeur d'une position dans un sens déterminé. Dû à la sévé-
rité des contraintes temporelles impliquées entre le capteur d'alignement et le mécanisme
d'entraînement, l'arrêt du dispositif doit être automatique (décidé et effectué localement)
et soustrait à l'effet d'un contrôle externe.
SubSystem Stepper {
State Vector = <Y0, X0>
/ÎYO := YÔ
lalryoO := { set(YO); }
lalendQ := { r s t ( Y O ) ; }
cycleQ := cycleQ + {
i f ( îXO ) t h e n f u n c e n d ( ) ;
f"imcTYo();
325
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
start
Stepper : G
stop
Stepper : G
end ~lX0lY0
îYO/start
SubSystem SuctionCup {
Project cQ
P r o j e on t î x o 0 : == {{ r reet tuur rnn func
funccl03e Q;
closeend()
}; }
ProjectoffQ = { r e t u r n funcopenQ; }
Project Lxo() = { r e t u r n funcopenendQ ; )
326
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
closeend
SuctionCup : G
openend
SuctionCup : G
on := 1Y0 TY1
on/close iXO/closeend
Y0,Y1,X0
off/open
iXO/openend
off~ IYl îYO
lalonQ := { r s t ( Y O ) ; s e t ( Y l ) ; }
laloffQ := { r s t ( Y l ) ; set(YO); }
cycleQ := cycleQ + {
i f ( îXO ) t h e n f u n c r x o ( ) ;
i f ( 1X0 ) t h e n f : uncj xo () ;
funcon();
funcoffQ ;
}
/,off := Y l
327
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
openend
SuctionCupCC : G
O>J~1Y0ÎY1
on/close 1X0/closeend
v _, off/open
1X0/ openend
off-lYMYO
ProjectoffQ := {
i f ( XO ) t h e n r e t u r n funcopenQ;
e l s e r e t u r n funccancelci03e(); }
flèche (en anglais Boom) est instanciée à partir de la composante élémentaire Jack211b.
La pince (en anglais Hook, une ventouse pneumatique) est instanciée à partir de la com-
posante élémentaire SuctionCup. Le modèle de cette grue est appelé LRCrane (pour
Left to Right Crâne). Lafigure4.12 donne un modèle de sa projection G ainsi qu'un mo-
dèle de son interface G avec (dans la partie inférieure) un diagramme d'assemblage. La
figure 4.13 donne des détails structurels complémentaires sur le sous-système associé à la
composante réutilisable : structure du vecteur d'état, énoncés d'instanciation, spécification
de contrôle ainsi que l'ensemble des prédicats de contrôle résultant de la synthèse à partir
de la spécification de contrôle.
Avec la même structure de sous-système (celle de la figure 4.13) on peut aussi offrir
l'interface définie par le modèle de la projection de la figure D.l9 pour la composante
BLRCrane. Ce type de projection (où tous les événements sont systématiquement proje-
tés) est trivialement un observateur puisqu'il y a clairement une relation de bisimulation
entre G (le modèle de la projection résultante) et G t s (la structure de transition de la ma-
chine de Mealy G). On peut d'ailleurs faire cette manoeuvre pour n'importe quel modèle
afin de bénéficier d'une encapsulation des requis de contrôle par la dynamique abstraite.
D.2.2 Drill
On trouve, à la section 4.2.3, le modèle de composante réutilisable pour une perceuse.
La perceuse est composée de trois dispositifs :
- un étau (élément Clamp) pour stabiliser les pièces à percer (instance de la compo-
sante élémentaire J a c k l l l ) ;
- un moteur électrique (élément Mtr) pour actionner la mèche de la perceuse (instance
de la composante élémentaire SDRelay) ;
- et un patin (élément Drv) sur lequel est fixé le dispositif de perçage pour les mouve-
ments verticaux (instance de la composante élémentaire Jack211aSS).
Deux éléments de mémoire sont utilisés pour coordonner l'activité des dispositifs phy-
siques formant la perceuse :
1. SW (pour SWitch) indiquant l'état du dispositif (en fonction ou hors fonction) ;
2. PHS (pour PHaseS) indiquant le progrès du perçage.
329
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
BLRCrane : G
cbre
cbr
chce
chc cho
choe
cble cbl
BLRCrane : G
rightend/ cbre
right/cbr
0 \8™bendlchce jCv2\~Jlshtendlcbre^»{ 23
grab/chc • , , , rlsend/'choe,
,0,0 I ris/cho ' ( 2 0!
leftend/cble left/cbl
3,0
330
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
L'ensemble est abstrait en une composante réutilisable appelée Drill avec commande au
démarrage et indication à arrêt.
La figure 4.14 donne un diagramme d'assemblage du sous-système. La figure 4.15
donne un modèle de sa projection G ainsi qu'un modèle de son interface G. La figure 4.16
donne les détails structurels du sous-système associé à la composante : structure du vec-
teur d'état, déclaration des mémoires, énoncés d'instanciation et événements synthétiques
générés par le sous-système. La figure 4.17 donne la spécification de contrôle ainsi que loi
de contrôle résultant de la synthèse pour le sous-système. L'ensemble des requis peut être
décrite comme suit.
(1) Aucun dispositif ne doit être en fonction lorsque le sous-système est hors fonction.
(2) Pendant la phase de perçage, l'étau ne doit pas amorcer une ouverture ni le moteur un
arrêt.
(3) Une fois le perçage terminé, l'étau ne doit pas amorcer de serrage ni le moteur initier
un démarrage.
(4) Une fois le perçage terminé, le patin ne doit pas réamorcer de descente.
(5) Le patin ne doit pas entrer en fonction à moins que l'étau ne soit complètement fermé
et le moteur démarré et à vitesse nominale.
Les requis (1) à (4) inclusivement sont standards et le requis (5) est implicite.
D.2.3 MicroMeter
On trouve à la figure D.20 la composante réutilisable MicroMeter dont un diagramme
d'assemblage est donné en figure D.21.
Le micromètre est un dispositif composé d'une sonde montée sur un vérin que l'on
peut abaisser sur un élément d'usinage (lorsqu'il est correctement disposé) pour en mesu-
rer l'épaisseur. La sonde est connectée à un convertisseur analogique à digital muni d'un
registre d'entrée donné en paramètre. L'épaisseur des éléments d'usinage doit se situer dans
une plage de mesure dont les bornes sont données en paramètres.
La sonde doit d'abord être engagée complètement pour que la lecture soit valide. Une
minuterie est utilisée pour éliminer les transitoires à l'arrivée de la sonde en position. La
331
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
MicroMeter : G
pass, fail
MicroMeter : G
pee/e tc/e
te/pass,fail
clr/reset
pde/end pd/e
MicroMeter
Seq
\ pde Prb
)Y
te
^\clr pe, CD\P ee
332
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
lecture est prise à l'expiration de la minuterie et un diagnostic de test de tolérance est émis
sous forme d'événements : pass lorsque l'épaisseur se situe à l'intérieur de la tolérance ac-
ceptable, fail sinon. La sonde doit être maintenue en position de lecture jusqu'à l'émission
du diagnostic de test, puis désengagée. Une fois un test effectué et la sonde désengagée, le
micromètre ne peut être réutilisé qu'après avoir été réarmé. Ce qui se traduit par l'ensemble
des requis de contrôle suivants.
( 1 ) La sonde et la minuterie ne peuvent pas fonctionner simultanément.
(2) La sonde ne doit pas se réengager avant que le micromètre n'ait été réarmé.
(3) La sonde ne doit pas se désengager en phase de lecture.
(4) La minuterie ne doit pas être réactivée avant que le micromètre n'ait été réarmé.
(5) Le micromètre ne peut être réarmé qu'une fois la lecture prise et la sonde désengagée.
Component MicroMeter {
333
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
/ * ( 2 ) * / Seq = 2 A Prb = 1,
/ * ( 3 ) * / Seq = 0 A Prb = 3,
/ * ( 4 ) * / Seq G { 1 , 2 } A Tmr
/* Explicit */
/*(5) clr <= Seq = 2 * /
}
fclr := Seq = 2
Jpe = Prb = 0 A Seq = 0
fpd = Prb = 2 A Seq = 1
/ts = Tmr = 0
J tc = Tmr = 2 A Seq = 0 A Prb
Project te() := {
if (( XWO < loLmt ) V (XWO > hiLmt))
then return funcfan()
else return furie,pas 3 0;
}
cycleQ := cycleQ + {
funcclrQ;
}
} }
D.2.4 PSTester
La composante réutilisable PSTester modélisé une sonde montée sur un vérin que l'on
enfonce dans une perforation pour en tester la profondeur à la sortie de l'usinage. Le test
est positif lorsque le vérin atteint la position complètement déployé et négatif autrement.
Puisqu'il n'existe aucun capteur pour détecter le cas négatif du test, il faut utiliser une
minuterie dont l'expiration signale ce cas. La composante comprend donc un vérin dont
on peut annuler la commande de déploiement et une minuterie. La figure D.23 en donne le
modèle d'interface (G,G) et la figure D.22 le diagramme d'assemblage.
La caractéristique principale de cette composante est que sa spécification de contrôle
est presque complètement explicite dans le modèle du diagramme d'assemblage. Les transi-
tions en boucle dans le modèle des instances sont effectivement l'expression de contraintes
334
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
PSTester
Prb
ts Tmr
C
}\Pee PeÇ\
P*
^v tr,tc
tc^i<^ cpe ^to\
rYoV ©D r \ \
tS
[)trX
t c
pd
pde \r H)—*(2)
v - / te S - /
tc\ cpe\-s
PSTester : G
PSTester : G
pe/test
335
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
que l'on a rendu explicite par partage d'événements entre les dispositifs. Ces transitions ont
donc été ajoutées à l'instanciation des composantes dans le système dans le but précis d'ex-
primer des contraintes de contrôle ; elle ne font pas partie des composantes elles-mêmes.
Dans ce cas les contraintes sont plus simples à exprimer de cette façon que par l'usage
d'une mémoire.
(1) La minuterie ne doit pas être activée lorsque la sonde se désengage ou lorsqu'elle est
au repos.
(2) La minuterie ne doit être démarrée (événement ts) qu'après que la commande pour
engager la sonde ait été donnée.
(3) La minuterie peut être remise à zéro (événement tr) lorsque le test s'avère positif.
(4) Dans tous les cas, la minuterie ne peut être réarmée (événement tc) qu'une fois un
diagnostic de test émis.
(5) Le démarrage d'un test (événement pe) ne doit se faire qu'une fois la minuterie réar-
mée.
(6) L'émission d'un diagnostique d'échec ne peut survenir qu'une fois la minuterie échue.
Cette façon de spécifier les contraintes de contrôle présente le désavantage d'enrichir la
structure de transition des composantes d'un sous-système et d'être susceptible de sur-
spécification. Cependant, utilisée de façon prudente, elle s'avère très utile et ne prévient
pas nécessairement le parallélisme comme on peut le voir en figure D.23. L'usage d'une
mémoire dans ce cas précis requiert de reproduire presque tout le diagramme de G et ne
représente aucune économie quand au nombre d'états ou de transitions dans la structure de
la solution.
Component PSTester {
SubSystem PSTester {
State Vector = <Prb, Tmr>
CtrlSpec {
/ * ( 1 ) * / P r b G { 0 , 3 } A Tmr = 1
/ * i m p l i c i t i n DFAs . . . * /
/*(2) t s <= P r b = 1 * /
/ * (3) t r <= P r b = 2 * /
/*(4) tc <= P r b G { 0 , 2 , 3 } * /
/ * ( 5 ) pe <= Tmr = 0 * /
/ * ( 6 ) c p e <= Tmr = 2 * /
}
} }
D.2.5 TSCvrDrv
La composante réutilisable TSCvrDrv modélisé le mécanisme d'entraînement d'un con-
voyeur avec un temps de latence à l'arrêt. Il se compose d'un entraînement à déclenchement
commandé avec arrêt automatique (composante Stepper), d'une minuterie et d'un élément
de mémoire. La figure D.25 en donne le modèle d'interface (G,G) et la figure D.24 le
diagramme d'assemblage.
On peut noter dans le code d'intégration qui suit la définition des fonctions Projectst Q
et Projecttc() qui ne sont pas triviales. Étant donnée la définition de la projection, certaines
transitions sélectives sur deux événements différents (stp et tc) dans le sous-système doivent
être projetées sur un même événement (step) de l'abstraction. Ces définitions peuvent être
obtenues directement de la fonction de sortie de la machine de mealy G de la figure D.25
337
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
TSCvrDrv
Seq
te
Drv
"(T
stp
estpl 1 te X" - —^
T, < $
' • - ^
—~/
(D
estp
estp
TSCvrDrv : G
end
TSCvrDrv : G
338
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
Component TSCvrDrv {
SubSystem TSCvrDrv {
State Vector = <Seq, Drv, Tmr>
339
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
D.2.6 EHook
La composante EHook (pour Extensible Hook) constitue la pince d'une certaine forme
de grue. Dans cette forme de grue, la pince (Hook) est fixée au bout d"un treuil (Wch, pour
Winch en anglais) pour permettre d'en allonger la portée au moment de saisir ou de déposer
un objet {unepièce). La composante doit donc définir deux actions : saisir (événement pu)
et déposer (événement/je/). Pour EHook, ces actions requièrent toutes les deux d'allonger le
treuil avant d'effectuer l'action commandée. LafigureD.27 en donne le modèle d'interface
(G,G) et lafigureD.26 le diagramme d'assemblage. On note qu'ici la pince est instanciée
à partir d'une ventouse pneumatique (composante SuctionCup) mais qu'elle pourrait tout
aussi bien, avec une spécification de contrôle similaire, être instanciée à partir d'un vérin.
Les contraintes, toutes implicites puisque la mémoire n'est présente ici que pour distin-
guer entre les deux actions de la pince, peuvent se formuler de la façon suivante.
( 1 ) Les commandes du treuil et de la pince doivent être alternées de façon stricte.
(2) La pince ne doit pas entrer en action lorsque le treuil est rétracté ; elle est alors soit
ouverte soit fermée.
(3) En séquence de prise, la pince ne peut pas déposer un object et le treuil ne peut pas
remonter avec la pince ouverte.
(4) En séquence de dépôt, la pince ne peut pas saisir un objet et le treuil ne peut pas
remonter avec la pince fermée.
EHook
340
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
EHook : G
Winch Hook
wd : winch down hc : hook close
wde : winch down end hce : hook close end
wu : winch up ho : hook open
wue : winch up end hoe : hook open end
wde/e hc/ 'e hce/e wu/e
341
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
Component EHook {
SubSystem EHook {
}}
342
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
D.2.7 FEHook
La composante FEHook propose de doter la composante EHook d'un mode d'échec à
la saisie d'une pièce. LafigureD.29 en donne le modèle d'interface (G,G) et lafigureD.28
le diagramme d'assemblage.
L'hypothèse d'un échec au dépôt est écartée. À la saisie, si une pièce se trouve vérita-
blement en place, le treuil n'atteindra jamais sa position de pleine extension. 11 faut donc
amorcer la fermeture de la pince (une ventouse pneumatique) juste après avoir initié la
descente du treuil de sorte que la confirmation de fermeture de la pince puisse signaler le
succès de l'opération. Si par contre il ne se trouve pas effectivement de pièce en position
pour la saisie, le treuil atteindra alors sa position de pleine extension et ceci signale l'ab-
sence d'une pièce à saisir et donc un échec à la saisie. Dans cette logique, on doit pouvoir
annuler la commande d'extension du treuil en cas de succès et annuler la commande de fer-
meture de la pince en cas d'échec. Il faut donc utiliser une composante J a c k l l l c d pour
le treuil et une composante SuctionCupCC pour la pince. Naturellement il faut aussi
enrichir l'espace d'états du séquenceur pour procurer un mode d'échec et récupération à
la saisie. Puisqu'il y a plus de commandes à gérer et plus d'information d'états, les requis
sont bien sûr plus complexes.
Le mode normal est signalé par Seq = 0 pour la phase de saisie et Seq = 2 pour la
phase de dépôt. Le mode d'échec et récupération est signalé par Seq = 1. L'événement
synthétique clr ne sert qu'à modifier l'état de la mémoire, à signaler que la phase de récu-
343
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
pue
FEHook : G
pu : pick-up
pue : pick-up confirm
pua : pick-up abort
pue : pick-up end
pd : put down
pde : put down end
rst : reset
FEHook : G
Winch Hook Synthetic
wd : winch down hc ; hook close c/r : ciear
cwd : cancel winch down chc : cancel hook close
wde : winch down end hce ; hook close end
wu : winch up ho : hook open
wue : winch up end hoe : hook open end
wue je
wde/pua
cwd/puc
344
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
pération est terminée et que le treuil et la pince sont à nouveau dans une position adéquate
pour le fonctionnement de la composante.
On compte localement 14 requis de contrôle, tous sous forme élémentaire.
( 1 ) La phase de récupération ne se termine que lorsque le treuil est rétracté et la pince
ouverte.
(2) La commande de fermeture de la pince n'est disponible qu'en mode de saisie.
(3) La commande d'annulation de déploiement du treuil n'est disponible qu'en mode de
saisie.
(4) La commande d'annulation de fermeture de la pince n'est disponible qu'en mode
d'échec et récupération.
(5) En mode de récupération le treuil ne doit pas se trouver en déploiement.
(6) La pince ne doit pas entrer en action lorsque le treuil est rétracté ; elle est alors soit
ouverte soit fermée.
(7) En mode de saisie, la pince ne peut pas déposer un objet.
(8) En mode de saisie, le treuil ne peut pas remonter avec la pince en fonction (soit en
ouverture ou en fermeture).
(9) En mode de saisie, le treuil ne peut pas remonter avec la pince ouverte.
(10) En mode d'échec, on doit ouvrir la pince complètement avant d'entreprendre de relever
le treuil.
(11) En mode dépôt, les commandes du treuil et de la pince doivent être alternées de façon
stricte.
(12) En mode dépôt, le treuil ne peut pas être en déploiement si la pince est ouverte.
(13) En mode dépôt, le treuil ne peut pas être rétracté tant que la pince est fermée.
(14) En mode dépôt, la pince ne peut pas saisir un objet.
On peut noter que l'essentiel des nouveaux requis (par rapport à la spécification de EHook)
sont occasionnés par l'addition d'un mode d'échec et récupération et à une modification
nécessaire pour le mode de saisie (fonctionnement parallèle du treuil et de la pince).
345
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
Component FEHook {
SubSystem FEHook {
State Vector = <Seq, Wch, Hook>
346
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
} }
D.2.8 TOCrane
La composante TOCrane (pour Two Output Positions Crâne) propose une grue com-
plète avec flèche (Boom), pont (Brg) et pince extensible (Wsc une instance de EHook). La
figure D.31 en donne le modèle d'interface (G,G) et la figure D.30 le diagramme d'assem-
blage. Cette grue doit aller saisir des pièces à une position d'entrée pour éventuellement
les rejeter à l'une de ses positions de sortie ou les transférer vers l'autre position de sor-
tie. Aucune interaction nuisible ne peut se produire durant la saisie, le transfert ou le rejet
excepté aux extrémités (positions d'entrée et de sortie). La position d'entrée est : flèche à
gauche, pont en extension. La position de rejet est : flèche à droite, pont rétracté. La po-
sition de transfert est : flèche à droite, pont en extension. Aucune mémoire n'est requise.
Tout le contrôle est basé sur les états des dispositifs eux-mêmes donnant lieu à une loi de
type SFBC des plus classique.
347
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
TOCrane
oy /br
-
wpde^
^jy
/wpd
TOCrane : G
cp : crâne pick-up
cpe ; crâne pick-up end
cr : crâne reject
cre : crâne reject end
et : crâne transfer
cte : crâne transfer end
TOCrane : G
Boom Brg Wsc
bmr : boom right be ; bridge extend wpu : wsc pick-up
bmre : boom right end bee : bridge extend end wpue : wsc pick-up end
bml : boom left br : bridge retract wpd : wsc put down
bmle : boom left end wpde : wsc put down end
bre : bridge retract end
bee/e wpu/e wpue/epe br/e
348
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
(6) La flèche ne doit pas revenir vers la position d'entrée si la pince est fermée (présumée
pleine).
(7) La flèche ne doit pas amorcer de mouvement vers les positions de sortie quand la pince
est ouverte (présumée vide).
(8) Les commandes du pont et de la pince doivent être alternées de façon stricte.
(9) La pince ne doit pas tenter de saisir une pièce lorsque le pont est rétracté (la position
d'entrée se trouvant à l'extrémité c'est-à-dire que le pont doit être en extension pour se
trouver au-dessus de la position d'entrée).
(10) Lors d'une manoeuvre de prise, le pont ne doit pas se rétracter si la pince est vide
(ouverte).
(11) Lors d'une manoeuvre de prise, le pont ne doit pas être déployé si la pince est pleine
(fermée).
(12) Lors d'un dépôt (rejet ou transfert), le pont ne doit pas être déployé si la pince est vide
(ouverte).
( 13) Lors d'un dépôt (rejet ou transfert), le pont ne doit pas être rétracté si la pince est pleine
(fermée).
Component TOCrane {
SubSystem TOCrane {
State Vector = <Boom, Brg, W s o
}
CtrlSpec {
/* Ail constraints are implicit in the model */
/* Boom x Brg */
/*(1)*/ Boom G {1,3} A Brg G {1,3}
/•(2) No Boom move while Brg extended */
Boom G {1,3} A Brg = 2
/* Boom x Wsc */
/*(3)*/ Boom G {1,3} A Wsc G {1,3}
/*(4) No Put-down at Boom left */
Boom = 0 A Wsc = 3
/*(5) No Pick-up at Boom right */
Boom = 2 A Wsc = 1
/*(6) No left move unless Wsc empty */
Boom = 3 A Wsc = 2
/*(7) No right move unless Wsc full •/
Boom = 1 A Wsc = 0
/* Brg x Wsc */
/*(8)*/ Brg G {1,3} A Wsc € {1,3}
/*(9) No Pick-up at Brg retracted */
Brg = 0 A Wsc = 1
/* Boom x Brg x Wsc */
/*(10) On Pick-up, no Brg retract on Wsc empty */
Boom = 0 A Brg = 3 A Wsc = 0
/•(11) On Pick-up, no Brg extend on Wsc full */
Boom = 0 A Brg = 1 A Wsc = 2
/*(12) On Put-down, no Brg extend on Wsc empty */
Boom = 2 A Brg = 1 A Wsc = 0
/*(13) On Put-down, no Brg retract on Wsc full */
Boom = 2 A Brg = 3 A Wsc = 2
}
fbmr • = Boom = 0 A B r g =: 0 A Wsc = 2
fbmi : = Boom = 2 A B r g =: 0 A Wsc = 0
fbe •=
Brg = 0
A ( ( B o o m = 0 A Wsc = 0) V (Boom =
350
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
/br :=
Brg = 2
A ((Boom 0 A Wsc = 2) V (Boom = 2 A Wsc = 0) )
=
.1 wpu • "SC 0 A Boom = 0 A Brg = 2
fwpd == WSC 2 A Boom = 2 A Brg G {0,2}
} }
D.2.9 HSCrane
La composante HSCrane n'est pas à proprement parler une composante de biblio-
thèque de composantes réutilisables, elle représente plutôt une solution partielle à un pro-
blème de conception. La figure D.33 en donne le modèle d'interface (G,G) et la figure D.32
le diagramme d'assemblage.
On peut parler d'une composante locale que l'on peut définir à l'intérieur d'un problème
plus complexe (ici le problème développé au chapitre 5). Cette composante est en fait une
simplification de l'interface de TOCrane qui tient compte du fait que dans le problème
du chapitre 5 il n'y a pas de possibilité d'interactions nuisibles aux positions de sortie mais
qu'il y a une interaction potentiellement nuisible à la position d'entrée pendant que la pincé
est en train de saisir une pièce. Il suffit donc de savoir quand cette phase se termine (évé-
nement pue pour pick-up end) pour éviter les problèmes. Aussi, la décision de transférer
ou de rejeter est rendue explicite par l'usage d'une mémoire de sélection d'opération et la
décision est prise dès le démarrage de la grue puisqu'alors l'information nécessaire est déjà
disponible.
(1) Une commande de rejet ne peut être donnée que si la grue est à l'arrêt (Sel = 0).
(2) Une commande de transfert ne peut être donnée que si la grue est à l'arrêt (Sel = 0).
(3) La grue ne doit pas saisir une pièce tant qu'une commande (transfert ou rejet) n'a pas
été donnée (Sel = 0).
(4) Un rejet ou un transfert requiert une commande.
(5) La grue ne peut pas transférer en mode rejet (Sel = 1).
(6) La grue ne peut pas rejeter en mode transfert (Sel = 2).
351
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
HSCrane
hsCrn
Sel
hscp J A _ / \
hscre / N. hscpe
hscte hscte hscre
*K"r-L—(s)-?—H*)
hscte^\^^^^/ hsct
hscre "' hscte
. t
HSCrane : G trsf
rjct
trsf : transfer
rjct : reject
pue : pick-up end
»€3 pue
352
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
Component HSCrane {
SubSystem HSCrane {
} }
353
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
D.2.10 FHTOCrane
La composante FHTOCrane propose un raffinement sur la grue de type TOCrane uti-
lisant une pince dotée d'un mode d'échec et récupération lors de la prise d'une pièce. La
figure D.35 en donne le modèle d'interface (G,G) et la figure D.34 le diagramme d'assem-
blage.
La description de la grue de type TOCrane s'applique intégralement ici en ce qui
concerne les positions d'entrée et de sortie et à la logique de rejet et de transfert. La seule
différence est qu'il faut gérer un mode d'échec lors de la saisie d'une pièce et à cette fin il est
nécessaire d'ajouter une mémoire. Les requis aussi sont (étonnamment) assez semblables.
Seul le requis (10) doit être altéré et le requis (14) ajouté pour tenir compte du nouveau
mode d'échec.
1. Les commandes de la flèche et du pont doivent être alternées de façon stricte.
2. Laflèchene doit pas être en mouvement lorsque le pont est en extension.
3. Les commandes de la flèche et de la pince doivent être alternées de façon stricte.
4. La pince ne doit pas déposer une pièce quand la flèche est en position pour saisir (à
gauche vers la position d'entrée).
5. La pince ne doit pas saisir une pièce lorsque la flèche est en position pour déposer (à
droite vers la position de sortie).
6. La flèche ne doit pas revenir vers la position d'entrée si la pince est fermée (présumée
pleine).
FHTOCrane : G
cp : crâne pick-up
cpa ; crâne pick-up abort
cpe : crâne pick-up confirm epr
epr : cpa recovered
cpe : crâne pick-up end
cr : crâne reject
cre : crâne reject end
et : crâne transfer
cte : crâne transfer end
FHTOCrane : G
Boom Brg Wsc
bmr : boom right be : bridge extend wpu : pick-up
bmre : boom right end bee : bridge extend end wpua : pick-up abort
bml : boom left br ; bridge retract wpue : pick-up confirm
bmle : boom left end wpur : pick-up recover
bre : bridge retract end wpue : pick-up end
wpd : put down
wpde : put down end
Q2AA
bee e
' br/e l
wpde/e wpd/e ,
^^2^~^^JXsf^~y$aâA
FIGURE D.35 - Composante FHTOCrane (sous-système et projection)
355
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
7. La flèche ne doit pas amorcer de mouvement vers les positions de sortie quand la
pince est ouverte (présumée vide).
8. Les commandes du pont et de la pince doivent être alternées de façon stricte.
9. La pince ne doit pas tenter de saisir une pièce lorsque le pont est rétracté (la position
d'entrée se trouvant à l'extrémité c'est-à-dire que le pont doit être en extension pour
se trouver au-dessus de la position d'entrée).
10. Lors d'une manoeuvre de prise, en mode normal (c'est-à-dire Seq = 0), le pont ne
doit pas se rétracter si la pince est vide (ouverte).
11. Lors d'une manoeuvre de prise, le pont ne doit pas être déployé si la pince est pleine
(fermée).
12. Lors d'un dépôt (rejet ou transfert), le pont ne doit pas être déployé si la pince est
vide (ouverte).
13. Lors d'un dépôt (rejet ou transfert), le pont ne doit pas être rétracté si la pince est
pleine (fermée).
14. En mode d'échec, la pince ne doit pas tenter de saisir une pièce à nouveau.
Component FHTOCrane {
SubSystem FHTOCrane {
pdefwpde] }
}
CtrlSpec {
/ * C o n s t r a i n t s i m p l i c i t i n t h e model */
/ * Boom x Brg */
/*(!)*/ Boom G {1,3} A Brg € {1,3}
/*(2) No Boom move while Brg extended •/
Boom G {1,3} A Brg = 2
/* Boom x Wsc */
/*(3)*/ Boom € {1,3} A Wsc G {1,2,3,5}
/*(4) No Put-down at Boom left */
Boom = 0 A Wsc = 5
/*(5) No Pick-up at Boom right */
Boom = 2 A Wsc = 1
/*(6) No left move on full Wsc */
Boom = 3 A Wsc = 4
/* (7) No right move on empty Wsc */
Boom = 1 A Wsc = 0
/* Brg x Wsc */
/*(8)*/ Brg G {1,3} A Wsc G {1,2,3,5}
/•(9) No Pick-up at Brg retracted */
Brg = 0 A Wsc = 1
/* Seq x Boom x Brg x Wsc */
/*(10) No Brg retract on empty Wsc in normal mode */
Seq = 0 A Boom = 0 A Brg = 3 A Wsc = 0
/* Boom x Brg x Wsc */
/* (11) No Brg extend on full Wsc when at left */
Boom = 0 A Brg = 1 A Wsc = 4
/*(12) No Brg extend on empty Wsc when at right */
Boom = 2 A Brg = 1 A Wsc = 0
/*(13) No Brg retract on full Wsc when at right */
Boom = 2 A Brg = 3 A Wsc = 4
/* standard constraints wrt Seq •/
/*(14) No pick-up in failure mode */
Seq = 1 A Wsc = 1
}
357
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
} }
D.2.11 FHHSCrane
La composante FHHSCrane reprend, par rapport à la composante FHTOCrane, le
même exercice que celui fait pour HSCrane relativement à la composante TOCrane, et
permet de vérifier que la même simplification d'interface est possible. La figure D.37 en
donne le modèle d'interface (G,G) et la figure D.36 le diagramme d'assemblage.
Le même type de mémoire de sélection est nécessaire. Étonnamment, l'ensemble des
requis est plus simple et plus clair.
1. Une commande de rejet ne peut être donnée que si la grue est à l'arrêt ( S e l = 0).
2. Une commande de transfert ne peut être donnée que si la grue est à l'arrêt ( S e l = 0).
3. La grue ne doit pas tenter de saisir, rejeter ou transférer une pièce tant qu'une com-
mande (transfert ou rejet) n'a pas été donnée ( S e l = 0).
4. La grue ne peut pas transférer en mode rejet ( S e l = 2).
5. La grue ne peut pas rejeter en mode transfert ( S e l = 1).
Component FHHSCrane {
SubSystem FHHSCrane {
358
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
FHHSCrane
Sel
hscre
hscte
hscte hscpr hscre
FHHSCrane : G trsf
rjct
trsf : transfer
rjct : reject
pue : pick-up end
-@os
pue
hscpa/e hscpa/e
FHHSCrane : G
hsCrn
hscp : hsCrn pick-up
hscpa : hsCrn pick-up abort
hscpe : hsCrn pick-up confirm
hscpr : hsCrn pick-up reset
hscpe : hsCrn pick-up end
hscr : hsCrn reject
hscre : hsCrn reject end
hsct : hsCrn transfer
hscte : hsCrn transfer end
359
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
fhstc := Sel = 0
Jhsrc := Sel = 0
Jhscp := hsCrn = 0 A Sel € {1,2}
Jhscr := hsCrn = 4 A Sel = 2
./hsct := hsCrn = 4 A Sel = 1
} }
360
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
D.3 Sommaire
Pour compléter le catalogue il est intéressant de tenter de faire ressortir, au moyen de
quelques statistiques, les points forts ou les faiblesses de la métaphore de composantes
réutilisables et de la méthode de conception utilisée. À cette fin il est possible d'utiliser
deux métriques :
1. la complexité des sous-systèmes conçus sans abstraction (par rapport aux sous-sys-
tèmes conçus à partir d'abstractions) ;
2. le nombre de requis récupérés au moment de l'utilisation d'une composante réutili-
sable.
Le tableau D. 1 liste les statistiques pour l'ensemble des composantes élémentaires du ca-
talogue et le tableau D.2 liste les statistiques relatives aux composantes mixtes. D'abord il
est important de comprendre ce que veulent dire ces métriques et comment sont établies
ces statistiques.
À la colonne Espace d'états (exhaustif), on retrouve le nombre d'états des modèles
tels qu'on les utilises dans une conception basée sur le contexte original de SCT (contexte
de Ramadge et Wonham). Cette statistique est fréquemment utilisée dans la littérature sur
le sujet et constitue un bon indicateur de complexité autant pour la conception que pour
la synthèse. Par exemple pour la composante élémentaire Jack211a (tableau D.l) on a
9 états si on élimine les configurations de capteurs et d'actionneur qui ne peuvent pas
se présenter. Bien sûr le dispositif doit d'abord être préconditionné, sinon aucune synthèse
n'est possible, et le résultat est un modèle à 6 états (colonne Espace d'états (sous-système)).
Mais il est nécessaire de tenir compte du modèle exhaustif pour la mesure de complexité
même si un travail ad hoc doit d'abord être réalisé pour pouvoir éventuellement utiliser la
synthèse SCT. Ce travail fait effectivement partie de l'effort de modélisation.
Pour les composante mixtes (tableau D.2), la statistique Espace d'états (sous-système)
représente le produit du nombre d'états présents dans l'interface des instances utilisées
dans la composition du sous-système. Par exemple la composante TOCrane, utilise trois
instances de composantes réutilisables comportant chacune quatre états dans leur interface.
Le sous-système de TOCrane comporte donc 64 (c'est-à-dire 4 x 4 x 4 ) états. Il faut se
rappeler que ces composantes sont disjointes (elles ne partagent a priori aucun de leurs
361
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
362
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
363
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
événements). Leur composition parallèle comporte donc le même nombre d'états que le
produit cartésien de leurs espaces d'états respectifs. De façon analogue, la statistique Es-
pace d'états (exhaustif) est obtenue en faisant le produit du nombre d'états des modèles
exhaustifs des instances constituantes. Dans l'exemple TOCrane on aura 9 x 9 x 48 = 3 888
états au modèle exhaustif puisque TOCrane est constituée de deux J a c k 2 1 1 a (à 9 états
pour le modèle exhaustif) et de un EHook (à 48 états pour le modèle exhaustif). Ce faisant
on peut remarquer que EHook contient une mémoire, et que cette mémoire est incluse dans
le modèle exhaustif de EHook. Ne gonfle-t-on pas alors artificiellement la statistique?
La réponse est non. Il faut se rappeler que les calculs de synthèse effectués avec cette
méthode de conception ont pour but d'obtenir une loi de contrôle de type SFBC ; plus préci-
sément, en général, un DSFBC (voir [62]) c'est-à-dire une SFBC contenant de la mémoire.
Il faut donc disposer d'un espace d'états suffisant pour exprimer les requis de contrôle
sous fonne de familles d'états proscrits (spécification par évitement d'états). La mémoire
ajoutée en cours de modélisation n'a pour but que de permettre ce genre de spécification,
c'est-à-dire d'accroître l'espace des états du système. C'est la notion de mémoire adéquate
à la section 7.6 du chapitre 7 de [62]. Cette mémoire adéquate, bien qu'elle partage tous
ses événements avec le système, n'impose aucune contrainte au système a priori. Elle peut
donc avoir le même effet sur la taille de l'espace d'états résultant qu'une composante dis-
jointe ayant la même taille et parfois pire. Il est impossible de la négliger.
La statistique Espace d'états (interface) donne une idée des économies réalisées par
l'abstraction.
La statistique Nombres de requis (établie en nombre de requis élémentaires tels que
définis en préambule de cette annexe) donne une idée de la complexité encapsulée par abs-
traction. Réutiliser une composante de type FHHSCrane (voir tableau D.2), par exemple,
évite d'avoir à formuler 13 requis de contrôle : 5 requis directs (dans la définition de cette
composante) et 38 requis indirects, inclus par l'ensemble des instances de composantes
réutilisables qui constituent le sous-système de FHHSCrane.
Finalement on peut noter qu'aucune des synthèses requises pour élaborer les com-
posantes de cet inventaire n'a demandé plus de 3 dixièmes de seconde avec le logiciel
Supremica [2]. Ce résultat ne doit pas surprendre puisque la méthode encourage la modu-
larisation des requis par abstraction, donc la synthèse se fait généralement sur des sous-
364
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
systèmes de tailles modestes. Aussi, plus surprenant, tous les calculs pour obtenir des mo-
dèles d'observateurs (algorithme de Wong [60]) n'ont requis que quelques dixièmes de se-
condes. Élaborer la projection est un processus heuristique plus long qui requiert d'émettre
des hypothèses et de refaire les calculs pour obtenir les observateurs correspondants plu-
sieurs fois. Mais les calculs eux-mêmes ne semblent pas a priori en être le facteur limitatif.
II est beaucoup plus difficile, par exemple, de se donner une idée des hypothèses à formuler
pour un modèle comportant 500 à 1000 états. C'est là, certainement, un facteur limitatif.
De cette courte analyse il ressort deux points importants. Bien que l'abstraction en
elle-même permette des économies d'échelle pour la synthèse, les principaux atouts des
composantes réutilisables semblent se situer au niveau de la modularisation des requis de
contrôle. Premièrement, la modularisation des requis de contrôle et leur encapsulation par
abstraction permet la réutilisation directe d'un travail difficile et long à faire (l'élaboration
de bons requis de contrôle). Deuxièmement, cette modularisation permet d'approcher les
problèmes de contrôle de façon structurée, par étape, et de s'attacher à chaque étape à
spécifier et tester des ensembles de requis relativement modestes.
La station d'usinage du MPS peut servir d'illustration à ce dernier point. Cette station
comprend :
- un vérin à l'admission (composante J a c k l 0 0, modèle exhaustif à 8 états et interface
à 2 états);
- un convoyeur temporisé pour l'entraînement (TSCvrDrv, 16 et 2 états) ;
- une perceuse ( D r i l l , 864 et 2 états) ;
- une sonde de contrôle de qualité ( P S T e s t e r , 36 et 3 états) ;
- une grue de transfert (FHHSCrane, 34 992 et 2 états)
- un registre à décalage de 4 positions pour modéliser l'état des positions d'usinage
(16 états);
- un registre à décalage de 2 positions pour transporter le résultat du test de qualité (4
états).
Le modèle exhaustif comporte 8,916 x 1012 états contre 3072 pour le modèle abstrait.
Le modèle abstrait de la station d'usinage suggère une approche en deux étapes :
d'abord établir les requis de sécurité pour le matériel (modèle abstrait de 48 états), ensuite
ajouter la mémoire et les requis qui lui sont relatifs. La mémoire peut être elle même traitée
365
ANNEXE D. INVENTAIRE DE COMPOSANTES RÉUTILISABLES
en deux étapes ; un registre à décalage à la fois. Sur le modèle exhaustif la situation est plus
embrouillée dû à la taille du modèle. Déjà la taille du modèle du matériel est considérable,
même en excluant la grue à prime abord, plus de trois millions d'états. Dans ces condi-
tions il est difficile d'établir une stratégie pour l'analyse et la solution du problème. Même
si on y parvient, avec des modèles d'une telle taille, il devient vite difficile d'émettre des
hypothèses quant aux requis et d'en analyser l'effet sur le modèle du problème. En d'autre
termes, les requis spécifiés doivent se révéler parfaits du premier coup car il n'y a pas de
moyen d'en vérifier l'effet sauf par la synthèse ; un diagnostique de type tout ou rien.
Assez clairement la modularisation des requis de contrôle, procurée par l'usage de com-
posantes réutilisables, semble être nécessaire à la formulation d'une méthode de résolution
structurée de problèmes de contrôle d'envergure non triviale. Bien sûr la présence de com-
posantes réutilisables permet aussi de limiter l'envergure du travail de modélisation ad hoc
nécessaire dans l'élaboration de problème de contrôle. Ce travail occupe aujourd'hui une
importance disproportionnée dans toutes les variantes de SCT et limite en général la taille,
et parfois même l'intérêt, des problèmes considérés.
366
Bibliographie
[1] J.-R. ABRIAL. The B-Book : Assigning Programs to Meanings. Cambridge University
Press, Cambridge, UK, 1996.
[2] K. AKESSON, M. FABIAN, H. FLORDAL et R. M A L I K . « Supremica - An integrated
environment for vérification, synthesis and simulation of discrète event Systems ».
Dans Proc. 8th International Workshop on Discrète Event Systems, pages 384-385,
Ann Arbor, Michigan, 2006.
[3] A. ARNOLD. Systèmes de transitions finis et sémantique des processus communi-
quants. Masson, Paris, 1992.
[4] G. BEHRMANN, A. DAVID et K. G. LARSEN. « A Tutorial on Uppaal ». Rap-
port technique, Department of Computer Science, Aalborg University, Aalborg, Da-
nemark, 2004.
[5] E. BRINKSMA et A. MADER. « Vérification and optimization of a PLC control sche-
dule ». Dans K. HAVELUND, J. PENIX et W. VISSER, éditeurs, Proceedings of the
7th International SPIN Workshop on SPIN Model Checking and Software Vérification,
volume 1885 de Lecture Notes in Computer Sciences, pages 73-92. Springer-Verlag
Berlin Heidelberg, 2000.
367
BIBLIOGRAPHIE
368
BIBLIOGRAPHIE
[19] FESTO. ^Testing Station-Modular Production System ». Festo Didactic GmbH &
Co., Denkendorf, 1998.
[20] FESTO. < Distribution Station-Modular Production System ». Festo Didactic
GmbH & Co., Denkendorf, 1999.
[21] FESTO. « Handling Station-Modular Production System ». Festo Didactic GmbH
& Co., Denkendorf, 1999.
[22] G. FREY et L. LITZ. « Formai methods in PLC programming ». Dans Proc. of
IEEE International Conférence on Systems, Man, and Cybernetics, volume 4, pages
2431-2436, Nashville, TN, 2000.
[23] B. GAUDIN. « Synthèse de contrôleurs sur des systèmes à événements discrets struc-
turés ». Thèse de doctorat, Université de Rennes l. Rennes, France, 2004.
[24] P. GOHARI et W. M. WONHAM. « A linguistic framework for controlled hierarchical
DES ». Dans Proc. of the 4th International Workshop on Discrète Event Systems,
pages 207-212, Reims, France, 1998.
[25] G. GÔSSLER et J. SIFAKIS. «. Composition for component-based modeling ». Science
of Computer Programming, 55(1-3) : 161—183, 2005.
[26] J. GUNNARSSON. « Symbolic Methods and Tools for Discrète Event Dynamic Sys-
tems ». Thèse de doctorat, Linkôping University, Division of Automatic Control,
Department of Electrical Engineering, 1997.
[27] D. HAREL et M. POLITl. Modeling Reactive Systems with Statecharts. McGraw-Hill
Books, New-York, 1998.
[28] J. HUANG et R. KUMAR, « Optimal nonblocking directed control of discrète event
Systems ». IEEE Transactions on Automatic Control, 53(7) : 1592-1603, 2008.
[29] P. HUBBARD et P. E. CAINES. « Dynamical consistency in hierarchical supervisory
control ». IEEE Transactions on Automatic Control, 47(1) :37-52, 2002.
[30] T. K A M , T. VILLA, R. BRAYTON et A. SANGIOVANNI. « Multi-valued décision
diagrams : theory and applications ». International Journal on Multi-Valued Logic,
4(1-2) :9-62, 1998.
[31] Zvi KOHAVl. Switching andFinite Automata Theory. McGraw-Hill, 1970.
369
BIBLIOGRAPHIE
[32] R. KUMAR et V. K. GARG. Modeling and Control ofLogical Discrète Event Systems.
Kluwer Académie Publishers, Boston, 1995.
[33] R. J. L E D U C « PLC Implémentation of a DES Supervisor for a Manufacturing Test-
bed : An Implémentation Perspective ». Mémoire de maîtrise, Department of Electri-
cal and Computer Engineering, University of Toronto, Toronto, Canada, 1996.
[34] [Link]. « Hierarchical Interface-based Supervisory Control ?>. Thèse de doc-
torat, Department of Electrical and Computer Engineering, University of Toronto,
Toronto, Canada, 2003.
[35] R. J. LEDUC, B. A. BRANDIN, M. LAWFORD et W. M. WONHAM. <*. Hierarchical
interface-based supervisory control - part 1 : Sériai case ». IEEE Transactions on
Automatic Control, 50(9) :1322-1335, 2005.
[36] R. J. LEDUC, P. DAI et R. SONG. « Synthesis method for hierarchical interface-based
supervisory control ». IEEE Transactions on Automatic Control, 54(7) : 1548-1560,
2009.
[37] R. J. LEDUC, M. LAWFORD et P. DAI. « Hierarchical interface-based supervisory
control of a flexible manufacturing System ». IEEE Transactions on Control Systems
Technology, 14(4) :654-668, 2006.
[38] R. J. LEDUC, M. LAWFORD et W. M. W O N H A M . « Hierarchical interface-based su-
pervisory control - part II : Parallel case ». IEEE Transactions on Automatic Control,
50(9):1336-1348, 2005.
[39] C. M A et W. M. WONHAM. Nonblocking Supervisoty Control of State Tree Struc-
tures, volume 317 de Lecture Notes in Control and Information Sciences. Springer-
Verlag, Berlin, 2005.
[40] A. S. MlNER et G. CIARDO. « Efficient reachability set génération and storage using
décision diagrams ». Dans S. DONATELLI et H. C. M. K L E U N , éditeurs, Proc. ofthe
20th International Conférence on Application and Theory of Pétri Nets, volume 1639
de Lecture Notes in Computer Sciences, pages 6-25, London, UK, 1999. Springer-
Verlag.
[41] R. PAIGE et R. E. TARJAN. « Three partition refinement algorithms ». SIAM Journal
on Computing, 16(6) :973-989, 1987.
370
BIBLIOGRAPHIE
[42] K. Q. Pu. « Modeling and Control of Discrete-Event Systems with Hierarchical Abs-
traction ». Mémoire de maîtrise, Department of Electrical and Computer Engineering,
University of Toronto, Toronto, Canada, 2000.
[43] P. J. G. RAMADGE et W. M. W O N H A M . « Modular feedback logic for discrète event
Systems ». SIAM Journal on Control and Optimization, 25(5) :1202-1218, 1987.
[44] P. J. G. RAMADGE et W. M. W O N H A M . «. Modular supervisory control of discrete-
event Systems ». Mathematics of Control, Signais and Systems, 1(1) : 13-30, 1988.
[45] P. J. G. RAMADGE et W. M. W O N H A M . « The control of discrète event Systems ».
Proceedings of the IEEE, 77(1) :81-98, 1989.
[46] J. RlCHARDSSON et M. FABIAN. « Automatic génération of PLC programs for
control of flexible manufacturing cells ». Dans Proc. IEEE Conférence Emeiging
Technologies and Factory Automation ETFA 2003, volume 2, pages 337-344, Lisbon,
Portugal, 2003.
[47] K. RUDIE. < The integrated discrete-event Systems tool ». Dans Proc. ofthe 8th Inter-
national Workshop on Discrète Event Systems, pages 394-395, Ann Arbor, Michigan,
2006.
[48] B. SCHWARTZ. « State Aggregation of Controlled Discrete-Event Systems ». Mé-
moire de maîtrise, Department of Electrical and Computer Engineering, University of
Toronto, Toronto, Canada, 1992.
[49] A. C. SHAW. Real-Time Systems and Software. John Wiley & Sons Inc., 2001.
[50] SIEMENS. « S7-SCL V5.3 pour S7-300/400 ». Siemens AG, Nûrnberg, Germany,
2005.
[51 ] SIEMENS. « Manuel CPU 31xC et CPU 31x, Caractéristiques techniques ». Siemens
AG, Nûrnberg, Germany, 2006.
[52] R. SONG. «r Symbolic Hierarchical Interface-based Supervisory Control ». Mémoire
de maîtrise, McMaster University, Hamilton, Canada, 2006.
[53] R. Su et W. M. W O N H A M . « Supervisor réduction for discrete-event Systems ».
Discrète Event Dynamic Systems, 4(1) :31-53,2004.
371
BIBLIOGRAPHIE
372
BIBLIOGRAPHIE
373