206
N° ENSC-2007/82 THESE DE DOCTORAT DE L’ECOLE NORMALE SUPERIEURE DE CACHAN Présentée par Monsieur Antonio MEDINA RODRÍGUEZ pour obtenir le grade de DOCTEUR DE L’ECOLE NORMALE SUPERIEURE DE CACHAN Domaine : ELECTRONIQUE–ELECTROTECHNIQUE–AUTOMATIQUE Sujet de la thèse : Méthode de synthèse d'un contrôleur logique à partir des spécifications algébriques Thèse présentée et soutenue à Cachan le 5 décembre 2007 devant le jury composé de : Hassane ALLA Professeur – INPG – GIPSA lab Rapporteur Véronique CARRE-MENETRIER Professeur – URCA – CRESTIC Rapporteur Eric RUTTEN Chargé de Recherche – INRIA-RA Examinateur Jean-Marc FAURE Professeur – SUPRIMECA – LURPA Directeur de thèse Jean-Marc ROUSSEL Maître de conférences–ENS Cachan LURPA Encadrant Laboratoire Universitaire de Recherche en Production Automatisée ENS CACHAN / EA 1385 61, avenue du Président Wilson, 94235 CACHAN CEDEX (France)

Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

N° ENSC-2007/82

THESE DE DOCTORAT

DE L’ECOLE NORMALE SUPERIEURE DE CACHAN

Présentée par

Monsieur Antonio MEDINA RODRÍGUEZ

pour obtenir le grade de

DOCTEUR DE L’ECOLE NORMALE SUPERIEURE DE CACHAN

Domaine :

ELECTRONIQUE–ELECTROTECHNIQUE–AUTOMATIQUE

Sujet de la thèse :

Méthode de synthèse d'un contrôleur logique à partir des spécifications algébriques

Thèse présentée et soutenue à Cachan le 5 décembre 2007 devant le jury composé de : Hassane ALLA Professeur – INPG – GIPSA lab Rapporteur Véronique CARRE-MENETRIER Professeur – URCA – CRESTIC Rapporteur Eric RUTTEN Chargé de Recherche – INRIA-RA Examinateur Jean-Marc FAURE Professeur – SUPRIMECA – LURPA Directeur de thèse Jean-Marc ROUSSEL Maître de conférences–ENS Cachan LURPA Encadrant

Laboratoire Universitaire de Recherche en Production Automatisée

ENS CACHAN / EA 1385 61, avenue du Président Wilson, 94235 CACHAN CEDEX (France)

Page 2: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

 

Page 3: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

i

Remerciements

Le travail de recherche exposé dans ce mémoire de thèse a été réalisé au sein du Laboratoire Universitaire de Recherche en Production Automatisée (LURPA) de l’École Normale Supérieure de Cachan.

Les conseils et soutiens tantôt éducatif et tantôt personnels de tant de personnes, collègues, camarades de classe et amis, leur amitié ou tout simplement leur présence, m'ont permis de concrétiser cette thèse. Pour chacun de ceux qui m'ont aidé d'une manière ou d'une autre sur ce chemin de ma vie, je tiens à exprimer mes plus profonds et sincères remerciements.

Tout d’abord, je tiens à remercier mon directeur de thèse le Professeur Jean-Marc FAURE qui a assuré la direction de ce travail de recherche. Les mots ne suffisent pas pour exprimer mes plus profonds et sincères remerciements, ainsi que la reconnaissance et l'estime que j'ai pour ses conseils scientifiques avisés et pour sa grande disponibilité personnelle ainsi que par sa qualité humaine, le soutien et la confiance qu'il a exprimée à mon égard et pour mon travail au cours des ces cinq dernières années ; mais surtout parce qu’il m'a aidé lorsque j’en avait le plus besoin.

Je tiens à remercier et à exprimer ma gratitude à Jean-Marc ROUSSEL pour avoir accepté d’encadré mes recherches. Malgré les difficultés qui ont pu surgir durant ces années, il a toujours su montrer sa grande volonté de me soutenir à travers ses points de vue scientifiques avisés.

Je tiens également à exprimer mes très vifs remerciements à Monsieur Hassane ALLA, pour m'avoir fait l'honneur d'être membre du Jury comme rapporteur de ma thèse. Je lui exprime ma plus vive reconnaissance pour ses qualités humaines et ses conseils. Je tiens ici à le remercier à nouveau pour avoir accepté de diriger mon mémoire de DEA au LAG du Grenoble.

Enfin, je tiens à exprimer également ma profonde gratitude et remerciements envers Madame Véronique CARRÉ- MENETRIER et Monsieur Eric RUTTEN pour m’avoir accordé le privilège d'accepter d’être respectivement rapporteur et examinateur de ce travail de recherche.

La réalisation de cette thèse a été rendue possible grâce au soutien financier du Consejo Nacional de Ciencia y Tecnología (CONACYT) -Conseil National de la Science et technologie du Mexique- et aussi par le suivi académique et le soutien de la Société Française d’Exportation des Ressources Éducatives (SFERE), et notamment Madame Anna MANETA, qui a soutenu mon transfert au LURPA.

Je tiens à remercier tous les membres du laboratoire, permanents et étudiants, que j'ai eu le privilège de rencontrer durant mon séjour au LURPA. Je témoigne ma plus profonde gratitude à Marc JACHYM, à son épouse, à sa famille, mais aussi à Charyar et Sylvain pour leur

Page 4: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

ii

grande qualité humaine et pour leur soutien inconditionnel qui a été une des clés pour finir ma thèse. Pour toute votre attention, pour votre amitié, pour tout cela et plus encore, de tout mon cœur : un grand merci.

A mes amis et compatriotes, Zulema et Israel, qui m'ont accompagné dans cette aventure dans les bons et les mauvais moments, au laboratoire ou à la fête, sincèrement et vivement : merci pour votre soutien. Merci aussi pour vos encouragements, pour votre confiance et parce que je sais que vous vous êtes réjouis autant que moi de la fin de cette étape. Je remercie également mes collègues et amis : Steve, Gaëlle, Yann, Vincent, Silvain, Mathieu et tous les autres étudiants et enseignants, qui par leurs qualités humaines ont toujours fait du laboratoire un lieu agréable où travailler, muchas gracias !

À tous ceux ayant contribué de près ou de loin à l'élaboration de ce travail et que j’ai oublié de mentionner mais qui se reconnaîtront, je les remercie.

Dans un contexte plus personnel, je remercie tous les gens que j'ai rencontré en France et qui m’ont offert leur amitié : toute la bande de Grenoble sans oublier les "chipocles románticos", les amis de la Maison du Mexique, du Ballet Folklorique et tous les autres. Aschaf, Rosemberg, Catalina, Hector, Luis, Paloma, Javier Campo, Christine Azevedo, Soraya, Fabienne, Anne, Irina, Isis, Alvaro, Eloy, Aleyda, Marcela, Norberto, Antonio, Maru, Enrique, Edgar, Jorge, Jorgito del área 51, Théa, Marieke et tous ceux que je ne peux malheureusement pas citer dans cet espace mais qui se reconnaîtront facilement ici. À vous tous je vous exprime ma plus totale gratitude. Merci enfin a Nidiyare pour m’avoir donné le plus beau des cadeaux.

A mis amigos que aun estando en México siempre me han acompañado con el corazón: Nicolás, Isidro, Sarita, Chelo, Olga y la familia Lugo, les agradezco infinitamente su sincera amistad.

A mis papas, Ernestino y Candelaria, a mis hermanos Paco, Consuelo, Neto y Bety, que siempre han sido todo un ejemplo para mí y que han estado en mi pensamiento y corazón, por todo lo que representan para mí, les agradezco desde el fondo de mi alma. Esta tesis se las dedico porque representa el logro, el esfuerzo y el cariño de todos ustedes. Especialmente a Neto, que nunca podré agradecerle suficientemente todo el apoyo que me brindó sin restricciones.

Antonio MEDINA RODRIGUEZ

Page 5: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

iii

A mis papás,

Ernestino y Candelaria con todo mi amor y respeto.

À Nicté-Ha,

Sans le vouloir en déménageant au Mexique tu es partie avec un morceau de mon cœur mais dans l’autre morceau j’ai gardé tous les bons moments pour y tenir.

Page 6: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

iv

NO TE RINDAS

Cuando sientas que todo es cuesta arriba,

cuando creas que no hay salida,

cuando el cansancio sea inmenso,

descansa si quieres pero... NO TE

RINDAS.

Cuando la nube sea tan gris,

que parezca que no hay luz,

y parece que no hay salida,

llora si quieres pero...

NO TE RINDAS.

Porque después de la desesperación,

después de toda tormenta,

después de descargar tu alma,

veras que valió la pena...

pero... NO TE RINDAS.

Cuando tus fuerzas se agoten,

cuando el desánimo te arrastre,

la confianza se termina,

alienta, hay esperanza…..NO TE

RINDAS.

Cuando los días vayan pasando,

uno a uno, tú contándolos,

verás que la lucha compensa,

sigue pero……..NO TE RINDAS.

MARIBEL FREY

NE RENONCE PAS

Quand tu sens que tout est en montée,

quand tu penses qu'il y a aucune sortie,

quand la fatigue est immense,

repose-toi si tu veux, mais ... NE

RENONCE PAS.

Quand le nuage est si gris,

qu’il semble qu'il n'y a pas de lumière,

et il semble qu’il n’y a pas de sortie,

pleure si tu veux, mais ...

NE RENONCE PAS.

Parce qu'après le désespoir,

après tout tempête,

après avoir déchargé ton âme,

tu verras que cela a valu la peine ...

mais ... NE RENONCE PAS.

Quand tes forces sont épuisées,

quand le découragement s’installe,

la confiance prend fin,

courage, il y a de l'espoir ..... NE

RENONCE PAS.

Quand les jours passent,

un par un, toi en train de les compter,

tu verras que la lutte compense,

continue mais ........ NE RENONCE PAS.

MARIBEL FREY

Page 7: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

v

Table de matières

Introduction .............................................................................................................................. 1 

Chapitre 1 .................................................................................................................................. 5 

1.  Positionnement des travaux ........................................................................................... 6 

1.1  Sûreté en ligne et sûreté hors ligne .............................................................................. 7 

1.2  Conception de la commande ........................................................................................ 8 

1.2.1  Synthèse formelle de la commande .................................................................... 9 

1.2.1.1  Système à Événements discrets (SED) ...................................................................... 9 

1.2.1.2  Modélisation temporelle .......................................................................................... 10 

1.2.1.3  Modélisation par automates ..................................................................................... 10 

1.2.1.4  Automate déterministe ............................................................................................. 11 

1.2.1.5  Accepteur [Cha_96] ................................................................................................. 11 

1.2.1.6  Composition des automates ..................................................................................... 11 

1.2.1.7  Modélisation d'un SED par langage. ........................................................................ 12 

1.2.2  La théorie de la supervision (ou de la commande supervisée) ........................ 12 

1.2.2.1  SED Contrôlable ...................................................................................................... 13 

1.2.2.2  Contrôlabilité ........................................................................................................... 13 

1.2.2.3  Superviseur .............................................................................................................. 14 

1.2.2.4  Supervision en boucle fermée .................................................................................. 14 

1.2.2.5  La synthèse du superviseur ...................................................................................... 15 

1.2.3  Analyse de la théorie de la commande supervisée ........................................... 16 

A)  Limitation due à l'explosion combinatoire ............................................................... 16 

B)  Limitation due à la construction du SupC(S/G) ....................................................... 16 

C)  Limitation due à la modélisation initiale .................................................................. 17 

D)  Limitation due à la conception permissive .............................................................. 18 

E)  Limitation d'implantation du superviseur ................................................................ 18 

F)  Limitation due à la difficulté d’obtenir les modèles de départ ................................. 18 

1.2.4  Conclusions ...................................................................................................... 19 

1.3  Approche proposée .................................................................................................... 19 

Chapitre 2 ................................................................................................................................ 23 

Page 8: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

vi

2.  Bases d'une algèbre pour les signaux binaires ........................................................... 24 

2.1  Introduction ................................................................................................................ 24 

2.2  Structure d'Algèbre de Boole ..................................................................................... 24 

2.2.1  Définition mathématique d'un signal binaire ................................................... 25 

2.2.2  Éléments caractéristiques ................................................................................ 25 

2.2.3  Convention de notation .................................................................................... 25 

2.2.4  Opérations de base ........................................................................................... 26 

2.2.5  Structure d'Algèbre de Boole ........................................................................... 27 

2.2.5.1  Définition ................................................................................................................. 27 

2.2.5.2  Vérification de la structure d'Algèbre de Boole ....................................................... 28 

2.2.5.3  Propriétés communes aux algèbres de Boole ........................................................... 29 

2.3  Relations d'égalité et d'inclusion entre des signaux binaires...................................... 30 

2.3.1  Définitions des relations d'égalité, de différence et d'inclusion ....................... 30 

2.3.2  Relation d'ordre partiel .................................................................................... 31 

2.3.2.1  Caractéristiques de la relation «inclusion» .............................................................. 31 

2.3.2.2  Formes équivalentes de la relation «inclusion» ....................................................... 33 

2.3.2.3  Théorèmes relatifs à la relation «inclusion» ............................................................ 35 

2.3.2.4  Démonstrations des implications et équivalences X[2.42]X à X[2.53]X ............................ 36 

2.3.3  Relation d'égalité .............................................................................................. 39 

2.4  Conclusion ................................................................................................................. 42 

Chapitre 3 ................................................................................................................................ 43 

3.  Opérations de l'algèbre ø permettant de décrire des événements et

comportements séquentiels et temporisés ................................................................... 44 

3.1  Introduction ................................................................................................................ 44 

3.2  Opérations permettant de décrire des événements ..................................................... 44 

3.2.1  Introduction ...................................................................................................... 44 

3.2.2  Définition mathématique des opérations Fronts .............................................. 45 

3.2.3  Théorèmes relatifs aux opérations RE et FE ................................................... 46 

3.2.4  Démonstrations des théorèmes relatifs aux opérations RE et FE .................... 47 

3.3  Opérations permettant de décrire des comportements séquentiels ............................ 48 

3.3.1  Introduction ...................................................................................................... 48 

3.3.2  Définition mathématique des opérations SR, RS .............................................. 48 

3.3.3  Théorèmes relatifs aux opérations SR et RS .................................................... 50 

Page 9: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

vii

3.4  Opérations permettant de décrire des comportements temporisés ............................. 51 

3.4.1  Introduction ...................................................................................................... 51 

3.4.2  Définition mathématique des opérations TON et TOF .................................... 52 

3.4.3  Théorèmes relatifs aux opérations TON et TOF .............................................. 53 

3.4.4  Démonstrations des théorèmes relatifs aux opérations TON et TOF .............. 54 

3.5  Conclusion ................................................................................................................. 60 

Chapitre 4 ................................................................................................................................ 61 

4.  Traduction de spécifications informelles en un ensemble de relations sur ø ........... 62 

4.1  Classification des spécifications ................................................................................ 63 

4.2  Introduction à la formalisation des spécifications ...................................................... 64 

4.3  Illustration de la formalisation à l'aide de trois exemples .......................................... 66 

4.3.1  Exemple 1 : Système à une sortie ..................................................................... 66 

4.3.1.1  Description du système ............................................................................................ 66 

4.3.1.2  Formalisation des spécifications .............................................................................. 67 

4.3.2  Exemple 2 : Système à deux sorties avec des contraintes sur les sorties ......... 68 

4.3.2.1  Description du système ............................................................................................ 68 

4.3.2.2  Formalisation ........................................................................................................... 69 

4.3.3  Exemple 3 : Système à plus de deux sorties ..................................................... 70 

4.3.3.1  Description du système ............................................................................................ 70 

4.3.3.2  Formalisation ........................................................................................................... 72 

4.4  Conclusion ................................................................................................................. 74 

Chapitre 5 ................................................................................................................................ 75 

5.  Résolution d'un système d'équations ........................................................................ 76 

5.1  Introduction ................................................................................................................ 76 

5.2  Utilisation des propriétés de la relation "≤ " .............................................................. 77 

5.3  Conditions de cohérence et de complétude ................................................................ 78 

5.4  Forme générale de la solution .................................................................................... 79 

5.5  Utilisation des opérations SR et RS pour l'expression de solutions particulières ...... 82 

5.5.1  Introduction ...................................................................................................... 82 

5.5.2  Résolution ......................................................................................................... 83 

5.5.3  L'opération REP et sa relation avec la solution avec mémoire ....................... 84 

5.5.3.1  Définition de l'opération REP .................................................................................. 84 

5.5.3.2  Spécification SF-T5 ................................................................................................. 85 

Page 10: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

viii

5.5.3.3  Théorèmes relatifs aux opérations SR et RS ............................................................ 86 

5.5.3.4  Solution avec mémoire ............................................................................................ 87 

5.6  Système étendu avec contrainte de maintien dans l'état précédent ............................ 88 

5.7  Conclusion ................................................................................................................. 90 

Chapitre 6 ................................................................................................................................ 91 

6.  Synthèse d'un contrôleur logique à partir des spécifications formelles ................... 92 

6.1  Introduction à la méthode .......................................................................................... 93 

6.2  Propriétés ................................................................................................................... 94 

6.2.1  Propriétés extrinsèques .................................................................................... 95 

6.2.2  Propriété intrinsèque : Etats interdits .............................................................. 99 

6.3  Méthode de résolution .............................................................................................. 100 

6.3.1  Regroupement de la SF .................................................................................. 101 

6.3.2  Vérification et corrections des propriétés ...................................................... 102 

6.3.3  Résolution de l'incomplétude ......................................................................... 103 

6.3.4  Calcul et implantation de la fonction des sorties ........................................... 105 

6.4  Algorithmes de vérification des propriétés .............................................................. 106 

6.4.1  L'algorithme 1 : 0*vhyp = , correction par l’enlèvement des contraintes. ... 107 

6.4.2  L'algorithme 2 : 0*vhyp = , correction par l'ajout des assertions. ............... 108 

6.4.3  L'algorithme 3 : 0*vhyp ≠ par l'ajout des assertions .................................. 110 

6.5  Conclusion ............................................................................................................... 114 

Chapitre 7 .............................................................................................................................. 115 

7.  Études de cas : Exemple 1 et 2 ................................................................................... 116 

7.1  Résolution de l'exemple 1 : Système à une sortie .................................................... 116 

7.1.1  Regroupement de la spécification de fonctionnement .................................... 117 

7.1.2  Vérification et corrections des propriétés ...................................................... 117 

7.1.3  Résolution de l'incomplétude ......................................................................... 119 

7.1.4  Implantation ................................................................................................... 122 

7.1.5  Analyse du premier exemple .......................................................................... 123 

7.2  Résolution de l'exemple 2 : Systèmes à deux sorties avec des contraintes sur les

sorties ....................................................................................................................... 124 

7.2.1  Regroupement de la spécification de fonctionnement .................................... 125 

Page 11: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

ix

7.2.2  Vérification et corrections des propriétés ...................................................... 125 

7.2.2.1  Vérification et résolution des incohérences du système de sorties ........................ 125 

7.2.2.2  Vérification et corrections des incohérences dues aux états interdits .................... 126 

7.2.2.3  Vérification et correction de la SF afin que le système soit unité stable ............... 127 

7.2.3  Résolution de l'incomplétude ......................................................................... 128 

7.2.4  Implantation ................................................................................................... 130 

7.2.5  Analyse du deuxième exemple ........................................................................ 132 

7.3  Conclusions .............................................................................................................. 132 

Chapitre 8 .............................................................................................................................. 133 

8.  Étude de cas : Exemple 3 ............................................................................................ 134 

8.1  Résolution de l'exemple 3 : Système à plusieurs sorties .......................................... 135 

8.1.1  Regroupement des spécifications ................................................................... 136 

8.1.2  Vérification et correction des propriétés ....................................................... 138 

8.1.2.1  Détection et résolution des incohérences des sorties ............................................. 138 

8.1.2.2  Vérification et corrections des incohérences dues aux états interdits .................... 139 

8.1.2.3  Vérification et correction de la SF afin que le système soit unité stable ............... 143 

8.1.3  Résolution de l'incomplétude ......................................................................... 144 

8.1.4  Implantation ................................................................................................... 145 

8.2  Analyse du troisième exemple ................................................................................. 147 

8.3  Conclusion ............................................................................................................... 147 

Conclusions et Perspectives ................................................................................................. 149 

Bibliographie ......................................................................................................................... 151 

Annexes ................................................................................................................................. 157 

A.  La norme IEC-61131-3 ............................................................................................... 158 

A.1  Opérations permettant de décrire des événements ................................................... 158 

A.2  Opérations permettant de décrire un comportement séquentiel ............................... 159 

A.3  Opérations permettant de décrire un comportement temporisé ............................... 159 

B.  Démonstrations du chapitre 2 : [2.10] à [2.26] ......................................................... 161 

C.  Représentation graphique des spécifications sur ø .................................................. 165 

D.  Démonstrations ........................................................................................................... 167 

Page 12: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

x

D.1  Démonstrations relatifs aux prédicats 3k , 4ak et 4bk ............................................ 167 

D.2  Démonstrations de l'hypothèse 2hyp de la solution avec mémoire ......................... 168 

D.3  Démonstrations des théorèmes relatifs aux opérations SR et RS ............................ 171 

E.  Démonstrations d'expressions pour la vérification des propriétés ........................ 183 

E.1  Vérification et correction de la SF afin que le système soit unité stable ................. 183 

E.2  Expression pour la vérification des états interdits ................................................... 184 

E.2.1  Regroupement de la SF ............................................................................................ 185 

Introduction.doc.docdocAnnexes.doc

Page 13: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

xi

Table des équations

f g g f⋅ = ⋅  .................................................................................................................... [2.1] .................... 27 

f g g f+ = +  ................................................................................................................ [2.2] .................... 27 

( ) ( ) ( )f g h f g f h⋅ + = ⋅ + ⋅  ........................................................................................ [2.3] .................... 27 

( ) ( ) ( )f g h f g f h+ ⋅ = + ⋅ +  ...................................................................................... [2.4] .................... 27 

1*f f⋅ =  ........................................................................................................................ [2.5] .................... 27 

0*f f+ =  ...................................................................................................................... [2.6] .................... 27 

0 *f f⋅ =  ....................................................................................................................... [2.7] .................... 27 

1*f f+ =  ...................................................................................................................... [2.8] .................... 27 

0* 1*≠  ............................................................................................................................ [2.9] .................... 27 

f f f⋅ =  ......................................................................................................................... [2.10] .................. 29 

f f f+ =  ....................................................................................................................... [2.11] .................. 29 

0* 0 *f ⋅ =  ...................................................................................................................... [2.12] .................. 29 

1* 1*f + =  ...................................................................................................................... [2.13] .................. 29 

( )f f g f+ ⋅ = ............................................................................................................... [2.14] .................. 29 

( )f f g f⋅ + = ............................................................................................................... [2.15] .................. 29 

( ) ( )f g h f g h⋅ ⋅ = ⋅ ⋅  .................................................................................................... [2.16] .................. 29 

( ) ( )f g h f g h+ + = + +  ............................................................................................. [2.17] .................. 29 

f f=  .............................................................................................................................. [2.18] .................. 29 

( )f g f g⋅ = +  ............................................................................................................... [2.19] .................. 29 

( )f g f g+ = ⋅  ............................................................................................................... [2.20] .................. 29 

( )f f g f g+ ⋅ = +  ....................................................................................................... [2.21] .................. 30 

f g f h g h f g f h⋅ + ⋅ + ⋅ = ⋅ + ⋅ (théorème de la redondance) .......................... [2.22] .................. 30 

1* 0 *=  ............................................................................................................................ [2.23] .................. 30 

0 * 1*=  ............................................................................................................................ [2.24] .................. 30 

0 *0 *

0 *f

f gg

⎧ =⎪+ = ⇔ ⎨ =⎪⎩ .............................................................................. [2.25] .................. 30 

Page 14: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

xii

1*1*

1*f

f gg

⎧ =⎪⋅ = ⇔ ⎨ =⎪⎩ ............................................................................... [2.26] .................. 30 

f f≤  .............................................................................................................................. [2.27] .................. 31 

f gf h

g h⎧ ≤⎪ ⇒ ≤⎨ ≤⎪⎩

 ...................................................................................................... [2.28] .................. 31 

f gf g

g f⎧ ≤⎪ ⇒ =⎨ ≤⎪⎩

 ..................................................................................................... [2.29] .................. 31 

1*f ≤  ............................................................................................................................. [2.30] .................. 32 

0* f≤  ............................................................................................................................. [2.31] .................. 32 

( )f f g≤ +  .................................................................................................................... [2.32] .................. 32 

( )f g f⋅ ≤  ...................................................................................................................... [2.33] .................. 32 

f g≤  .............................................................................................................................. [2.34] .................. 33 

f g f⋅ =  ......................................................................................................................... [2.35] .................. 33 

1*f g+ =  ...................................................................................................................... [2.36] .................. 33 

0*f g⋅ =  ....................................................................................................................... [2.37] .................. 33 

g f g⋅ =  ......................................................................................................................... [2.38] .................. 33 

f g g+ =  ....................................................................................................................... [2.39] .................. 33 

f g f+ =  ....................................................................................................................... [2.40] .................. 33 

g f≤  .............................................................................................................................. [2.41] .................. 33 

( ) ( )f g f h g h≤ ⇒ ⋅ ≤ ⋅  ..................................................................................... [2.42] .................. 35 

( ) ( )f g f h g h≤ ⇒ + ≤ +  ................................................................................. [2.43] .................. 35 

( ) ( )f g

f h g ih i

⎧ ≤⎪ ⇒ ⋅ ≤ ⋅⎨ ≤⎪⎩ ...................................................................................... [2.44] .................. 35 

( ) ( )f g

f h g ih i

⎧ ≤⎪ ⇒ + ≤ +⎨ ≤⎪⎩ .................................................................................. [2.45] .................. 35 

( )f h

f g hg h

⎧ ≤⎪ ⇔ + ≤⎨ ≤⎪⎩ ................................................................................... [2.46] .................. 35 

( )f g

f g hf h

⎧ ≤⎪ ⇔ ≤ ⋅⎨ ≤⎪⎩ .................................................................................... [2.47] .................. 35 

( )( )f g h f g h⋅ ≤ ⇔ ≤ +  ................................................................................... [2.48] .................. 35 

Page 15: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

xiii

( )( )( ) ( )

f g hf h

f g ig i

f g h i

⎧ ⋅ ≤⎧ ≤ ⎪⎪ ⇔ ⋅ ≤⎨ ⎨≤⎪ ⎪⎩ ⋅ ≤ ⋅⎩

 ......................................................................... [2.49] .................. 35 

( )0*0*

f hf g hgg

⎧ ⎧ ≤⋅ ≤⎪ ⎪⇔⎨ ⎨ == ⎪⎪ ⎩⎩ .................................................................................... [2.50] .................. 35 

( )f h h f h⋅ ≤ ⇔ ≤  ...................................................................................... [2.51] .................. 35 

( )f g h h f h+ ⋅ ≤ ⇔ ≤  ...................................................................................... [2.52] .................. 35 

( )f f h f h≤ ⋅ ⇔ ≤  ...................................................................................... [2.53] .................. 36 

f g=  .............................................................................................................................. [2.54] .................. 39 

f gf g

⎧ ≤⎪⎨ ≤⎪⎩

 ............................................................................................................................ [2.55] .................. 39 

f g=  .............................................................................................................................. [2.56] .................. 39 

0*0*

f gf g

⎧ ⋅ =⎪⎨

⋅ =⎪⎩ ..................................................................................................................... [2.57] .................. 39 

0*f g f g⋅ + ⋅ =  ........................................................................................................... [2.58] .................. 39 

1*f g f g⋅ + ⋅ =  ............................................................................................................ [2.59] .................. 39 

1*0 *

f gf g

⎧ + =⎪⎨

⋅ =⎪⎩ .................................................................................................................... [2.60] .................. 39 

f h g hf h g h

⎧ ⋅ = ⋅⎪⎨ ⋅ = ⋅⎪⎩

 ................................................................................................................... [2.61] .................. 39 

f h g hf h g h

⎧ ⋅ = ⋅⎪⎨ + = +⎪⎩

 ............................................................................................................... [2.62] .................. 39 

0 * 0 *f f= ⇔ ≤  ............................................................................................. [2.63] .................. 40 

f f≤8  ............................................................................................................................ [3.1] .................... 46 

f f≤9  ............................................................................................................................ [3.2] .................... 46 

f f=8 9  .......................................................................................................................... [3.3] .................... 46 

f f=9 8  .......................................................................................................................... [3.4] .................... 46 

( )f f=8 8 8  ..................................................................................................................... [3.5] .................... 46 

( )f f=8 9 9  ..................................................................................................................... [3.6] .................... 46 

Page 16: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

xiv

( ) 0 *f =9 8  .................................................................................................................... [3.7] .................... 47 

( ) 0 *f =9 9  .................................................................................................................... [3.8] .................... 47 

{ } { }{ }1,1, 1,i i j

i ni n j nj i

f f f∈∈ ∈

⎛ ⎞ ⎛ ⎞= ⋅⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎜ ⎟

⎝ ⎠

∑∏ ∏88 ....................................................................... [3.9] .................... 47 

{ }( )

{ }{ }1, 1, 1,( )i i j j j

i n i n j nj i

f f f f f∈ ∈ ∈

⎛ ⎞⎛ ⎞ = ⋅ + ⋅⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎜ ⎟⎝ ⎠

∑ ∑ ∏8 8 98 ............................................. [3.10] .................. 47 

{ }( )

{ }{ }1,1, 1,( )i i j j j

i ni n j nj i

f f f f f∈∈ ∈

⎛ ⎞⎛ ⎞ = ⋅ + ⋅⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎜ ⎟⎝ ⎠

∑∏ ∏9 9 89 ............................................. [3.11] .................. 47 

{ } { }{ }1, 1, 1,i i j

i n i n j nj i

f f f∈ ∈ ∈

⎛ ⎞⎛ ⎞ = ⋅⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎜ ⎟⎝ ⎠

∑ ∑ ∏99 ....................................................................... [3.12] .................. 47 

( , )s SR s r≤  .................................................................................................................... [3.13] .................. 50 

( , )s r SR s r⋅ ≤  ................................................................................................................ [3.14] .................. 50 

( , ) ( , )SR s r SR s s r= ⋅  .................................................................................................... [3.15] .................. 50 

( ,1*)SR s s=  ................................................................................................................... [3.16] .................. 50 

( , )SR s s s=  .................................................................................................................... [3.17] .................. 50 

( , ) ( , 0*)SR s s SR s=  ...................................................................................................... [3.18] .................. 50 

(0*, ) 0 *SR r =  ............................................................................................................... [3.19] .................. 50 

(1*, ) 1*SR r =  ................................................................................................................. [3.20] .................. 50 

( , )SR s r r s r⋅ = ⋅  ........................................................................................................... [3.21] .................. 50 

( )( , ) , ( )SR s r SR s r s f= + ⋅  ......................................................................................... [3.22] .................. 50 

( ,0*) 0 *SR s =9  ............................................................................................................. [3.23] .................. 50 

( )( , ) , ( )SR s r RS s s r= ⋅  ................................................................................................ [3.24] .................. 50 

( )( , ) ( ),RS s r SR s r r= ⋅  ................................................................................................ [3.25] .................. 50 

( , )s r RS s r⋅ ≤  ................................................................................................................ [3.26] .................. 50 

( , )r RS s r≤  .................................................................................................................... [3.27] .................. 50 

Page 17: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

xv

( )( , ) ( ),RS s r RS s r r= ⋅  ............................................................................................... [3.28] .................. 50 

( ,1*) 0 *RS s =  ................................................................................................................ [3.29] .................. 50 

( , )RS s s s=  .................................................................................................................... [3.30] .................. 50 

( , ) 0 *RS s s =  ................................................................................................................. [3.31] .................. 51 

(0*, ) 0 *RS r =  ............................................................................................................... [3.32] .................. 51 

(1*, )RS r r=  .................................................................................................................. [3.33] .................. 51 

( , )RS s r s s r⋅ = ⋅  ........................................................................................................... [3.34] .................. 51 

( )( , ) ( ),RS s r RS s r f r= + ⋅  ........................................................................................ [3.35] .................. 51 

( )1 2 1 2, ( ) ( , ) ( , )SR s r r SR s r SR s r+ = ⋅  ......................................................................... [3.36] .................. 51 

( )1 2 1 2( ), ( , ) ( , )SR s s r SR s r SR s r+ = +  ..................................................................... [3.37] .................. 51 

( )1 2 1 2, ( ) ( , ) ( , )RS s r r RS s r RS s r+ = ⋅  ........................................................................ [3.38] .................. 51 

( )1 2 1 2( ), ( , ) ( , )RS s s r RS s r RS s r+ = +  .................................................................... [3.39] .................. 51 

( ) ( )1 1 2 2 2 1, ( ) , ( ) 0*RS s r s RS s r s+ ⋅ + =  ................................................................... [3.40] .................. 51 

/d f f≤  ........................................................................................................................ [3.41] .................. 53 

/f f d≤  ........................................................................................................................ [3.42] .................. 53 

/( ) ( / ) ( / )d f g d f d g⋅ = ⋅  ............................................................................................ [3.43] .................. 53 

( ) / / /f g d f d g d+ = +  .............................................................................................. [3.44] .................. 53 

2 1 2 1( / ) ( / )d d d f d f∀ > ≤  ................................................................................ [3.45] .................. 54 

2 1 1 2( / ) ( / )d d f d f d∀ > ≤  ................................................................................ [3.46] .................. 54 

1 2 1 2( / ) ( / ) ( , ) /d f d f max d d f⋅ =  ............................................................................. [3.47] .................. 54 

1 2 1 2( / ) ( / ) ( , ) /d f d f min d d f+ =  ............................................................................ [3.48] .................. 54 

1 2 1 2( / ) ( / ) / ( , )f d f d f max d d+ =  ............................................................................ [3.49] .................. 54 

1 2 1 2( / ) ( / ) / ( , )f d f d f min d d⋅ =  ............................................................................. [3.50] .................. 54 

( / ) /t d d f f d∀ ≥ =  ............................................................................................. [3.51] .................. 54 

( / ) /t d f d d f∀ ≥ =  ............................................................................................. [3.52] .................. 54 

Page 18: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

xvi

1

2

3

4

1 )2 )3 )

1 )2 )3 )

) 0 *) 0 *

( ) ( )) 0 *

( )

) 0 *

X

s

r

m X

s r s m r m

r m s ms r

s r m

a s Xa r Xa m REP

a k Xa k X X Sa k REP

hyp s r s m r mhyp k k k k k k

s k k r k khyp

m k k

hyp s r m k k k

⎧⎧ ≤⎪⎪

≤⎪⎨⎪⎪ ≤⎩⎪⎪⎧ ≤⎪⎪⎪ ≤⎨ =⎪⎪⎪ ≤ ⇔⎨⎩⎪⎧ ⋅ + ⋅ + ⋅ =⎪⎪⎪ ⋅ + ⋅ + ⋅ =⎪⎪⎪⎪ ⎛ ⎞⋅ + + ⋅ +⎨ =⎜ ⎟⎪⎪ ⎜ ⎟+ ⋅ +⎪ ⎝ ⎠⎪⎪⎪ ⋅ ⋅ ⋅ ⋅ ⋅ =⎩⎪⎩

( , )ou bien( , )

s r

s r

R s k r k

X RS s k r k

+ +

= + + ..... [5.1] .................... 86 

1 )( , )

2 )ou bien

3 )( , )

) 0*X

a s XX SR s r

a r Xa s r REP

X RS s rcohérence s r

⎧ ≤=⎪

≤⎪ ⇔⎨ ⋅ ≤⎪ =⎪ ⋅ =⎩

 .......................................... [5.2] .................... 86 

1 )2 ) ( , )3 ) X

a s Xa s r X X SR s ra s r REP

⎧ ≤⎪

⋅ ≤ ⇔ =⎨⎪ ⋅ ≤⎩

 ..................................................... [5.3] .................... 86 

1 )2 ) ( , )3 ) X

a s r Xa r X X RS s ra s r REP

⎧ ⋅ ≤⎪

≤ ⇔ =⎨⎪ ⋅ ≤⎩

 ..................................................... [5.4] .................... 87 

Page 19: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

xvii

Table des figures

Figure 1 Système de commande logique ............................................................................................................. 6 

Figure 2 Sûretés hors-ligne et en-ligne ............................................................................................................... 7 

Figure 3 Conception informelle de la commande ............................................................................................... 8 

Figure 4 Vérification et validation formelles de la commande ........................................................................... 8 

Figure 5 Synthèse formelle de la commande ...................................................................................................... 9 

Figure 6 Modélisation du comportement dynamique d'un SED dans le temps ................................................ 10 

Figure 7 (a) L'automate à états déterministe de la figure 6 (b) Un automate non déterministe ....................... 10 

Figure 8 Relation entre un SED et sa représentation en théorie des langages ................................................ 12 

Figure 9 (a) Illustration SEDC (b) Représentation d'un SEDC avec la notion de filtrage des événements

contrôlables Σc (c) Illustration d'un Superviseur ........................................................................... 13 

Figure 10 Illustration du couplage du superviseur et du SEDC en boucle fermée .......................................... 15 

Figure 11 a) Comportement en boucle fermée b) Fonctionnement suprême contrôlable ................................ 15 

Figure 12 Système de contrôle- commande ...................................................................................................... 17 

Figure 13 a) Interprétation de [Cha_96] b) Schéma du contrôle par supervision par événement forcé

selon [Bal_93] ................................................................................................................................ 17 

Figure 14 Schéma de la méthode d'élaboration sûre de la commande proposée avec l’algèbre ø ..................... 20 

Figure 15 Représentation graphique d'un signal binaire f ............................................................................ 25 

Figure 16 Exemple de signaux binaires satisfaisant la relation inclusion : f g f g f≤ ≡ ⋅ = ................. 31 

Figure 17 Représentation graphique des fonctions fronts ................................................................................ 45 

Figure 18 Représentation graphique des fonctions ( , )SR s r et ( , )RS s r ...................................................... 49 

Figure 19 Représentation graphique de la fonction TON : 1 /d f .................................................................. 52 

Figure 20 Représentation graphique de la fonction TOF : 2/f d .................................................................. 53 

Figure 21 Objectif du chapitre : Formalisation de la commande en algèbre ø ................................................ 62 

Figure 22 Modèle du système de contrôle-commande ...................................................................................... 63 

Page 20: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

xviii

Figure 23 Contrôleur logique ........................................................................................................................... 63 

Figure 24 Présentation de l'exemple 1 ............................................................................................................. 67 

Figure 25 Représentation formelle de l'exemple 1 ........................................................................................... 68 

Figure 26 Présentation de l'exemple 2 ............................................................................................................. 69 

Figure 27 Représentation formelle de l'exemple 2 ........................................................................................... 70 

Figure 28 Présentation de l'exemple 3 ............................................................................................................. 71 

Figure 29 Entrées/sorties de l'exemple 3 .......................................................................................................... 72 

Figure 30 (a) Signal f (b) Signal g (c) Signal k3 (d) Signal k4a (e) Signal k4b ............................................ 83 

Figure 31 Représentation graphique de l'opération REP(f,g) et SR(f,g) .......................................................... 85 

Figure 32 Objectif du chapitre : Conception formelle de la commande en algèbre ø ...................................... 92 

Figure 33 Présentation générale de la méthode de conception formelle de la commande .............................. 93 

Figure 34 a)Graphe de dépendance b) Séquences de calcul possibles ............................................................ 97 

Figure 35 Méthode de conception formelle de la commande ......................................................................... 101 

Figure 36 Implantation de la fonction de contrôle, exécuté en : a) parallèle (par exemple en logique

câblée) b) séquentielle (par exemple en programme ladder). ...................................................... 105 

Figure 37 Algorithme 1, vérification de la propriété : hyp = 0* et corrections par enlèvements des

contraintes .................................................................................................................................... 111 

Figure 38 Algorithme 2, vérification de la propriété : hyp = 0* et corrections par l'ajoute des assertions .. 112 

Figure 40 Représentation des entrées-sorties d'un SLS et des équations solutions ........................................ 116 

Figure 41 Diagramme d'implantation de la fonction de sortie Pomper de l'exemple 1 : a) Diagramme

Ladder et b) diagramme câblé...................................................................................................... 123 

Figure 42 Graphe de dépendances ................................................................................................................. 131 

Figure 43 Diagramme d'implantation des fonctions de sortie Ouvrir et Fermer de l'exemple 2 a)

Diagramme Ladder et b) diagramme câblé ................................................................................. 131 

Figure 44 Graphe de dépendances ................................................................................................................. 145 

Figure 45 Diagramme d'implantation des fonctions de sortie de l'exemple 3 a) Diagramme Ladder et b)

diagramme câblé .......................................................................................................................... 146 

Figure 46 Représentation graphique des spécifications sur ø ........................................................................ 166 

Page 21: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Introduction.doc

1

Introduction

Les tâches liées au processus de conception des systèmes automatisées (spécification,

conception, implantation) qui étaient auparavant basées sur l'expérience et le savoir-faire, sont

devenues de plus en plus difficiles à maîtriser dans les systèmes industriels d'aujourd'hui à

cause de leur taille et complexité. En effet, les avancées technologiques comme de nouveaux

capteurs, actionneurs, l'apparition de l'Automate Programmable Industriel (API), d'ordinateurs

et la croissance de la puissance et vitesse de calcul de ceux-ci permettent de contrôler des

systèmes très larges et complexes.

Pourtant, ces systèmes sont devenus de plus en plus critiques pour la sécurité des biens et des

personnes à cause de la nature du processus qu'ils contrôlent (processus chimiques, centrales

thermiques et nucléaires...). Ceci, lié à la demande croissante de la société pour la prévention

des risques industriels, explique que de plus en plus d’entreprises souhaitent disposer de

méthodes de développement rigoureuses permettant de garantir que le comportement de ces

systèmes est bien celui requis, et ne contient pas d’éléments nuisibles à la sûreté. C'est la

raison pour laquelle nous plaçons nos travaux dans le cadre de la sûreté de fonctionnement.

Les techniques de synthèse formelle visent à garantir à priori la sûreté de fonctionnement en

produisant automatiquement (ou semi-automatiquement) un modèle de commande respectant

les propriétés de vivacité (ce qu’il faut faire), de sécurité (ce qu’il ne faut pas faire), et

éventuellement de célérité (contraintes temporelles) requises par l’application.

De nombreuses recherches ont été réalisées dans ce domaine ces vingt dernières années à

partir notamment des travaux de Wonham [Won_87] à l’Université de Toronto. Quel que soit

l’intérêt de ce cadre théorique, dit de la commande supervisée, il n’en demeure pas moins vrai

que son application à des systèmes industriels reste encore à démontrer.

Page 22: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Introduction.doc

2

Ceci provient de notre point de vue principalement de problèmes d’explosion combinatoire

qui sont inhérents à cette méthode de synthèse et qui se produisent lorsqu’on l’applique à des

systèmes industriels, même de taille réduite. En fait, les problèmes d’explosion combinatoire

se rencontrent chaque fois que l’on manipule des automates représentatifs d’un système réel.

Un autre inconvénient de ces travaux est qu’ils se contentent le plus souvent de générer un

modèle conceptuel de commande, sous forme d’automate à états, et ne s’intéressent pas

toujours à l’implantation de ce modèle sur API. Or, une démarche de synthèse formelle doit,

pour être applicable dans l’industrie, couvrir la phase de développement des programmes, à

l’aide de langages métier tels que ceux de la norme IEC 61131-3 (Instruction List, Structured

Text, Ladder Diagram, Function Block Diagram, Sequential Function Chart).

Ceci a induit des chercheurs du LURPA à explorer une autre voie pour la vérification de

contrôleurs : la modélisation des comportements sous forme algébrique. Dans cette approche,

le programme et les propriétés à vérifier sont tous les deux exprimés sous forme d’un jeu

d’équations dans une algèbre convenable. La preuve de propriétés est alors effectuée par un

raisonnement symbolique dont l’objectif est de démontrer le jeu d’équations représentant les

propriétés à partir de celui caractérisant le programme. Afin de tenir compte des spécificités

des systèmes de commande industriels qui conduisent à la manipulation conjointe d’états de

variables logiques, d’événements correspondant à des changements d’états de ces variables, et

d’expressions fonctions du temps physique, une algèbre originale, dénommée ø, a été

proposée car elle fournit un cadre pour l’intégration de ces trois entités [Rou_03a].

Les résultats des travaux relatifs à l’analyse formelle de programmes API nous ont conduit à

explorer une approche basée sur cette algèbre afin de chercher une alternative intéressante aux

méthodes conventionnelles de synthèse formelle basées sur la théorie de la commande

supervisée et utilisant une représentation comportementale par automate. Plus précisément,

nous avons souhaité développer une méthode de synthèse formelle utilisant en lieu et place

d’une modélisation par automates à états une représentation algébrique des propriétés à

satisfaire, l’algèbre utilisée étant l’algèbre ø.

D'autre part, la théorie de la commande supervisée ne considère pas la façon d'obtenir la

spécification formelle. Nous considérons cependant que ce problème d'expression des

spécifications ne peut pas être négligé. Nous chercherons donc à prendre en compte les

besoins et objectifs de l'utilisateur au travers de la spécification de fonctionnement.

Page 23: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Introduction.doc

3

L'objectif de travail de thèse présenté dans ce document est donc de développer une

méthode de synthèse de la commande, alternative à la technique de synthèse de la

commande supervisée, en partant de la spécification de la commande en langage naturel

(LN) jusqu'à l'implantation des fonctions de commande générées par la méthode dans

un API.

Nous utiliserons, pour développer cette méthode un cadre mathématique formel qui est utilisé

dès la formalisation de la spécification jusqu'à l'implantation, afin d'assurer la cohérence de

formalisme dans la méthode de synthèse proposée.

Nous cherchons à détecter le plutôt possible les incohérences menant à une absence de

solution, ceci afin d'éliminer ces incohérences en faisant appel à l'utilisateur. Notre objectif

n'est pas seulement de savoir qu'il y a une erreur dans la spécification mais aussi de l'identifier

afin qu'elle soit corrigée.

Le présent mémoire de thèse est organisé comme suit :

Le premier chapitre est consacré à la présentation du contexte de nos travaux : la synthèse de

la commande des Systèmes à Événements Discrets (SED). La sûreté de la commande étant un

de nos soucis, nous ferons le positionnement de nos travaux par rapport à celle-ci. Nous

décrirons le système de contrôle-commande étudié ainsi que la théorie de synthèse de la

commande introduite par Ramadge et Wonham dans les années 80. Nous présentons ensuite

une analyse des limitations actuelles pour l'application de cette théorie. A la fin du chapitre

nous présentons l'objectif de nos propositions.

Les deux chapitres suivants présentent le cadre formel algébrique sur lequel s’appuie notre

méthode de synthèse. Les bases de l'algèbre ø sont présentées au chapitre 2 : les opérations

ET, OU et NON, la relation d'égalité et la relation d'ordre partiel "≤" (appelé aussi inclusion).

Cette dernière relation est un point clef dans la méthode proposée. Le chapitre 3 est dédié aux

opérations temporelles définies dans la norme [IEC_61131-3] : les opérations Fronts, les

opérations Mémoires et les opérations Temporisateurs.

Dans le chapitre 4, nous introduisons une classification des spécifications qui servira par la

suite. Ce chapitre est aussi dédié à l’obtention de spécifications formelles à partir d’énoncés

en langage naturel (LN) en formalisant trois exemples.

Page 24: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Introduction.doc

4

Dans le chapitre 5, nous présentons une technique de résolution d'un système d’équations,

technique qui sert de base à la synthèse de fonctions de contrôle.

La méthode de synthèse globale est détaillée dans le chapitre 6. Cette méthode s'appuie sur la

vérification algébrique des propriétés du système formel obtenu à partir des spécifications et

sur l'intervention du concepteur en cas de non respect de ces propriétés.

Enfin, les chapitres 7 et 8 illustrent l'application de la méthode proposée sur les trois exemples

formalisés au chapitre 4.

Page 25: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

5

Chapitre 1

Chapitre 1 T

Dans ce chapitre, nous présentons le contexte de nos travaux de recherche sur la synthèse de

la commande des Systèmes à Evénements Discrets (SED). Dans un premier temps, nous

effectuons une brève description du système de contrôle-commande étudié. Ensuite nous

positionnons nos travaux dans le cadre de la sûreté de fonctionnement. Nous présentons

ensuite succinctement la théorie de la synthèse de la commande introduite dans les années 80

par Ramadge et Wonham. Puis, nous analysons les limitations actuelles de cette théorie avant

de présenter l’objectif de nos propositions.

Page 26: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

6

1. Positionnement des travaux

Les travaux de recherche qui sont rapportés dans ce mémoire concernent la synthèse d’un

système de commande logique qui communique avec un système physique au travers de

capteurs et d’actionneurs (figure 1). De plus, nous privilégierons une implantation de ce

système de commande sur API (automate programmable industriel), équipement qui est très

utilisé dans l'industrie.

Figure 1 Système de commande logique

La conception et l'implantation de ces systèmes de commande, qui étaient auparavant basées

sur l'expérience et le savoir-faire, sont devenues de plus en plus difficiles à maîtriser dans les

systèmes industriels d'aujourd'hui à cause de leur taille et de leur complexité. Pourtant, ces

systèmes de commande sont devenus de plus en plus critiques pour la sécurité de biens et de

personnes. Ceci, lié à la demande croissante de la société pour la prévention des risques

industriels, explique que de plus en plus d’entreprises souhaitent disposer de méthodes de

développement rigoureuses permettant de garantir que le comportement de leurs systèmes de

commande est bien celui requis, et ne contient pas d’éléments nuisibles à la sûreté.

Certains secteurs industriels, comme le transport et les industries critiques (processus

chimiques, énergie, industrie pétrolière...) semblent être concernés plus particulièrement par la

sûreté de la commande. Mais en fait tous les secteurs (processus de fabrication, bâtiment,

banque, ...) considèrent de plus en plus sérieusement la sûreté de leurs systèmes de commande

comme une exigence fondamentale.

Capteurs et actionneurs

(API)

Système de Commande

Système physique n Sorties logiques

Entrées logiques m

Page 27: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

7

1.1 Sûreté en ligne et sûreté hors ligne

Un système de commande est concerné à deux titres par la sûreté. D'abord il ne doit pas

produire lui-même des événements dangereux. De plus, un système de commande exécute

souvent des fonctions liées à la sûreté, en surveillant un processus physique, en détectant des

déviations potentiellement dangereuses afin d'entreprendre des actions réactives visant à

mettre le système physique dans un état sûr ou simplement pour avertir un opérateur.

Deux catégories de personnes sont donc en fait concernées par la sûreté : les concepteurs du

système de commande et ses utilisateurs. Les premiers doivent assurer la sûreté du système

lors de son élaboration, les deuxièmes lors de son exploitation. En tenant compte de ces deux

préoccupations différentes, les méthodes contribuant à la sûreté peuvent être groupées en deux

catégories : sûreté hors-ligne et sûreté en-ligne (voir figure 2) [Fau_01]. Le cycle de vie d’un

système de commande comporte en effet globalement deux périodes :

- l'élaboration, qui comprend les phases de spécification, de conception, d'implantation, de

test et de validation ;

- l'exploitation, pendant laquelle le système de commande est employé pour commander un

processus physique ou est entretenu.

La sûreté hors-ligne a pour but d’éviter (ou de limiter) les fautes du système de commande

nuisibles à la sûreté. La sûreté en-ligne a pour objectif de garantir le bon fonctionnement du

système physique lors de l’exploitation.

Figure 2 Sûretés hors-ligne et en-ligne

Nos travaux se positionnent dans le cadre de la sûreté hors-ligne. Ceci explique que nous

allons nous intéresser aux méthodes de conception permettant d’assurer ce type de sûreté.

Spécification

Conception

Implantation

Validation

Tests

Exploitation

SURETE HORS LIGNE SURETE EN LIGNE

Page 28: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

8

1.2 Conception de la commande

Dans la pratique industrielle, les systèmes de commande sont malheureusement conçus sans

méthode formelle (figure 3).

Figure 3 Conception informelle de la commande

Les techniques de vérification formelle (figure 4) assurent la sûreté a posteriori. En effet,

dans cette approche :

1) Un modèle du système de commande est conçu de manière informelle.

2) Ce modèle non sûr a priori est traduit en un modèle formel.

3) Il est alors possible de prouver des propriétés intrinsèques (indépendantes de l’application),

telles que stabilité, vivacité, blocage, … (vérification) et extrinsèques (fonction de

l’application) sur ce modèle formel.

4) Si l’une quelconque de ces propriétés n’est pas prouvée, il faut reprendre la conception

formelle.

5) Lorsque toutes les propriétés sont prouvées, il est possible de passer à l’implantation.

Figure 4 Vérification et validation formelles de la commande

Page 29: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

9

Les techniques de synthèse formelle (figure 4) permettent, elles, d’obtenir un système de

commande sûr a priori. Dans cette approche, le modèle de commande est en effet obtenu

directement à partir de modèles formels des spécifications et du système physique à contrôler.

Figure 5 Synthèse formelle de la commande

Nos travaux se situant dans le domaine de la synthèse formelle, nous allons à présent faire un

état de l’art des travaux scientifiques dans ce domaine.

1.2.1 Synthèse formelle de la commande

Etant donné que nous allons limiter notre travail à un type de système de commande

particulier : la commande des Systèmes à Evénements Discrets (SED), nous allons tout

d'abord définir les SED. Puis nous aborderons la théorie de la supervision (ou de la

commande supervisée) des SED qui a été introduite par Ramadge et Wonham [Ram_82],

[Won_87], car cette théorie constitue un apport très important au domaine et est celle sur

laquelle se base la plupart des travaux.

1.2.1.1 Système à Événements discrets (SED)

Un Système à Evénements Discrets (SED) est un système dynamique dont l'espace d’états est

discret et tel que les changements d'état se produisent sur occurrences d'événements [Cas_99].

Ces systèmes permettent de modéliser des systèmes de production manufacturière, de

logistique, le trafic de véhicules, les réseaux de communications, etc.

Page 30: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

10

Figure 6 Modélisation du comportement dynamique d'un SED dans le temps

1.2.1.2 Modélisation temporelle

Le comportement dynamique d'un SED peut être modélisé avec un temps continu comme il

est montré dans la figure 6. Les états discrets sont représentés par qi et les événements par ej.

Les SED qui ne considèrent que l’ordre des événements sont appelés des modèles à temps

logique. Les modèles qui utilisent des intervalles de temps valués sont appelés des modèles à

temps physique.

1.2.1.3 Modélisation par automates

Un automate est un modèle qui permet de représenter le comportement d'un SED à l’aide

d'états et de transitions. La figure 7a représente l'automate à états correspondant à la figure 6.

Les transitions sont étiquetées par des événements qui représentent les conditions de

transition. Plusieurs modèles existent dans la littérature [Hop_79], [Ber_91], [Wol_91],

[Cha_96].

Figure 7 (a) L'automate à états déterministe de la figure 6 (b) Un automate non déterministe

Page 31: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

11

1.2.1.4 Automate déterministe

La définition formelle d'un automate déterministe G est : G est un quintuplet G = (Q, Σ, δ, q0,

Qm) où Q est l'ensemble des états; Σ est l'alphabet d'entrée; δ est la fonction de transition

d'états de Q x Σ dans Q (δ : Σ x Q → Q) qui associe un état d'arrivée à un état de départ et à

un symbole d'entrée; q0 est l'état initial et, Qm est l'ensemble des états finals où Qm ⊆ Q.

L'automate est déterministe parce que δ est une fonction dans Σ x Q. En d'autres termes,

connaissant l'état courant et le symbole d'entrée de l'automate, on peut déterminer sans

équivoque le prochain état de l'automate. La figure 7a montre un automate déterministe ; la

figure 7b montre un contre exemple : un automate non déterministe.

1.2.1.5 Accepteur [Cha_96]

Un accepteur A est un quadruplet : (Q, Σ, δ, q0) où Q est l'ensemble des états; Σ est l'alphabet

d'entrée; δ est la fonction de transition d'états de Q x Σ dans Q qui associe un état d'arrivée à

un état de départ et à un symbole d'entrée; q0 est l'état initial. On peut remarquer que

l'accepteur ne comporte pas d'états finaux.

1.2.1.6 Composition des automates

Plusieurs types de compositions existent tels que la composition libre ou cartésienne,

composition synchrone et composition asynchrone. Chacune de ces compositions spécifie la

façon selon laquelle les états et les événements des modules Gi sont pris en compte pour

décrire le comportement global. Nous allons présenter ci-après la composition synchrone qui

est utilisée par la suite.

Composition synchrone :

Si G1, G2 et G sont des automates à états.

Si Σ1, Σ2 et Σ représentent l’ensemble des événements de G1, G2 et G,

Si Q1, Q2 et Q représente l’ensemble des états de G1, G2 et G respectivement.

La composition synchrone de G = G1 ||s G2 est alors définie comme suit :

• Evénements : Σ = Σ1 ∪ Σ2.

• Etats : Q = Q1 x Q2 où l’état initial q initial = (q1 initial, q2 initial).

• Les transitions de G sont définies comme suit :

Pour a ∈ Σ1 ∩ Σ2 :

si (q1 , a) → q1’ et (q2 , a) → q2’ alors δ : ((q1 , q2) , a) → (q1’ , q2’)

Page 32: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

12

Pour a ∉ Σ1 ∩ Σ2 :

A) Si a ∈ Σ1 et (q1 , a) → q1’ alors δ : ((q1 , q2) , a) → (q1’ , q2)

B) Si a ∈ Σ2 et (q2 , a) → q2’ alors δ : ((q1 , q2) , a) → ( (q1 , q2’)

Notons que dans cette composition la simultanéité des événements n'est pas prise en compte.

1.2.1.7 Modélisation d'un SED par langage.

Le comportement d'un SED peut être aussi modélisé par un langage. La théorie des langages

[Hop_79] introduit les concepts suivants.

L'alphabet (Σ) est un ensemble fini de symboles ou de lettres (β, δ, α, λ).

Un mot (chaîne ou séquence) est une suite finie de symboles d'un alphabet (par exemple

βαβδλ). Le mot vide est représenté par ε.

Un langage est un ensemble de mots construit sur le même alphabet Σ.

La fermeture itérative (*) est la représentation d'un mot répété un nombre indéfini de fois : 0,

1, 2, …, n. Celle-ci représente une boucle dans un automate. Par exemple, dans la figure 7a,

(e3)* et (e4 e5 e6)* est la représentation cyclique du mot (e3) et (e4 e5 e6) respectivement, répété

n fois (n=0, 1, 2, …, etc.). Note : la chaîne avec n=0, est le mot vide : (αλμ)0 = ε.

Les concepts de la théorie des langages permettent de représenter le comportement d'un SED.

En effet, l’ensemble des mots décrit le comportement du système. La figure 8 montre la

correspondance entre modélisation par automate et modélisation par langage.

Evénements Trace Comportement du système

Symboles σ ∈ Σ Mots Langage L

Figure 8 Relation entre un SED et sa représentation en théorie des langages

1.2.2 La théorie de la supervision (ou de la commande supervisée)

Dans les années 80, Ramadge et Wonham [Ram_82], [Won_87] ont défini une méthode de

conception formelle appelé "théorie de la supervision des systèmes à événements discrets".

Cette théorie constitue un apport indéniable à la conception de la commande de SED car la

plupart de travaux dans le domaine sont dérivés de cette approche.

Cette théorie repose sur une modélisation des SED basée sur des langages formels. Le

système à contrôler est considéré comme un générateur spontané d'événements nommé

procédé. Son évolution est décrite par un ensemble de séquences d'événements qui forme un

Page 33: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

13

langage. Seuls les SED à temps logique où les événements sont asynchrones sont considérés.

La théorie de la commande supervisée repose sur l'idée du contrôle d'un procédé en boucle

fermée avec un superviseur, ce superviseur étant un SED qui permettra la modification, en

avance, du fonctionnement du procédé en acceptant ou interdisant certains événements afin de

respecter la spécification de fonctionnement. Ainsi des techniques [Won_87], [Kum_91] ont

été développées afin de synthétiser systématiquement un tel superviseur. Ces travaux sont

basés sur le concept de contrôlabilité défini plus bas (1.2.2.2) qui est le concept clef de la

théorie. Le but de ces techniques est de garantir la spécification de fonctionnement imposée.

Le résultat est considéré comme optimal puisque le fonctionnement obtenu est le plus large

possible, nommé fonctionnement suprême contrôlable. Ces deux derniers points constituent

l'apport fondamental de la théorie.

1.2.2.1 SED Contrôlable

Un SED représenté par le générateur G équipé avec un ensemble d'entrées de contrôle Γ, est

appelé un SED Contrôlable Gc (SEDC). Dans ce qui suit, Γ est fixé. Ainsi, un SEDC est un

SED qui génère spontanément les événements Σ. Ces événements sont divisés en deux

groupes : événements contrôlables Σc et incontrôlables Σu où Σ = Σc ∪ Σu (voir figure 9a). En

effet, pour contrôler un SED il est supposé qu’il existe des événements qui peuvent être

interdits. De telles interdictions ont pour but de prévenir des occurrences d’événements à

certains instants afin de respecter une spécification de fonctionnement (voir figure 9b).

Figure 9 (a) Illustration SEDC (b) Représentation d'un SEDC avec la notion de filtrage des événements contrôlables Σc (c) Illustration d'un Superviseur

1.2.2.2 Contrôlabilité

Un langage K (spécification) est contrôlable par rapport au langage L (SEDC), lorsque un événement uΣ possible entraîne une évolution vers un état appartenant également à K :

uK Σ L K∩ ⊆ .

Evénements

Σ= Σc ∪ Σu

Σc = { β, λ }

Σu = { α, δ }

α β

λ δ

SEDC

Evénements interdits

Φ(i)

SUPERVISEUR

Σ

Evénements

Σ= Σc ∪ Σu

SEDC

Filtre qui permet d'accepter

ou de refuser les événements

contrôlables

Σc

β λ

α δ

Σu

Page 34: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

14

1.2.2.3 Superviseur

Le superviseur peut être perçu (figure 9c) comme un système qui génère à l'instant logique i

une liste d'événements interdits Φ(i) inclus dans Σc Il est possible de percevoir de façon

équivalente le superviseur comme le générateur d'événements acceptés. En effet, la liste

d'événements acceptés sera alors Σc - Φ(i).

La définition formelle du superviseur [Cha_96] est la suivante :

Le superviseur S, est une machine de Moore, définie par le 6-uplet 0( , , , , 2 , )ΣcS V Σ ξ v θ=

où V est un ensemble fini d'états; Σ est l'alphabet d'entrée; :ξ VxΣ V→ est la fonction

de transition d'états; 0v est l'état initial; 2Σc est l'alphabet de sortie; et : 2Σcθ V → est la

fonction d'affectation de sortie.

Ainsi, le superviseur peut être perçu comme une machine à états qui évolue conformément à

une modification de son entrée (sur l'occurrence d'un événement de Σ). Pour chaque état v , le

superviseur S fournit en sortie une liste d'événements interdits. Rappelons que seuls les

événements contrôlables peuvent être interdits, le superviseur n’a aucun droit d’interdire un

événement incontrôlable Σu. Ainsi chaque sortie de S est un élément de 2Σc .

1.2.2.4 Supervision en boucle fermée

La théorie considère le couplage d'un SEDC avec un superviseur (voir figure 10). Le but de ce

couplage est d'inhiber le comportement du SEDC afin de respecter la spécification de

fonctionnement. Le SEDC reçoit en entrée un ensemble d'événements à interdire Φ provenant

du superviseur. Le superviseur génère donc la liste d'événements interdits Φ et il reçoit en

entrée l'alphabet Σ=(Σc∪Σ u).

Notons que le rôle du superviseur en boucle fermée est limité à l'interdiction d'occurrences

d'événements dans le SEDC car le but de la supervision est d'interdire le fonctionnement non

désiré. Ainsi, le superviseur doit être en avance par rapport au SEDC pour accomplir son rôle

de superviseur. La figure 10 montre comment le superviseur doit envoyer l'information

d'interdiction de l'événement Σc qui a été généré par SEDC avant qu'elle puisse être prise en

compte comme sortie (Σ) du SEDC.

Le superviseur ne peut pas en aucun cas forcer des événements à se produire. En

conséquence, il s'ensuit que le superviseur ne peut que restreindre le fonctionnement du

SEDC. Le rôle du superviseur est donc permissif [Ram_87a], [Pet_81]. De plus,

Page 35: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

15

fondamentalement, l'observation du SEDC par le superviseur est asynchrone, c'est-à-dire, non

cadencée par un horloge.

Figure 10 Illustration du couplage du superviseur et du SEDC en boucle fermée

1.2.2.5 La synthèse du superviseur

Le principe de la synthèse est le suivant : partant d'un SEDC décrit par un langage L et d’une

spécification de fonctionnement donnée par le langage K, le but est de trouver le langage (le

plus permissif possible) d'un superviseur qui garantisse que L soit contrôlable par rapport à K.

Intuitivement, la méthode de synthèse d'un tel superviseur (voir figure 11a) consiste à

calculer, d'abord, le langage du système formé par le couplage du SEDC (G) et du superviseur

(S) par une composition synchrone L(S/G) = S ||s G. Ensuite, on vérifie que L(S) soit

contrôlable par rapport à L(S/G).

Figure 11 a) Comportement en boucle fermée b) Fonctionnement suprême contrôlable

Si ce n’est pas le cas, on détermine, à l’aide par exemple de l'algorithme de [Kum_91], le

langage qui garantisse le fonctionnement sûr et qui soit le plus permissif possible (suprême)

SupC(S/G).

Fonctionnement du superviseur" Ce qu’on veut "

Fonctionnement en boucle fermée

Fonctionnement du procédé en isolation " Ce qui est "

SupC(S/G) Fonctionnement Suprême Contrôlable désiré en boucle fermée

L(G)

L( S)

L(S/G)

L(G)

L( S)

L(S/G)

Evénements

Σ= Σc ∪ Σu

SEDC

Σu Σc

Σu Superviseur

Φ(i) : Σc refusés

Σc proposé

Filtre

Effet inhibiteur

Page 36: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

16

1.2.3 Analyse de la théorie de la commande supervisée

De très nombreux travaux ont été réalisés à partir des résultats de Ramadge et Wonham ; ceci

met en évidence l'importance de leur apport. Cependant, malgré la richesse de ces résultats,

l'application de cette théorie reste encore extrêmement limitée dans l'industrie [Ndj_99]. Afin

de comprendre les raisons de cet état de fait, nous analysons ci-après ses limitations :

A) Limitation due à l'explosion combinatoire

B) Limitation due à la construction du SupC(S/G)

C) Limitation due à la modélisation initiale

D) Limitation due à la conception permissive

E) Limitation d'implantation du superviseur

F) Limitation due à la difficulté d’obtenir les modèles de départ

A) Limitation due à l'explosion combinatoire

Pour des modèles non triviaux, l'explosion combinatoire lors de la composition G||sS rend

souvent impossible la synthèse.

Cette limitation a induit la recherche de solutions particulières : supervision modulaire

[Ram_87b], [Won_88], [Won_98], [Que_02], supervision sous observation partielle

[Ram_86], [Won_94], supervision hiérarchique [Zho_90], [Won_94], [Goh_98], supervision

décentralisée [Lin_88], [Han_97]. Ces extensions introduisent d’ailleurs parfois des

hypothèses supplémentaires (asynchronisme entre événements de deux modules par exemple)

et ne conduisent pas toujours à une solution optimale.

Nous pensons que, pour des SED de grande taille, la modélisation modulaire, hiérarchique,

décentralisée est obligatoire, et que ces extensions constituent des apports importants.

Cependant, elles n’éliminent pas complètement le problème de l'explosion combinatoire pour

des systèmes réels.

B) Limitation due à la construction du SupC(S/G)

Lors de la construction de SupC(S/G), certaines propriétés indispensables telles que l’absence

de blocage, l’accessibilité d’un état, peuvent ne pas être respectées. Afin de prévenir ces effets

indésirables, il importe de vérifier que le modèle obtenu respecte ces propriétés, ce qui accroît

la complexité du calcul.

Page 37: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

17

C) Limitation due à la modélisation initiale

La figure 10, qui fait apparaître un superviseur interdisant certains événements contrôlables

d’un SEDC, est différente du modèle classique de commande en boucle fermée (figure 12),

qui comprend un procédé à contrôler et un contrôleur.

Figure 12 Système de contrôle- commande

L'application de la théorie de la supervision est donc confrontée à l'interprétation du modèle

de la figure 10 par rapport au modèle de la figure 12.

[Cha_96] a établi un lien entre ces deux interprétations en proposant l’interprétation suivante

(figure 13 a) :

1) Le SEDC –nommé procédé étendu– est modélisé par deux SED : un procédé et un

contrôleur.

2) Le contrôleur est le générateur de Σc, dans le SEDC, et intègre le filtre d’événements.

Figure 13 a) Interprétation de [Cha_96] b) Schéma du contrôle par supervision par événement forcé selon [Bal_93]

De plus, ce travail présente un algorithme de liaison entre un modèle Grafcet et le modèle du

superviseur synthétisé. Ceci facilite l'applicabilité de la méthode. [Kat_04] a repris ce travail

en enlevant l'hypothèse d'une spécification contrôlable. Ces travaux sont un apport vers

l'application au niveau industriel.

PROCEDE

SUPERVISEUR

ΣuΣc

Source de Σc Filtre Φ

SUPERVISEUR Σ

Σc

Σu

CONTRÔLEUR

PROCEDE

SEDC

Σu, Σc ∈ Σ Contrôleur Procédé

Σc

Σu

Page 38: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

18

D) Limitation due à la conception permissive

La théorie initiale ne permet que la conception d'une commande permissive car elle ne fait

qu’interdire l'occurrence d'événements Σc générés dans le SEDC. Or, de nombreux problèmes

de commande imposent de forcer, et pas seulement d’interdire, des événements. Ceci a

conduit au développement d'une autre approche basée sur le concept d'événements forcés

([Bra_89], [Bal_92], [Bal_93], [Li_91]). La figure 13b illustre cette approche, connue comme

contrôle de type entrées/sorties. Le SEDC ne génère plus Σc et devient le procédé ; la notion

de filtre disparaît et le rôle du superviseur est de fournir Σc.

E) Limitation d'implantation du superviseur

Il n’existe que peu de travaux qui s’intéressent à l’implantation d’un superviseur. Nous

pouvons citer [Bal_93], [Lau_96], [Gou_02], [Que_02], [Kat_04], [Taj_05]. Ces travaux bien

qu'intéressants présentent cependant des limitations sur l'implantation.

D'autre part, dans les travaux de [Fab_98], [Hel_02], [Gou_04], il est proposé un équivalent

en "Ladder Diagram" du superviseur, sous réserve que certaines hypothèses soient respectées.

Du point de vue théorique, l'applicabilité de l'approche par événements forcés est alors

possible.

F) Limitation due à la difficulté d’obtenir les modèles de départ

Les modèles formels du procédé et de la spécification, supposés existants dans la théorie,

conditionnent fortement le résultat de la synthèse. L’obtention de ces modèles joue donc un

rôle crucial dans les techniques de synthèse et peut conduire à une solution rapide et simple

ou, dans le pire de cas, à l’impossibilité de résultat. [Gou_04] présente un tableau qui résume

ce problème et qui met en évidence, en plus, que l'absence de résultat par synthèse ne garantit

pas la non-existence d'une solution.

Nous avons constaté ceci, d'ailleurs, en participant au groupe de travail COSED sur la base

d’un cas d'étude simple. A partir de la spécification de fonctionnement en langage naturel

d’une commande simple d'un module d'une machine d'assemblage réelle1, avec 6 entrées et 4

sorties à commander, des modèles ont été développés par plusieurs laboratoires [Gaf_03],

[Gou_03], [Phi_03], [Rou_03a], [Taj_03]. Ces modèles étaient de taille et de granularité très

différentes, même si la taille du cas traité était réduite, ce qui a conduit à des solutions de 1 La machine d'assemblage est installée au laboratoire d'automatique du Département de Génie Mécanique de

l'ENS Cachan.

Page 39: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

19

complexités très variables. Il est possible de faire le même constat, à travers l'étude de

[Pin_99], dans laquelle une étude comparative, sur deux exemples, de la méthode de synthèse

en modélisant par automates, par RdP, par TTM (Timed Transition Models) et par NCES (Net

Conditions Events) a été faite.

1.2.4 Conclusions

La théorie de la supervision constitue un apport fondamental pour la synthèse des SED. Un

nombre extrêmement important de travaux sont basés sur cette théorie, en utilisant des

modélisations par automates, réseaux de Petri (travaux de [Gha_02], [Did_06, notamment),

TTM ([Ost_89]), NCES ([Han_95], [Rau_95]). Cependant cette théorie est une méthode de

conception formelle qui ne s’intéresse pas à l’implantation de la commandeØ. En effet,

"les procédures de synthèse fournissent un modèle d'un superviseur abstrait qui ne peut pas

être implanté en l'état sur un système réel" [Ndj_99]. Ceci réduit son intérêt pratique. D’autre

part, elle s’appuie sur des modèles abstraits pour un concepteur industrielÙ.

En troisième lieu, il a été constaté que la modélisation du procédé et de la spécification Ú

joue un rôle crucial pour l'obtention des résultats. Un concepteur est alors confronté au

problème de savoir comment modéliser son procédé et ses besoins sans provoquer : 1) un

temps de calcul trop grand, 2) l'échec du calcul (aucune solution), 3) le non accomplissement

d'une propriété (vivacité, blocage, états marqués, etc.). Le point 1 est relatif aux moyens du

calcul ; par contre les points 2 et 3 imposent une communication avec le concepteurÛ afin

de l'aider à détecter les incohérences dans les modèles initiaux. L'apport de [Taj_05] est

notable à ce sujet cependant ce travail suppose que le concepteur soit expert. En effet, les

résultats d'un échec lors de la synthèse, s'il y en a, ne sont pas toujours évidents pour un

concepteur industrielÜ.

Enfin, en dépit des travaux sur la supervision modulaire, l'explosion combinatoireÝ demeure

une limitation forte pour l’application au niveau industriel de la théorie.

Ainsi, en tenant en compte des limitations : Ø, Ù, Ú, Û, Ü et Ý, il nous est apparu

nécessaire de chercher une autre alternative que nous présentons ci-après.

1.3 Approche proposée

Nous présentons dans la suite de ce document les résultats de nos travaux qui visent à

proposer une méthode alternative à l’approche de commande supervisée. Cette méthode de

Page 40: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

20

synthèse formelle est conçue pour produire un système de commande sûr a priori et considère

également l'implantation de cette commande.

La figure 14 montre le principe de cette méthode de synthèse qui s’appuie un cadre formel

algébrique : l'algèbre ø. La spécification formelle de la commande est obtenue à partir des

modèles informels des spécifications et du système physique en langage naturel (LN). A partir

des spécifications formelles, la phase de conception permet d’obtenir les fonctions de contrôle

des sorties du système de commande. Dans cette phase nous vérifions que les spécifications

formelles respectent certaines propriétés, notamment de cohérence et de complétude, qui sont

nécessaires pour obtenir une fonction de contrôle solution. Ceci est réalisé à l’aide

d’algorithmes développés spécifiquement et grâce à la communication avec le concepteur.

Figure 14 Schéma de la méthode d'élaboration sûre de la commande proposée avec l’algèbre ø

Pour un système de commande m entrées 1 2, , , mu u u et à n sorties 1 2, , , nX X X , les n

fonctions de contrôle 1 2, , , nF F F peuvent être implantées de façon à être exécutées en

Page 41: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 1 : Positionnement des travaux

21

parallèle ou séquentiellement. Ces deux cas seront considérés dans notre étude, en nous

limitant à un système centralisé (implantation dans un seul calculateur ou API).

La méthode proposée considère une modélisation initiale en LN qui puisse être formalisée et

elle considère l’implantation du résultat obtenu (fonction du contrôle) sur un calculateur

industriel. Ceux-ci avec l’objectif de surmonter les limitations C, E et F (voir 1.2.3). De plus,

nous prendrons en compte des spécifications d’interdiction et d’imposition des événements

afin de surmonter la limitation D.

En plus, dans notre approche nous ne considérons pas la construction d’un superviseur

(limitation B). Or, nous proposerons des expressions pour vérifier des propriétés du

comportement global mais a vérifier directement sur les fonctions des sorties afin d’éviter

l’explosion combinatoire (limitation A). De plus, l’algèbre ø nous permettra d’utiliser un seul

cadre formel tout au long de la méthode, dès la formalisation jusqu’à l’implantation. Nous

éviterons ainsi l’introduction des hypothèses.

Organisation du mémoire

Les deux chapitres suivants présentent le cadre formel algébrique sur lequel s’appuie notre

méthode de synthèse. Le chapitre 4 est consacré à l’obtention de spécifications formelles à

partir d’énoncés en langage naturel (LN). Dans le chapitre 5, nous présentons une méthode de

résolution de système d’équations qui sert de base à la synthèse de fonctions de contrôle.

Enfin, cette méthode de synthèse est détaillée dans le chapitre 6 tandis que les chapitres 7 et 8

l’illustrent à l’aide de trois exemples.

Page 42: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

 

Page 43: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

23

Chapitre 2

Chapitre 2

Les bases de l'algèbre ø, qui est le cadre mathématique de nos travaux, sont présentées dans ce

chapitre. Cette algèbre est une algèbre de Boole pour les signaux binaires.

Les opérations de base (ET, OU et NON) et la relation d'égalité sont présentées dans un

premier temps. Ensuite, nous introduisons la relation d'ordre partiel "≤ ", appelée inclusion,

qui est un point clef pour la résolution de systèmes d'équations développée au chapitre 5.

Page 44: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

24

2. Bases d'une algèbre pour les signaux binaires

2.1 Introduction

Le cadre mathématique présenté dans ce document (appelé algèbre ø ) est conçu pour l'étude

des systèmes logiques, c'est-à-dire les systèmes pour lesquels les variables ne peuvent prendre

que les deux seules valeurs 0 ou 1.

De plus, dans le cadre mathématique présenté ci-dessous, le temps est considéré comme une

grandeur continue représentée par une variable réelle. Cette modélisation du temps, plus

conforme à la perception du temps dans le monde physique, permet de s'affranchir des

différents problèmes d'échantillonnage tout en simplifiant la définition mathématique des

primitives de cette algèbre. Ainsi, les primitives du cadre formel (opérations et relations),

présentées dans ce chapitre, permettent de décrire sous forme d'équations algébriques des

comportements statiques ou dynamiques de systèmes physiques logiques.

Dans la section suivante, l'algèbre ø, ses opérations de base : ET, OU, NON et deux

relations : égalité et inclusion (≤ ) sont présentées. Cette dernière relation, qui est une relation

d'ordre partiel, est primordiale pour la résolution des systèmes d'équations développée au

chapitre 5.

2.2 Structure d'Algèbre de Boole

Il existe plusieurs définitions différentes dans la littérature pour une algèbre de Boole. Pour

éviter toute ambiguïté due à l'utilisation de définitions élaborées par des auteurs ayant des

points de vue différents, les définitions de chacun des concepts mathématiques utilisés dans ce

document sont toutes extraites d'un seul document. Il s'agit de [Gri_00] :

Discrete and Combinatorial Mathematics: An Applied Introduction

R. P. GRIMALDI

New-York, Addison-Wesley Editions, 4ième edition

ISBN : 0-201-19912-2.

Nous ferons principalement référence au chapitre 15.4 intitulé "The structure of a Boolean

Algebra".

Page 45: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

25

2.2.1 Définition mathématique d'un signal binaire

La forme générale d'un signal binaire est décrite sur la figure 15. Elle correspond à une

fonction de úP

+*P dans {0,1}=B continue par morceaux, pouvant admettre en certains points

une double discontinuité. C'est le cas des dates 2t et 6t pour le signal représenté sur la figure

15. Pour les dates telles que 1t et 3t , le signal de cette figure est continu à droite.

Figure 15 Représentation graphique d'un signal binaire f

Soit ø l'ensemble de ces fonctions. Cet ensemble ø peut être défini mathématiquement

comme suit (définition 1). La continuité par morceaux des éléments de ø est matérialisée par

l'existence pour toute date t de úP

+*P d'un intervalle ouvert de longueur aussi petite que l'on

veut mais non nulle sur lequel toutes les valeurs de la fonction f sont identiques.

Définition 1 : Signal binaire

* * 21 2 1 2{ : | : ( 0 : ( ( , ) ]0, [ , ( ) ( )))}t tf t ε ε ε ε f t ε f t ε+ += → ∀ ∈ ∃ > ∀ ∈ − = −R B Rø

2.2.2 Éléments caractéristiques

Parmi tous les éléments de ø, deux fonctions de úP

+*P dans {0,1}=B auront un rôle

prépondérant au sein de cette algèbre. Ces fonctions, notées 1* et 0*, sont définies ainsi :

Définition 2 : Signal 1* Définition 3 : Signal 0*

* *1 :

1t

+ →a

R B * *0 : *

0t

+ →a

R B

Les fonctions 1* et 0* sont les deux seules fonctions de ø pour lesquelles la valeur reste

constante sur úP

+*P.

2.2.3 Convention de notation

Pour distinguer les opérations entre les éléments de ø des opérations entre des variables

logiques, la convention suivante sera suivie dans ce document :

Page 46: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

26

• Les notations " ∧ ", " ∨ " et " ¬ " seront respectivement utilisés pour les opérations ET, OU,

NON entre des variables logiques.

• Les notations " ⋅ ", "+" et " " seront utilisées pour les opérations ET, OU, NON entre des

signaux binaires.

• Les éléments de ø (fonctions de úP

+*P dans {0,1}=B ) seront notés f , g et h .

• Les variables logiques représentant les valeurs prises par ces fonctions à un instant t donné

seront notées ( )f t , ( )g t et ( )h t .

• Nous reprendrons la même convention de priorité que l'algèbre de Boole classique :

d'abord la parenthèse puis l'opération ET ensuite l'opération OU. Il sera donc possible de

supprimer certaines parenthèses lorsque celles-ci ne seront pas strictement nécessaires.

• Un système d'équations sera représenté par une accolade ouvrante à gauche "{ ".

Afin de ne pas surcharger inutilement les notations, le symbole " = " sera utilisé soit entre des

variables logiques, soit entre des signaux binaires. La définition de la relation d'égalité est

donnée par :

Relation Définition mathématique Interprétation usuelle Caractéristiques

Egalité f g=

( )* , ( ) ( )t f t g t+∀ ∈ =R Les signaux f et g sont identiques.

Relation symétrique, transitive et réflexive

2.2.4 Opérations de base

Les trois opérations de base suivantes sont nécessaires pour donner à ø une structure d'algèbre

de Boole. Elles permettent de composer les signaux binaires entre eux afin d'obtenir de

nouveaux signaux binaires.

La définition mathématique de ces opérations est la suivante :

Définition 4 : Opération ET

Définition 5 : Opération OU

Définition 6 : Opération NON

2

*( , ) ( )

,( )( ) ( ) ( )

f g f gOù t

f g t f t g t

+

→⋅

∀ ∈⋅ = ∧

a

R

ø ø

2

*( , ) ( )

,( )( ) ( ) ( )

f g f gOù t

f g t f t g t

+

→+

∀ ∈+ = ∨

a

R

ø ø

* ,( ) ( )

f fOù t

f t f t

+

∀ ∈= ¬

a

R

ø ø

Page 47: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

27

Ces trois opérations permettent de composer les éléments de ø de manière combinatoire.

• La valeur ( )( )f g t⋅ du signal ( )f g⋅ à la date t est obtenue par un ET logique entre deux

variables logiques. Il s'agit des valeurs ( )f t et ( )g t des signaux f et g à cette même

date t .

• La valeur ( )( )f g t+ du signal ( )f g+ à la date t est obtenue par un OU logique entre

deux variables logiques. Il s'agit des valeurs ( )f t et ( )g t des signaux f et g à cette

même date t .

• La valeur ( )f t du signal f à la date t est obtenue en complémentant la valeur d'une

variable logique. Il s'agit de la valeur complémentaire de ( )f t du signal f à cette même

date t .

2.2.5 Structure d'Algèbre de Boole

2.2.5.1 Définition

D'après [Gri_00] page 687, pour démontrer que (ø, ⋅ , +, , 1P

*P, 0P

*P) a une structure d'Algèbre de

Boole, il suffit de vérifier que les neuf conditions suivantes sont satisfaites pour tout élément

f , g et h de ø.

Commutativité :

f g g f⋅ = ⋅ [2.1]

f g g f+ = + [2.2]

Distributivité :

( ) ( ) ( )f g h f g f h⋅ + = ⋅ + ⋅ [2.3]

( ) ( ) ( )f g h f g f h+ ⋅ = + ⋅ + [2.4]

Identité (éléments neutres) :

1*f f⋅ = [2.5]

0*f f+ = [2.6]

Relations impliquant un signal et son complément :

0 *f f⋅ = [2.7]

1*f f+ = [2.8]

0* 1*≠ [2.9]

Page 48: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

28

2.2.5.2 Vérification de la structure d'Algèbre de Boole

Pour démontrer les dernières conditions nous allons utiliser la relation d'égalité donnée en

2.2.3 (cette relation est approfondie à la section 2.3.3) :

Démonstration de l'équation X[2.1]X : f g g f⋅ = ⋅

* , ( )( ) ( ) ( ) ( ) ( )( )( )

t f g t f t g t g t f tg f t

+∀ ∈ ⋅ = ∧ = ∧= ⋅

R

Démonstration de l'équation X[2.2]X : f g g f+ = +

* , ( )( ) ( ) ( ) ( ) ( )t f g t f t g t g t f t+∀ ∈ + = ∨ = ∨R

( )( )g f t= +

Démonstration de l'équation X[2.3]X : f g g f⋅ = ⋅

( ) ( )( ) ( )

* , ( ) ( ) ( ) ( )( ) ( ) ( ) ( )

( ) ( ) ( ) ( )( )( )

t f g h t f t g h t f t g t h t

f t g t f t h tf g f h t

+∀ ∈ ⋅ + = ∧ + = ∧ ∨

= ∧ ∨ ∧

= ⋅ + ⋅

R

Démonstration de l'équation X[2.4]X : ( ) ( ) ( )f g h f g f h+ ⋅ = + ⋅ +

( ) ( )( ) ( )( )

*, ( ) ( ) ( ) ( )( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( )

t f g h t f t g h t f t g t h t

f t g t f t h t

f g f h t

+∀ ∈ + ⋅ = ∨ ⋅ = ∨ ∧

= ∨ ∧ ∨

= + ⋅ +

R

Démonstration de l'équation X[2.5]X : 1*f f⋅ =

* , ( 1*)( ) ( ) 1*( ) ( ) 1 ( )t f t f t t f t f t+∀ ∈ ⋅ = ∧ = ∧ =R

Démonstration de l'équation X[2.6]X : 0*f f+ =

* , ( 0*)( ) ( ) 0*( ) ( ) 0 ( )t f t f t t f t f t+∀ ∈ + = ∨ = ∨ =R

Démonstration de l'équation X[2.7]X : 0 *f f⋅ =

* , ( )( ) ( ) ( ) ( ) ( ) 0 0*( )t f f t f t f t f t f t t+∀ ∈ ⋅ = ∧ = ∧ ¬ = =R

Démonstration de l'équation X[2.8]X : 1*f f+ =

* , ( )( ) ( ) ( ) ( ) ( ) 1 1*( )t f f t f t f t f t f t t+∀ ∈ + = ∨ = ∨ ¬ = =R

Vérification de l'équation X[2.9]X : 0* 1*≠

Ces deux signaux binaires sont différents par définition.

Page 49: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

29

Comme les neuf conditions nécessaires sont respectées, alors (ø, ⋅ , +, , 1P

*P, 0P

*P) a bien une

structure d'Algèbre de Boole.

2.2.5.3 Propriétés communes aux algèbres de Boole

Les 11 théorèmes suivants sont des théorèmes communs à toute algèbre de Boole [Gri_00]

page 689. Ils découlent des neuf conditions nécessaires pour obtenir une algèbre de Boole.

Comme (ø, ⋅ , +, , 1P

*P, 0P

*P) est une Algèbre de Boole, les théorèmes suivants sont donc obtenus

pour tout élément f , g et h de ø (voir démonstrations dans l'annexe B) :

Idempotence :

f f f⋅ = [2.10]

f f f+ = [2.11]

Eléments neutres :

0* 0 *f ⋅ = [2.12]

1* 1*f + = [2.13]

Absorption :

( )f f g f+ ⋅ = [2.14]

( )f f g f⋅ + = [2.15]

Associativité :

( ) ( )f g h f g h⋅ ⋅ = ⋅ ⋅ [2.16]

( ) ( )f g h f g h+ + = + + [2.17]

Loi de double négation :

f f= [2.18]

Lois de De Morgan :

( )f g f g⋅ = + [2.19]

( )f g f g+ = ⋅ [2.20]

Dans la suite des travaux, nous ferons référence à des théorèmes complémentaires à ceux

proposés dans [Gri_00] page 689. Ceux-ci seront regroupés dans cette partie du document et

démontrés à partir des résultats précédents dans l'annexe B.

Page 50: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

30

( )f f g f g+ ⋅ = + [2.21]

f g f h g h f g f h⋅ + ⋅ + ⋅ = ⋅ + ⋅ (théorème de la redondance) [2.22]

1* 0 *= [2.23]

0 * 1*= [2.24]

0 *0 *

0 *f

f gg

⎧ =⎪+ = ⇔ ⎨ =⎪⎩ [2.25]

1*1*

1*f

f gg

⎧ =⎪⋅ = ⇔ ⎨ =⎪⎩ [2.26]

2.3 Relations d'égalité et d'inclusion entre des signaux binaires

2.3.1 Définitions des relations d'égalité, de différence et d'inclusion

Le Xtableau 1X regroupe l'ensemble des relations entre des éléments de ø que nous utilisons.2.3.1

Relation Définition mathématique Interprétation usuelle Caractéristiques

Egalité f g=

( )* , ( ) ( )t f t g t+∀ ∈ =R Les signaux f et g sont identiques.

Relation symétrique, transitive et réflexive

Différence f g≠ ( )*, ( ) ( )i i it f t g t+∃ ∈ ≠R

Il existe au moins une date it pour laquelle ( )if t est

différent de ( )ig t .

Relation seulement symétrique

Inclusion f g≤ f g f⋅ =

Pour tout date t où le signal ( )f t vaut 1, le signal ( )g t

vaut également 1.

Relation réflexive, transitive et

anti-symétrique

Tableau 1 Ensemble des relations entre des signaux binaires

Rappelons qu'une relation R entre deux éléments a et b d'un ensemble S est :

• symétrique si et seulement si : aRb est équivalent à bRa ,

• transitive si et seulement si : aRb et bRc implique aRc ,

• réflexive si et seulement si : ,a S aRa∀ ∈ ,

• anti-symétrique si et seulement si : aRb et bRa implique a b=

Page 51: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

31

2.3.2 Relation d'ordre partiel

La relation " ≤ " correspond à la relation d'ordre partiel qui peut être définie sur toute algèbre

de Boole [Gri_00] page 691 : f g f g f≤ ≡ ⋅ = . Dans le cadre de l'algèbre ø, cette relation

est notée «Inclusion» car, lorsque deux signaux f et g satisfont f g≤ , alors, si la valeur

( )f t du signal f est 1, quelle que soit la date t de úP

+*P, alors la valeur ( )g t du signal g est

également de 1. Sur la figure suivante sont présentés les signaux f et g qui satisfont f g≤ .

Figure 16 Exemple de signaux binaires satisfaisant la relation inclusion : f g f g f≤ ≡ ⋅ =

2.3.2.1 Caractéristiques de la relation «inclusion»

Les propriétés de réflexivité (X[2.27]X), de transitivité (X[2.28]X) et d'anti-symétrie (X[2.29]X) sont

des caractéristiques qui prouvent le fait que " ≤ " est bien une relation d'ordre partiel.

f f≤ [2.27]

f gf h

g h⎧ ≤⎪ ⇒ ≤⎨ ≤⎪⎩

[2.28]

f gf g

g f⎧ ≤⎪ ⇒ =⎨ ≤⎪⎩

[2.29]

Démonstration de la réflexivité de l'inclusion X[2.27]X : f f≤

Pour tout signal f élément de ø cette propriété est accomplie car l'idempotence X[2.10]X nous

dit que f f f⋅ = et donc cela implique par définition f f≤

Démonstration de la transitivité de l'inclusion X[2.28]X : f g

f hg h

⎧ ≤⎪ ⇒ ≤⎨ ≤⎪⎩

Si f g≤ et g h≤ , nous avons par définition f g f⋅ = et g h g⋅ = ; de sorte que (en

utilisant X[2.16]X), ( ) ( )f h f g h f g h f g f⋅ = ⋅ ⋅ = ⋅ ⋅ = ⋅ = ,

par conséquent f h≤

Page 52: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

32

Démonstration de l'anti-symétrie de l'inclusion X[2.29]X : f g

f gg f

⎧ ≤⎪ ⇒ =⎨ ≤⎪⎩

Si f g≤ et g f≤ , alors f g f⋅ = et g f g⋅ = ; comme f g g f⋅ = ⋅ ( X[2.1]X),

nous avons f g=

Pour la relation «inclusion», nous avons également les caractéristiques suivantes qui sont

vraies pour tout signal f , g de ø.

1*f ≤ [2.30]

0* f≤ [2.31]

( )f f g≤ + [2.32]

( )f g f⋅ ≤ [2.33]

Remarques :

Ces propriétés nous indiquent que pour tout signal f et g de ø :

• Tout signal ( f ) est toujours inclus dans le signal 1*, c'est-à-dire 1*f ≤ est toujours vraie.

• Le signal 0* est toujours inclus dans un signal quelconque ( f ) de ø, c'est-à-dire 0* f≤ est

toujours vraie.

• Un signal ( f ) est inclus dans un signal composé de ce signal et d'un autre signal

quelconque ( g ) avec l'opération OU ( f g+ ), c'est-à-dire f f g≤ + est toujours vraie.

• La composition d'un signal ( f ) et d'un autre signal ( g ) avec l'opération ET ( f g⋅ ), est

inclus dans ce signal ( f ), c'est-à-dire f g f⋅ ≤ est toujours vraie.

Les propriétés X[2.30]X, X[2.31]X, X[2.32]X et X[2.33]X seront démontrées à partir de la définition

f g f g f≤ ≡ ⋅ =

Démonstration de la relation X

[2.30]X

: 1*f ≤

Comme 1*f f⋅ = , (en utilisant X

[2.5]X

)

alors, 1*f ≤

Démonstration de la relation X

[2.31]X

: 0* f≤

Comme 0 * 0 *f⋅ = , (en utilisant X

[2.12]X

)

alors, 0* f≤

Page 53: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

33

Démonstration de la relation X

[2.32]X

: ( )f f g≤ +

Comme ( )f f g f⋅ + = , (en utilisant X

[2.15]X

)

alors, ( )f f g≤ +

Démonstration de la relation X

[2.33]X

: ( )f g f⋅ ≤

Comme ( ) ( )f g f g f f f g⋅ ⋅ = ⋅ ⋅ = ⋅ , (en utilisant X

[2.1]X

, X

[2.16]X

; X

[2.10]X

, X

[2.1]X

)

alors, ( )f g f⋅ ≤

2.3.2.2 Formes équivalentes de la relation «inclusion»

La relation d'ordre partiel peut être exprimée mathématiquement sous des formes différentes

mais toutes équivalentes entre elles. Pour cette relation, les huit formulations suivantes (de

X[2.34]X à X[2.41]X) sont équivalentes pour tout f et g de ø.

f g≤ [2.34]

f g f⋅ = [2.35]

1*f g+ = [2.36]

0*f g⋅ = [2.37]

g f g⋅ = [2.38]

f g g+ = [2.39]

f g f+ = [2.40]

g f≤ [2.41]

Démonstrations : X[2.34]X ⇔ X[2.35]X ⇔ X[2.36]X ⇔ X[2.37]X ⇔ X[2.38]X ⇔ X[2.39]X ⇔ [2.40] ⇔ X[2.41]X.

Démonstration de l'équivalence X[2.34]X ⇔ X[2.35]X : f g≤ ⇔ f g f⋅ =

Les 2 relations sont équivalentes par définition, f g f g g≤ ≡ ⋅ =

Démonstration de l'équivalence X[2.35]X ⇔ X[2.36]X : f g f⋅ = ⇔ 1*f g+ =

Cette équivalence sera démontrée en utilisant X[2.19]X,X[2.17], X[2.8]X, X[2.13]X et X[2.5]X, X[2.3]X, X[2.7] X,

X[2.6]X respectivement :

Si f g f⋅ = alors, ( ) ( ) 1* 1*f g f g g f g g f+ = ⋅ + = + + = + = , et

Si 1*f g+ = alors, 1* ( ) 0*f f f f g f f f g f g f g= ⋅ = ⋅ + = ⋅ + ⋅ = + ⋅ = ⋅ ,

donc, 1*f g f f g⋅ = ⇔ + =

Page 54: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

34

Démonstration de l'équivalence X[2.35]X ⇔ X[2.37]X : f g f⋅ = ⇔ 0 *f g⋅ =

Cette équivalence sera démontrée en utilisant X[2.16]X, X[2.7]X, X[2.12]X et X[2.5]X, X[2.8]X, X[2.3]X, X[2.6]X

respectivement :

Si f g f⋅ = alors, ( ) 0 *f g f g g⋅ = ⋅ ⋅ = , et

Si 0*f g⋅ = alors, 1* ( ) 0*f f f g g f g f g f g f g= ⋅ = ⋅ + = ⋅ + ⋅ = ⋅ + = ⋅ ,

donc, 0*f g f f g⋅ = ⇔ ⋅ =

Démonstration de l'équivalence X[2.35]X ⇔ X[2.38]X : f g f⋅ = ⇔ g f g⋅ =

Cette équivalence sera démontrée en utilisant X[2.19]X, X[2.15]X et X[2.18]X, X[2.19]X, X[2.18]X, X[2.15] X

respectivement :

Si f g f⋅ = alors, ( ) ( )g f g f g g f g g⋅ = ⋅ ⋅ = ⋅ + = ,

Si g f g⋅ = alors, ( ) ( ) ( )f g f g f f g f f g f⋅ = ⋅ = ⋅ ⋅ = ⋅ + = ,

donc, f g f g f g⋅ = ⇔ ⋅ =

Démonstration de l'équivalence X[2.35]X ⇔ X[2.39]X : f g f⋅ = ⇔ f g g+ =

Cette équivalence sera démontrée en utilisant X[2.14]X et X[2.15]X respectivement :

Si f g f⋅ = alors, ( )f g f g g g+ = ⋅ + = ,

Si f g g+ = alors, ( )f g f f g f⋅ = ⋅ + = ,

donc, f g f f g g⋅ = ⇔ + =

Démonstration de l'équivalence X[2.38]X ⇔ [2.40] : g f g⋅ = ⇔ f g f+ =

Cette équivalence sera démontrée en utilisant X[2.14]X et X[2.15]X respectivement :

Si g f g⋅ = alors, ( )f g f g f f+ = + ⋅ = ,

Si f g f+ = alors, ( )g f g f g g⋅ = ⋅ + = ,

donc, g f g f g f⋅ = ⇔ + =

Démonstration de l'équivalence X[2.35]X ⇔ X[2.41]X : f g f⋅ = ⇔ g f≤

Cette équivalence sera démontrée en utilisant l'équivalence X[2.35]X ⇔ X[2.38]X :

Comme g f g f g≤ ⇔ ⋅ = par définition, et g f g f g f⋅ = ⇔ ⋅ =

alors, par transitivité g f f g f≤ ⇔ ⋅ =

Page 55: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

35

Par transitivité de la relation d'équivalence, les formulations X[2.34]X à X[2.41]X sont bien toutes

équivalentes entre elles. Elles représentent la même relation d'ordre partiel entre les signaux

f et g .

2.3.2.3 Théorèmes relatifs à la relation «inclusion»

Il existe d'autres théorèmes qui sont respectés pour toute relation d'ordre partiel. D'abord nous

allons donner des théorèmes d'implication : X[2.42]X à X[2.45]X. Ensuite nous allons donner des

théorèmes d'équivalence : X[2.46]X à X[2.53]X.

Les implications suivantes sont vérifiées pour tout signal f , g h , et i de ø.

( ) ( )f g f h g h≤ ⇒ ⋅ ≤ ⋅ [2.42]

( ) ( )f g f h g h≤ ⇒ + ≤ + [2.43]

( ) ( )f g

f h g ih i

⎧ ≤⎪ ⇒ ⋅ ≤ ⋅⎨ ≤⎪⎩ [2.44]

( ) ( )f g

f h g ih i

⎧ ≤⎪ ⇒ + ≤ +⎨ ≤⎪⎩ [2.45]

Pour la relation "Inclusion" les équivalences suivantes sont également vérifiées.

( )f h

f g hg h

⎧ ≤⎪ ⇔ + ≤⎨ ≤⎪⎩ [2.46]

( )f g

f g hf h

⎧ ≤⎪ ⇔ ≤ ⋅⎨ ≤⎪⎩ [2.47]

( )( )f g h f g h⋅ ≤ ⇔ ≤ + [2.48]

( )( )( ) ( )

f g hf h

f g ig i

f g h i

⎧ ⋅ ≤⎧ ≤ ⎪⎪ ⇔ ⋅ ≤⎨ ⎨≤⎪ ⎪⎩ ⋅ ≤ ⋅⎩

[2.49]

( )0*0*

f hf g hgg

⎧ ⎧ ≤⋅ ≤⎪ ⎪⇔⎨ ⎨ == ⎪⎪ ⎩⎩ [2.50]

Les trois cas suivants sont équivalents :

( )f h h f h⋅ ≤ ⇔ ≤ [2.51]

( )f g h h f h+ ⋅ ≤ ⇔ ≤ [2.52]

Page 56: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

36

( )f f h f h≤ ⋅ ⇔ ≤ [2.53]

2.3.2.4 Démonstrations des implications et équivalences X[2.42] X à X[2.53]X

¤ Note : Cette sous-section peut être omise en première lecture

Démonstration de l'implication X[2.42]X : ( ) ( )f g f h g h≤ ⇒ ⋅ ≤ ⋅

Si f g≤ , nous avons f g f⋅ = ; de sorte que (en utilisant X[2.16]X, X[2.1]X, X[2.16]X, X[2.10]X)

( ) ( ) ( ) ( ) ( ) ( )

donc, ( ) ( )

f h g h f h g h f g h h f g hf h

f h g h

⋅ ⋅ ⋅ = ⋅ ⋅ ⋅ = ⋅ ⋅ ⋅ = ⋅ ⋅= ⋅

⋅ ≤ ⋅ alors, ( ) ( )f g f h g h≤ ⇒ ⋅ ≤ ⋅

Démonstration de l'implication X[2.43]X : ( ) ( )f g f h g h≤ ⇒ + ≤ +

Si f g≤ , nous avons f g f⋅ = ; de sorte que (en utilisant X[2.4]X)

( ) ( ) ( )

donc, ( ) ( )

f h g h f g hf h

f h g h

+ ⋅ + = ⋅ += +

+ ≤ + alors, ( ) ( )f g f h g h≤ ⇒ + ≤ +

Démonstration de l'implication X[2.44]X : ( ) ( )f g

f h g ih i

⎧ ≤⎪ ⇒ ⋅ ≤ ⋅⎨ ≤⎪⎩

Si f g≤ et h i≤ , nous avons f g f⋅ = et h i h⋅ = ; de sorte que (en utilisant X[2.16]X, X[2.1]X, X[2.16]X)

( ) ( ) ( ) ( ) ( ) ( ) ( )

donc, ( ) ( )

f h g i f h g i f g h i f hf h

f h g i

⋅ ⋅ ⋅ = ⋅ ⋅ ⋅ = ⋅ ⋅ ⋅ = ⋅= ⋅

⋅ ≤ ⋅

alors, ( ) ( )f g

f h g ih i

⎧ ≤⎪ ⇒ ⋅ ≤ ⋅⎨ ≤⎪⎩

Démonstration de l'implication X[2.45]X : ( ) ( )f g

f h g ih i

⎧ ≤⎪ ⇒ + ≤ +⎨ ≤⎪⎩

Si f g≤ et h i≤ , nous avons f g f⋅ = et h i h⋅ = ; de sorte que (en utilisant X[2.3]X, X[2.14]X)

( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( )

f h g i f g f i g h h if f i g h h

f h

+ ⋅ + = ⋅ + ⋅ + ⋅ + ⋅= + ⋅ + ⋅ += +

Page 57: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

37

donc, ( ) ( )f h g i+ ≤ +

alors, ( ) ( )f g

f h g ih i

⎧ ≤⎪ ⇒ + ≤ +⎨ ≤⎪⎩

Démonstration de l'équivalence X[2.46]X : ( )f h

f g hg h

⎧ ≤⎪ ⇔ + ≤⎨ ≤⎪⎩

Cette équivalence sera démontrée en utilisant X[2.34]X ⇔ X[2.37]X, X[2.25]X, X[2.3]X, X[2.37]X ⇔ X[2.34]X:

0 *0 *

0 *( ) 0 *( )

f h f hg h g h

f h g hf g hf g h

⎧⎧ ≤ ⋅ =⎪ ⎪⇔⎨ ⎨≤ ⋅ =⎪ ⎪⎩ ⎩⇔ ⋅ + ⋅ =⇔ + ⋅ =⇔ + ≤

Démonstration de l'équivalence X[2.47]X : ( )f g

f g hf h

⎧ ≤⎪ ⇔ ≤ ⋅⎨ ≤⎪⎩

Cette équivalence sera démontrée en utilisant X[2.34]X ⇔ X[2.37]X, X[2.25]X, X[2.3]X, X[2.37]X ⇔ X[2.34]X,

[2.20], X[2.18]X :

0*0*

0*

f g f gf h f h

f g f h

⎧⎧ ≤ ⋅ =⎪ ⎪⇔⎨ ⎨≤ ⋅ =⎪ ⎪⎩ ⎩⇔ ⋅ + ⋅ =

( ) 0*( )

f g hf g h

⇔ ⋅ + =⇔ ≤ ⋅

Démonstration de l'équivalence X[2.48]X : ( )( )f g h f g h⋅ ≤ ⇔ ≤ +

Cette équivalence sera démontrée en utilisant X[2.34]X ⇔ X[2.37]X, X[2.16]X, X[2.37]X ⇔ X[2.34]X, X[2.19]X, X[2.18]X :

( )

( ) ( ) 0 *( ) 0 *

f g h f g hf g h

f g h

⋅ ≤ ⇔ ⋅ ⋅ =⇔ ⋅ ⋅ =

⇔ ≤ +

Démonstration de l'équivalence X[2.49]X : ( )( )( ) ( )

f g hf h

f g ig i

f g h i

⎧ ⋅ ≤⎧ ≤ ⎪⎪ ⇔ ⋅ ≤⎨ ⎨≤⎪ ⎪⎩ ⋅ ≤ ⋅⎩

Cette équivalence sera démontrée en utilisant X[2.34]X ⇔ X[2.37]X, X[2.25]X, X[2.5]X, X[2.8]X, X[2.3] X, X[2.3]X, X[2.25]X, X[2.37]X ⇔ X[2.34]X, [2.20], X[2.18]X :

Page 58: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

38

0 *0 *

0 *1* 1* 0 *( ) ( ) 0 *

f h f hg i g i

f h g if h g if h g g g i f f

⎧⎧ ≤ ⋅ =⎪ ⎪⇔⎨ ⎨≤ ⋅ =⎪ ⎪⎩ ⎩⇔ ⋅ + ⋅ =⇔ ⋅ ⋅ + ⋅ ⋅ =⇔ ⋅ ⋅ + + ⋅ ⋅ + =

0*f g h f g h f g i f g i⇔ ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ =( ) 0*f g h f g i f g h i⇔ ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ + =

0 *0 *

( ) 0 *

( )( )( ) ( )

f g hf g i

f g h i

f g hf g if g h i

⎧ ⋅ ⋅ =⎪

⇔ ⋅ ⋅ =⎨⎪ ⋅ ⋅ + =⎩⎧ ⋅ ≤⎪

⇔ ⋅ ≤⎨⎪ ⋅ ≤ ⋅⎩

Démonstration de l'équivalence X[2.50]X : ( )

0*0 *f hf g hgg

⎧ ⎧ ≤⋅ ≤⎪ ⎪⇔⎨ ⎨ == ⎪⎪ ⎩⎩

Cette équivalence sera démontrée en utilisant X[2.34]X ⇔ X[2.37]X ; X[2.25]X ; X[2.21] ; X[2.25]X et X[2.37]X ⇔ X[2.34]X :

{

{

0*0*

0* 0*

0*0*

0*

0*

f g h f g hf g h g

g g

f hf h g

g

f hg

⎧ ⎧⋅ ≤ ⋅ ⋅ =⎪ ⎪⇔ ⇔ ⋅ ⋅ + =⎨ ⎨= =⎪ ⎪⎩ ⎩

⎧ ⋅ =⎪⇔ ⋅ + = ⇔ ⎨=⎪⎩

⎧ ≤⎪⇔ ⎨ =⎪⎩

Démonstration de l'équivalence X[2.51]X : ( )f h h f h⋅ ≤ ⇔ ≤

Cette équivalence sera démontrée en utilisant X[2.34]X ⇔ X[2.37]X, X[2.16]X, X[2.10]X, X[2.37]X ⇔ X[2.34]X:

( ) ( ) 0*0*

f h h f h hf hf h

⋅ ≤ ⇔ ⋅ ⋅ =⇔ ⋅ =⇔ ≤

Démonstration de l'équivalence X[2.52]X : ( )f g h h f h+ ⋅ ≤ ⇔ ≤

Cette équivalence sera démontrée en utilisant X[2.46]X :

( )f h

f g h hg h h

⎧ ≤⎪+ ⋅ ≤ ⇔ ⎨ ⋅ ≤⎪⎩

Page 59: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

39

comme g h h⋅ ≤ est toujours vraie alors

f h⇔ ≤

Démonstration de l'équivalence X[2.53]X : ( )f f h f h≤ ⋅ ⇔ ≤

Cette équivalence sera démontrée en utilisant X[2.34]X ⇔ X[2.35]X, X[2.16]X, X[2.10]X, X[2.34]X ⇔ X[2.35]X:

( ) ( )( )

f f h f f h ff h f

f h

≤ ⋅ ⇔ ⋅ ⋅ =⇔ ⋅ =⇔ ≤

2.3.3 Relation d'égalité

Toute relation "Egalité" peut être également exprimée à l'aide de la relation d'ordre partiel car

les deux formulations suivantes (X[2.54]X et X[2.55]X) sont équivalentes.2.3.3

f g= [2.54]

f gf g

⎧ ≤⎪⎨ ≤⎪⎩

[2.55]

D'ailleurs, pour la relation "Egalité", les sept formulations suivantes (de X[2.56]X à X[2.62]X) sont

aussi équivalentes à X[2.54]X et X[2.55]X, pour tout f , g et h∈ ø.

f g= [2.56]

0*0*

f gf g

⎧ ⋅ =⎪⎨

⋅ =⎪⎩ [2.57]

0*f g f g⋅ + ⋅ = [2.58]

1*f g f g⋅ + ⋅ = [2.59]

1*0 *

f gf g

⎧ + =⎪⎨

⋅ =⎪⎩ [2.60]

f h g hf h g h

⎧ ⋅ = ⋅⎪⎨ ⋅ = ⋅⎪⎩

[2.61]

f h g hf h g h

⎧ ⋅ = ⋅⎪⎨ + = +⎪⎩

[2.62]

Page 60: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

40

Nous présentons ci-dessous un cas particulier de l'égalité :

0 * 0 *f f= ⇔ ≤ [2.63]

Les démonstrations des équivalences entre ces formulations (X[2.54]X à X[2.62]X) sont données ci-

après. La démonstration de X[2.63]X est donnée ensuite.

Démonstration de l'équivalence X[2.54]X ⇔ X[2.55]X : f g= ⇔ f gf g

⎧ ≤⎪⎨ ≤⎪⎩

A partir de la propriété de l'anti-symétrie X[2.29]X et l'équivalence X[2.34]X ⇔ X[2.41]X

Si f g

f gg f

⎧ ≤⎪ ⇒ =⎨ ≤⎪⎩, alors

f gf g

f g⎧ ≤⎪ ⇒ =⎨ ≤⎪⎩

.

A partir de la propriété de la réflexivité X[2.27]X de f et g , et en utilisant X[2.34]X ⇔ X[2.41]X

Comme X[2.27]X est toujours vrai, alors f fg g

⎧ ≤⎪⎨ ≤⎪⎩

l'est aussi ; de sorte que si f g= , nous

avons ( )( )

f f f g f gg g g f f g

⎧ ⎧ ⎧≤ ≤ ≤⎪ ⎪ ⎪⇔ ⇔⎨ ⎨ ⎨≤ ≤ ≤⎪ ⎪ ⎪⎩ ⎩ ⎩ donc,

f gf g

f g⎧ ≤⎪= ⇔ ⎨ ≤⎪⎩

Démonstration de l'équivalence X[2.55]X ⇔ X[2.56]X : f gf g

⎧ ≤⎪⎨ ≤⎪⎩

⇔ f g=

Cette équivalence sera démontrée en utilisant X[2.54]X ⇔ X[2.55]X, X[2.18]X et X[2.1]X

( ) ( )( ) ( )f g f gf g

f gf gf gf g

⎧ ≤ ⎧ ⎧ ≤≤⎪ ⎪ ⎪= ⇔ ⇔ ⇔⎨ ⎨ ⎨ ≤≤≤ ⎪⎪⎪ ⎩⎩⎩

Démonstration de l'équivalence X[2.55]X ⇔ X[2.57]X : f gf g

⎧ ≤⎪⎨ ≤⎪⎩

⇔ 0*0*

f gf g

⎧ ⋅ =⎪⎨

⋅ =⎪⎩

Cette équivalence sera démontrée en utilisant X[2.34]X ⇔ X[2.37]X, X[2.18]X

0*0*

f g f gf g f g

⎧⎧ ≤ ⋅ =⎪ ⎪⇔⎨ ⎨≤ ⋅ =⎪ ⎪⎩ ⎩

Démonstration de l'équivalence X[2.57]X ⇔ X[2.58]X : 0*0*

f gf g

⎧ ⋅ =⎪⎨

⋅ =⎪⎩ ⇔ 0*f g f g⋅ + ⋅ =

Cette équivalence sera démontrée en utilisant X[2.25]X

Page 61: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

41

0 *0 *

0 *f g

f g f gf g

⎧ ⋅ =⎪ ⇔ ⋅ + ⋅ =⎨⋅ =⎪⎩

Démonstration de l'équivalence X[2.55]X ⇔ X[2.59]X : f gf g

⎧ ≤⎪⎨ ≤⎪⎩

⇔ 1*f g f g⋅ + ⋅ =

Cette équivalence sera démontrée en utilisant X[2.34]X ⇔ X[2.36]X, X[2.18]X et X[2.26]X, X[2.3]X, X[2.7]X et X[2.6]X puis X[2.2]X

( ) 1*

( ) 1*

( ) ( ) 1*( ) ( ) ( ) ( ) 1*( ) ( ) 1*

1*

f gf gf g f g

f g f gf f f g f g g gf g f g

f g f g

⎧⎧ + =≤⎪ ⎪⇔⎨ ⎨≤ + =⎪ ⎪⎩ ⎩⇔ + ⋅ + =⇔ ⋅ + ⋅ + ⋅ + ⋅ =⇔ ⋅ + ⋅ =⇔ ⋅ + ⋅ =

Démonstration de l'équivalence X[2.55]X ⇔ X[2.60]X : f gf g

⎧ ≤⎪⎨ ≤⎪⎩

⇔ 1*0 *

f gf g

⎧ + =⎪⎨

⋅ =⎪⎩

Cette équivalence sera démontrée en utilisant X[2.34]X ⇔ X[2.37]X, X[2.34]X ⇔ X[2.36]X et X[2.18] X

( ) 0 * ( ) 0 *( ) 1*( ) 1*

f gf g f gf g f gf g

⎧ ⎧⎧ ⋅ =≤ ⋅ =⎪ ⎪ ⎪⇔ ⇔⎨ ⎨ ⎨≤ + =+ =⎪ ⎪⎪⎩ ⎩⎩

Démonstration de l'équivalence X[2.54]X ⇔ X[2.61]X : f g= ⇔ f h g hf h g h

⎧ ⋅ = ⋅⎪⎨ ⋅ = ⋅⎪⎩

Cette équivalence sera démontrée en utilisant X[2.54]X ⇔ X[2.59]X; X[2.16]X, X[2.1]X, X[2.16]X, X[2.10]X, X[2.19]X, X[2.4]X, X[2.18]X; X[2.17]X, X[2.21]X, X[2.2], X[2.17]X; X[2.26]X; X[2.4]X, X[2.7]X, X[2.6]X; X[2.59]X ⇔ X[2.54] X

( ) ( )

( ) ( ){

( ) ( ) ( ) ( ) 1*

( ) ( ) 1*

( ) 1*( ) 1*

( ) 1*( ) 1*

( ) ( ) 1*

f h g h f h g hf h g hf h g h f h g h f h g h

f g h h f gf g h h f g

h f g f gh f g f g

h f g f g h f g f g

⎧ ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ =⎧ ⋅ = ⋅⎪ ⎪⇔⎨ ⎨⋅ = ⋅ ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ =⎪ ⎪⎩ ⎩⎧ ⋅ ⋅ + + ⋅ =⎪⇔ ⎨

⋅ ⋅ + + ⋅ =⎪⎩⎧ + ⋅ + ⋅ =⎪⇔ ⎨

+ ⋅ + ⋅ =⎪⎩

⇔ + ⋅ + ⋅ ⋅ + ⋅ + ⋅ =

{ 1*f g f g

f g

⇔ ⋅ + ⋅ =

⇔ =

Page 62: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 2 : Bases d'une algèbre pour les signaux binaires

42

Démonstration de l'équivalence X[2.54]X ⇔ X[2.62]X : f g= ⇔ f h g h

f h g h⎧ ⋅ = ⋅⎪⎨ + = +⎪⎩

Cette équivalence sera démontrée en utilisant X[2.54]X ⇔ X[2.58]X; X[2.19]X, [2.20], X[2.1]X; X[2.3] X, X[2.7]X, X[2.6]X; X[2.25]X, X[2.3]X; X[2.8]X, X[2.5]X; X[2.58]X ⇔ X[2.54]X

{{

( ) ( ) ( ) ( ) 0*( ) ( ) ( ) ( ) 0*

( ) ( ) 0*( ) ( ) ( ) ( ) 0*

0*0*

( ) ( ) 0*

0*

f h g h f h g h f h g hf h g h f h g h f h g h

f h g h f h g hf h g h f h g h

f g h f g hf g h f g h

f g h h f g h h

f g f g

⎧⎧ ⋅ = ⋅ ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ =⎪ ⎪⇔⎨ ⎨+ = + + ⋅ + + + ⋅ + =⎪ ⎪⎩ ⎩⎧ ⋅ ⋅ + + + ⋅ ⋅ =⎪⇔ ⎨

+ ⋅ ⋅ + ⋅ ⋅ + =⎪⎩⎧ ⋅ ⋅ + ⋅ ⋅ =⎪⇔ ⎨

⋅ ⋅ + ⋅ ⋅ =⎪⎩⇔ ⋅ ⋅ + + ⋅ ⋅ + =

⇔ ⋅ + ⋅ =

⇔ f g=

Par transitivité de la relation d'équivalence, les formulations X[2.54]X à X[2.62]X sont bien toutes

équivalentes entre elles. Elles représentent bien la même relation entre les signaux f et g .

Démonstration de l'équivalence X[2.63]X : 0 * 0 *f f= ⇔ ≤

Cette équivalence sera démontrée en utilisant X[2.54]X ⇔ X[2.55]X, X[2.24] :

0* 0*0*

0* 1*f f

ff f

⎧ ⎧≤ ≤⎪ ⎪= ⇔ ⇔⎨ ⎨≤ ≤⎪ ⎪⎩ ⎩

comme 1*f ≤ est toujours vraie (X[2.30]X) alors

0 *f⇔ ≤

2.4 Conclusion

Nous venons d'établir les bases de l'algèbre ø, cadre formel de nos travaux, et de démontrer

des théorèmes qui serviront pour la conception de Systèmes à Evénements Discrets. Ces

théorèmes portent sur les opérations de base ET, OU, NON et sur les relations "=" et " ≤ ".

Dans le chapitre suivant, nous introduisons de nouvelles opérations permettant de décrire des

comportements séquentiels et temporisés.

Page 63: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

43

Chapitre 3

Chapitre 3 T

Nous présentons dans ce chapitre les opérations de l'algèbre ø permettant de décrire des

comportements séquentiels et temporisés, à savoir :

• Les opérations Fronts : RE(8) et FE(9)

• Les opérations Mémoires : SR et RS

• Les opérations Temporisateurs : TON et TOF

Les théorèmes relatifs à ces opérations sont également présentés.

Page 64: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

44

3. Opérations de l'algèbre ø permettant de décrire des

événements et comportements séquentiels et

temporisés

3.1 Introduction

Rappelons que le cadre mathématique utilisé dans ce document (algèbre ø ) est conçu pour

l'étude des systèmes logiques, c'est-à-dire les systèmes pour lesquels les variables ne peuvent

prendre que les deux seules valeurs 0 ou 1. Les opérations permettant de décrire des

comportements combinatoires ont été décrites au chapitre précédent.

Dans ce chapitre, nous introduisons des opérations permettant de décrire des événements (8 et

9 à la section 3.2), des comportements séquentiels (mémoires SR et RS à la section 3.3) et

temporisés (temporisations TON et TOF à la section 3.4).

3.2 Opérations permettant de décrire des événements

3.2.1 Introduction

L’algèbre ø a été définie initialement dans [Rou_93] afin de combler l'absence de définition

formelle à la notion d'événements telle qu'elle est pratiquée en Grafcet. En effet, cette notion

s'avère insuffisante pour être exempte d'ambiguïté pour évaluer des équations logiques car les

réceptivités comprenant des aspects temporels tels que les événements ne sont pas définis au

sens de l’algèbre de Boole [Bou_92].

D’un point de vue théorique, la norme [IEC_61131-3], relative aux langages de

programmation, présente les événements sous forme d’équations récurrentes qui reposent sur

deux valeurs consécutives d'une variable (voir annexe A). Cette définition à l’aide d’une

formule de récurrence, fonction d'un moniteur échantillonnant un signal, n’est pas nécessaire.

Ainsi, deux opérations : l’opération front montant et l’opération front descendant, ont été

définies formellement sur l'algèbre ø pour la représentation formelle des événements.

Page 65: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

45

3.2.2 Définition mathématique des opérations Fronts

Pour décrire la notion d’événements, deux opérations spécifiques ont été définies au sein de

l’algèbre ø. La définition mathématique de ces opérations est la suivante :

Définition 7 : Opération RE Définition 8 : Opération FE

f f→a 8

ø ø

f f→a 9

ø ø

Où *,t +∀ ∈R

0 00 :( ) ( ) ]0, [: ( ) 0εf t f t ε ε f t ε> ∀⎡ ⎤= ∧ ∃ ∈ − =⎣ ⎦8

0 00 :( ) ( ) ]0, [: ( ) 1εf t f t ε ε f t ε> ∀⎡ ⎤= ¬ ∧ ∃ ∈ − =⎣ ⎦9

Il est représenté sur la figure 17X, un signal f de ø et le résultat du traitement de ce signal par

les opérations RE et FE.

Figure 17 Représentation graphique des fonctions fronts

L’opération RE (Rising Edge) permet de construire un signal binaire f8 à partir de tout

signal f . Le signal f8 est vrai pour les seules dates où le signal f passe de la valeur 0 à la

valeur 1. Le signal f8 est construit à partir des informations présentes dans le signal f de la

façon suivante. Pour toute date t de úP

+*P, la valeur ( )f t8 de la fonction f8 est obtenue par le

ET logique entre deux variables logiques. La première variable logique est la valeur de la

fonction f à cette même date t tandis que la seconde variable logique est le résultat d’un

prédicat. Ce prédicat est vrai s’il existe un intervalle ouvert de longueur 0ε précédent la date

t sur lequel la valeur du signal f vaut toujours 0.

Pour le signal binaire présenté sur la figure 17X, nous avons :

Page 66: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

46

• ( ) 1f t = pour 1 2 2 3 4 5 6 7 8[ , [ ] , [ [ , [ { } [ , [t t t t t t t t t t∈ ∪ ∪ ∪ ∪

• le prédicat 0 00 : ]0, [: ( ) 0ε ε ε f t ε⎡ ⎤∃ > ∀ ∈ − =⎣ ⎦ est vrai pour

1 3 4 5 7 8]0, ] ] , ] ] , ] ] , [t t t t t t t∈ ∪ ∪ ∪ +∞

Le signal f8 est donc vrai aux seules dates 1 4 6 7{ } { } { } { }t t t t t∈ ∪ ∪ ∪ .

L’opération FE (Falling Edge) permet de construire un signal binaire f9 à partir de tout

signal f . Le signal f9 est vrai pour les seules dates où le signal f passe de la valeur 1 à la

valeur 0. Le signal f9 est construit à partir des informations présentes dans le signal f de la

façon suivante. Pour toute date t de úP

+*P, la valeur ( )f t9 de la fonction f9 est obtenue par le

ET logique entre deux variables logiques. La première variable logique est le complément de

la valeur de la fonction f à cette même date t tandis que la seconde est le résultat d’un

prédicat. Ce prédicat est vrai s’il existe un intervalle ouvert de longueur 0ε précédent la date

t sur lequel la valeur du signal f vaut toujours 1.

Pour le signal binaire présenté sur la figure 17, nous avons :

• ( ) 0f t = pour 1 2 3 4 5 6 6 7 8]0, [ { } [ , [ [ , [ ] , [ [ , [t t t t t t t t t t∈ ∪ ∪ ∪ ∪ ∪ +∞

• le prédicat 0 00 : ]0, [: ( ) 1ε ε ε f t ε⎡ ⎤∃ > ∀ ∈ − =⎣ ⎦ est vrai pour 1 3 4 5 7 8] , ] ] , ] ] , ]t t t t t t t∈ ∪ ∪

Le signal f9 est donc vrai au seules dates 2 3 5 8{ } { } { } { }t t t t t∈ ∪ ∪ ∪ .

3.2.3 Théorèmes relatifs aux opérations RE et FE

A partir de la définition mathématique des opérations fronts, il est possible de démontrer les

théorèmes suivants :

f f≤8 [3.1]

f f≤9 [3.2]

f f=8 9 [3.3]

f f=9 8 [3.4]

( )f f=8 8 8 [3.5]

( )f f=8 9 9 [3.6]

Page 67: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

47

( ) 0 *f =9 8 [3.7]

( ) 0 *f =9 9 [3.8]

{ } { }{ }1,1, 1,i i j

i ni n j nj i

f f f∈∈ ∈

⎛ ⎞ ⎛ ⎞= ⋅⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎜ ⎟

⎝ ⎠

∑∏ ∏88 [3.9]

{ }( )

{ }{ }1, 1, 1,( )i i j j j

i n i n j nj i

f f f f f∈ ∈ ∈

⎛ ⎞⎛ ⎞ = ⋅ + ⋅⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎜ ⎟⎝ ⎠

∑ ∑ ∏8 8 98 [3.10]

{ }( )

{ }{ }1,1, 1,( )i i j j j

i ni n j nj i

f f f f f∈∈ ∈

⎛ ⎞⎛ ⎞ = ⋅ + ⋅⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎜ ⎟⎝ ⎠

∑∏ ∏9 9 89 [3.11]

{ } { }{ }1, 1, 1,i i j

i n i n j nj i

f f f∈ ∈ ∈

⎛ ⎞⎛ ⎞ = ⋅⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎜ ⎟⎝ ⎠

∑ ∑ ∏99 [3.12]

3.2.4 Démonstrations des théorèmes relatifs aux opérations RE et FE

Seuls les théorèmes X[3.1]X et X[3.2]X seront démontrés dans ce mémoire car le lecteur pourra se

reporter à [Rou_93] pour la démonstration complète des autres théorèmes (X[3.3]X à X[3.12]X).

Démonstration de la relation X[3.1]X : f f≤8

Ce théorème sera démontré en utilisant sa forme équivalente (X[2.34]X ⇔ X[2.37]X) : 0*f f⋅ =8

* ,t +∀ ∈R

( )0 0

0 0

0 :

0 :

( )( ) ( ) ( )( )

( ) ( ) ]0, [: ( ) 0

( ) ( ) ]0, [: ( ) 00

ε

ε

f f t f t f t

f t f t ε ε f t ε

f t f t ε ε f t ε

> ∀

> ∀

⋅ = ∧

⎡ ⎤= ¬ ∧ ∧ ∃ ∈ − =⎣ ⎦

⎡ ⎤= ¬ ∧ ∧ ∃ ∈ − =⎣ ⎦=

8 8

En conclusion, nous avons bien * ,t +∀ ∈R ( )( ) 0 0* ( )f f t t⋅ = =8

donc, 0*f f⋅ =8

Démonstration de la relation X[3.2]X : f f≤9

Ce théorème sera démontré en utilisant sa forme équivalente (X[2.34]X ⇔ X[2.37]X) : 0 *f f⋅ =9

Page 68: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

48

* ,t +∀ ∈R

( )( ) ( ) ( )( )f f t f t f t⋅ = ∧9 9

( )0 0

0 0

0 :

0 :

( ) ( ) ]0, [: ( ) 1

( ) ( ) ]0, [: ( ) 10

ε

ε

f t f t ε ε f t ε

f t f t ε ε f t ε

> ∀

> ∀

⎡ ⎤= ∧ ¬ ∧ ∃ ∈ − =⎣ ⎦

⎡ ⎤= ∧ ¬ ∧ ∃ ∈ − =⎣ ⎦=

En conclusion, nous avons bien * ,t +∀ ∈R ( )( ) 0 0 * ( )f f t t⋅ = =9

donc, 0*f f⋅ =8

3.3 Opérations permettant de décrire des comportements

séquentiels

3.3.1 Introduction

Les opérations ET, OU, NON ne permettent que de décrire des comportements combinatoires

puisque la valeur courante des résultats ne peut dépendre que de la valeur courante des

opérandes. Pour décrire des comportements séquentiels, de nouvelles opérations sont

nécessaires. Les deux opérations présentées dans cette section ont été créées à l’origine pour

disposer sur ø d’une définition formelle des blocs fonctionnels mémoires définies dans la

norme [IEC_61131-3] consacré aux langages de programmation des Automates

Programmables Industriels (voir annexe A).

3.3.2 Définition mathématique des opérations SR, RS

Pour décrire des comportements séquentiels comme celui des mémoires à mise à un prioritaire

ou à mise à zéro prioritaire, deux opérations spécifiques ont été définies au sein de l’algèbre ø.

La définition mathématique de ces opérations est la suivante :

Définition 9 : Opération SR

2

( , ) ( , )s r SR s r→a

ø ø

Où *,t +∀ ∈R ( ) ( )1 1 1( , )( ) ( ) : ( ) 1 ] , ] : ( )( ) 1SR s r t s t t t s t d t t s r d⎡ ⎤⎛ ⎞⎛ ⎞= ∨ ∃ < = ∧ ∀ ∈ + =⎢ ⎥⎜ ⎟⎜ ⎟⎝ ⎠⎢ ⎥⎝ ⎠⎣ ⎦

Remarque : Les signaux s et r ne sont pas forcement disjoints.

Page 69: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

49

L’opération SR décrit le comportement d’une mémoire à mise à un prioritaire, mise à un par

le signal s et remise à zéro par le signal r . Pour toute date t de úP

+*P, la valeur ( , )( )SR s r t de

la fonction ( , )SR s r est obtenue par le OU logique entre deux variables logiques. La première

variable logique est la valeur de la fonction s à cette même date t tandis que la seconde est le

résultat d’un prédicat. Ce prédicat est vrai s’il existe une date 1t , précédant la date t

considérée, pour laquelle la valeur du signal s à cette date 1t vaut 1 et si pour toute date d

telle que 1t d t< ≤ la valeur du signal s r+ vaut 1.

Définition 10 : Opération RS

2

( , ) ( , )s r RS s r→a

ø ø

Où *,t +∀ ∈R ( ) ( ) ( )( )1 1 1( , )( ) ( ) ( ) : ( ) 1 [ , ] : ( ) 0RS s r t s t r t t t s t d t t r d⎡ ⎤= ∧ ¬ ∨ ∃ < = ∧ ∀ ∈ =⎢ ⎥⎣ ⎦

Remarque : Les signaux s et r ne sont pas forcement disjoints.

Figure 18 Représentation graphique des fonctions ( , )SR s r et ( , )RS s r

L’opération RS décrit le comportement d’une mémoire à mise à zéro prioritaire, mise à un par

le signal s et remise à zéro par le signal r . Pour toute date t de úP

+*P, la valeur ( , )( )RS s r t de

la fonction ( , )RS s r est obtenue par le OU logique entre deux variables logiques. La première

variable logique est le ET logique entre la valeur de la fonction s à cette même date t et le

complément logique de la valeur de la fonction r à cette même date t . La seconde variable

logique est le résultat d’un prédicat. Ce prédicat est vrai s’il existe une date 1t précédant la

Page 70: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

50

date t considérée, pour laquelle la valeur du signal s à cette date 1t vaut 1 et si pour toute

date d telle que 1t d t≤ ≤ la valeur du signal r vaut 0.

Sur la Xfigure 18 X, sont représentés deux signaux s et r de ø, non disjoints, et le résultat de la

composition de ces signaux par les opérations SR et RS .

3.3.3 Théorèmes relatifs aux opérations SR et RS

Il est possible d'établir les théorèmes X[3.13]X à X[3.40]X, qui font intervenir les opérations SR et

RS. Les démonstrations de ces théorèmes sont données à l'annexe D.3.3.3

( , )s SR s r≤ [3.13]

( , )s r SR s r⋅ ≤ [3.14]

( , ) ( , )SR s r SR s s r= ⋅ [3.15]

( ,1*)SR s s= [3.16]

( , )SR s s s= [3.17]

( , ) ( , 0*)SR s s SR s= [3.18]

(0*, ) 0 *SR r = [3.19]

(1*, ) 1*SR r = [3.20]

( , )SR s r r s r⋅ = ⋅ [3.21]

( )( , ) , ( )SR s r SR s r s f= + ⋅ [3.22]

( ,0*) 0 *SR s =9 [3.23]

( )( , ) , ( )SR s r RS s s r= ⋅ [3.24]

( )( , ) ( ),RS s r SR s r r= ⋅ [3.25]

( , )s r RS s r⋅ ≤ [3.26]

( , )r RS s r≤ [3.27]

( )( , ) ( ),RS s r RS s r r= ⋅ [3.28]

( ,1*) 0 *RS s = [3.29]

( , )RS s s s= [3.30]

Page 71: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

51

( , ) 0 *RS s s = [3.31]

(0*, ) 0 *RS r = [3.32]

(1*, )RS r r= [3.33]

( , )RS s r s s r⋅ = ⋅ [3.34]

( )( , ) ( ),RS s r RS s r f r= + ⋅ [3.35]

( )1 2 1 2, ( ) ( , ) ( , )SR s r r SR s r SR s r+ = ⋅ [3.36]

( )1 2 1 2( ), ( , ) ( , )SR s s r SR s r SR s r+ = + [3.37]

( )1 2 1 2, ( ) ( , ) ( , )RS s r r RS s r RS s r+ = ⋅ [3.38]

( )1 2 1 2( ), ( , ) ( , )RS s s r RS s r RS s r+ = + [3.39]

( ) ( )1 1 2 2 2 1, ( ) , ( ) 0*RS s r s RS s r s+ ⋅ + = [3.40]

3.4 Opérations permettant de décrire des comportements

temporisés

3.4.1 Introduction

Pour décrire des comportements temporisés, fonction du temps physique, il est nécessaire

d'introduire sur ø de nouvelles opérations. Les deux opérations présentées dans cette section

ont été créées à l’origine pour disposer sur ø d’une définition formelle des blocs fonctionnels

temporisateurs définis dans la norme [IEC_61131-3] consacrée aux langages de

programmation des Automates Programmables Industriels (voir annexe A).

Les deux opérations définies dans cette section : le TON et le TOF, permettent d’obtenir des

résultats équivalents à ceux présentés dans les chronogrammes de la norme [IEC_61131-3]

(voir annexe A). Leur définition mathématique a cependant permis d’établir de nombreux

théorèmes qui peuvent être employés dans d’autres modèles.

Page 72: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

52

3.4.2 Définition mathématique des opérations TON et TOF

Pour décrire des comportements temporisés comme celui des temporisateurs à

l’enclenchement ou au déclenchement, deux opérations spécifiques ont été définies au sein de

l’algèbre ø. La définition mathématique de ces opérations est la suivante :

Définition 11 : Opération TON

/f d f→a

ø ø

Où *,t +∀ ∈R 1 1

0( / )( )

] , ] : ( ) 1

d

d

td f t

t t d t f t t ≥

⎧⎡ ⎤∀ <⎪⎣ ⎦= ⎨⎡ ⎤∀ ∈ − = ∀⎪⎣ ⎦⎩

L’opération TON décrit le comportement d’un temporisateur à l'enclenchement activé par le

signal f . Sa définition est donnée par morceaux ( t d∀ < et t d∀ ≥ ).

• Pour toute date t de úP

+*P inférieure à d , la valeur ( / )( )d f t de la fonction /d f est 0.

• Pour toute date t de úP

+*P supérieure à d , la valeur ( / )( )d f t de la fonction /d f est le

résultat d’un prédicat. Ce prédicat est vrai si pour toute date 1t telle que 1t d t t− < ≤ , la

valeur 1( )f t du signal f vaut 1.

La figure 19 montre un signal f de ø et le résultat du traitement de ce signal par l’opération

TON.

Figure 19 Représentation graphique de la fonction TON : 1 /d f

Définition 12 : Opération TOF

/f f d→a

ø ø

Page 73: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

53

Où *,t +∀ ∈R 1 1

1 1

]0, ] : ( ) 1( / )( )

] , ] : ( ) 1

d

d

t t f t tf d t

t t d t f t t ≥

⎧⎡ ⎤∃ ∈ = ∀ <⎪⎣ ⎦= ⎨⎡ ⎤∃ ∈ − = ∀⎪⎣ ⎦⎩

L’opération TOF décrit le comportement d’un temporisateur au déclenchement activé par le

signal f . Comme pour l’opération TON, sa définition est donnée par morceaux ( t d∀ < et

t d∀ ≥ ).

• Pour toute date t de úP

+*P inférieure à d , la valeur ( / )( )f d t de la fonction /f d est le

résultat d’un prédicat. Ce prédicat est vrai s'il existe une date 1t précédant t telle que la

valeur 1( )f t du signal f vaut 1.

• Pour toute date t de úP

+*P supérieure à d , la valeur ( / )( )f d t de la fonction /f d est le

résultat d’un prédicat. Ce prédicat est vrai s'il existe une date 1t telle que 1t d t t− < ≤ pour

laquelle la valeur 1( )f t du signal f vaut 1.

La Xfigure 20 montre un signal f de ø et le résultat du traitement de ce signal par l’opération

TOF.

Figure 20 Représentation graphique de la fonction TOF : 2/f d

3.4.3 Théorèmes relatifs aux opérations TON et TOF

A partir de la définition mathématique des opérations TON et TOF, il est possible de

démontrer les théorèmes suivants :

/d f f≤ [3.41]

/f f d≤ [3.42]

/( ) ( / ) ( / )d f g d f d g⋅ = ⋅ [3.43]

( ) / / /f g d f d g d+ = + [3.44]

Page 74: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

54

2 1 2 1( / ) ( / )d d d f d f∀ > ≤ [3.45]

2 1 1 2( / ) ( / )d d f d f d∀ > ≤ [3.46]

1 2 1 2( / ) ( / ) ( , ) /d f d f max d d f⋅ = [3.47]

1 2 1 2( / ) ( / ) ( , ) /d f d f min d d f+ = [3.48]

1 2 1 2( / ) ( / ) / ( , )f d f d f max d d+ = [3.49]

1 2 1 2( / ) ( / ) / ( , )f d f d f min d d⋅ = [3.50]

( / ) /t d d f f d∀ ≥ = [3.51]

( / ) /t d f d d f∀ ≥ = [3.52]

3.4.4 Démonstrations des théorèmes relatifs aux opérations TON et TOF

¤ Note : Cette sous-section peut être omise en première lecture

Démonstration de la relation X[3.41]X : /d f f≤

Ce théorème sera démontré en utilisant sa forme équivalente (X[2.34]X ⇔ X[2.37]X) :

( / ) 0*d f f⋅ =

( ): 0 , ( / ) ( ) ( / )( ) ( )0 ( )0

dt t d f f t d f t f tf t

∀ < < ⋅ = ∧

= ∧=

( )( )

( )1 1

1 1

, ( / ) ( ) ( / )( ) ( )

] , ] : ( ) 1 ( )

] , [: ( ) 1 ( ) ( )

0

dt d f f t d f t f t

t t d t f t f t

t t d t f t f t f t

∀ ≥ ⋅ = ∧

⎡ ⎤= ∀ ∈ − = ∧ ¬⎢ ⎥⎣ ⎦⎛ ⎞⎡ ⎤= ∀ ∈ − = ∧ ∧¬⎜ ⎟⎢ ⎥⎣ ⎦⎝ ⎠

=

En conclusion, nous avons bien * ,t +∀ ∈R ( )( / ) ( ) 0 0 * ( )d f f t t⋅ = =

donc, ( / ) 0*d f f⋅ = . D'après l'équivalence X[2.37]X ⇔ X[2.34]X, si ( / ) 0*d f f⋅ = alors

( / )d f f<

Démonstration de la relation X[3.42]X : /f f d≤

Ce théorème sera démontré en utilisant sa forme équivalente (X[2.34]X ⇔ X[2.35]X) :

( / )f f d f⋅ =

Page 75: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

55

( )

( )1 1

1 1

: 0 , ( / ) ( ) ( ) ( / )( )

( ) ]0, ] : ( ) 1

( ) ]0, [: ( ) 1 ( )

( )

dt t f f d t f t f d t

f t t t f t

f t t t f t f t

f t

∀ < < ⋅ = ∧

⎡ ⎤= ∧ ∃ ∈ =⎣ ⎦

⎡ ⎤= ∧ ∃ ∈ = ∨⎣ ⎦=

( )( )1 1

, ( / ) ( ) ( ) ( / )( )

( ) ] , ] : ( ) 1

dt f f d t f t f d t

f t t t d t f t

∀ ≥ ⋅ = ∧

⎡ ⎤= ∧ ∃ ∈ − =⎢ ⎥⎣ ⎦

( )1 1( ) ] , [: ( ) 1 ( )

( )

f t t t d t f t f t

f t

⎛ ⎞⎡ ⎤= ∧ ∃ ∈ − = ∨⎜ ⎟⎢ ⎥⎣ ⎦⎝ ⎠=

En conclusion, nous avons bien * ,t +∀ ∈R ( )( / ) ( ) ( )f f d t f t⋅ =

donc, ( / )f f d f⋅ = . D'après l'équivalence X[2.34]X ⇔ X[2.35]X, si ( / )f f d f⋅ = alors

( / )f f d<

Démonstration de l’égalité X[3.43]X : /( ) ( / ) ( / )d f g d f d g⋅ = ⋅

( )( )

: 0 , /( ) ( ) 0 0 0 ( / )( ) ( / )( )

( / ) ( / ) ( )

dt t d f g t d f t d g t

d f d g t

∀ < < ⋅ = = ∧ = ∧

= ⋅

( )( )

( )

1 1

1 1 1

1 1 1 1

, /( ) ( ) ] , ] : ( )( ) 1

] , ] : ( ) ( ) 1

] , ] : ( ) 1 ] , ] : ( ) 1( / )( ) ( / )( )( / ) ( / ) ( )

dt d f g t t t d t f g t

t t d t f t g t

t t d t f t t t d t g td f t d g td f d g t

≥ ⎡ ⎤∀ ⋅ = ∀ ∈ − ⋅ =⎣ ⎦⎡ ⎤= ∀ ∈ − ∧ =⎢ ⎥⎣ ⎦⎡ ⎤ ⎡ ⎤= ∀ ∈ − = ∧ ∀ ∈ − =⎣ ⎦ ⎣ ⎦

= ∧

= ⋅

En conclusion, nous avons bien * ,t +∀ ∈R ( ) ( )/( ) ( ) ( / ) ( / ) ( )d f g t d f d g t⋅ = ⋅

donc, /( ) ( / ) ( / )d f g d f d g⋅ = ⋅

Démonstration de l’égalité X[3.44]X : ( ) / / /f g d f d g d+ = +

( )( )

( )

1 1

1 1 1

1 1 1 1

: 0 , ( ) / ( ) ]0, ], ( )( ) 1

]0, ], ( ) ( ) 1

]0, ], ( ) 1 ]0, ], ( ) 1( / )( ) ( / )( )( / ) ( / ) ( )

dt t f g d t t t f g t

t t f t g t

t t f t t t g tf d t g d tf d g d t

⎡ ⎤∀ < < + = ∃ ∈ + =⎣ ⎦⎡ ⎤= ∃ ∈ ∨ =⎢ ⎥⎣ ⎦⎡ ⎤ ⎡ ⎤= ∃ ∈ = ∨ ∃ ∈ =⎣ ⎦ ⎣ ⎦

= ∨

= +

Page 76: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

56

( )( )

( )

1 1

1 1 1

1 1 1 1

, ( ) / ( ) ] , ], ( )( ) 1

] , ], ( ) ( ) 1

] , ], ( ) 1 ] , ], ( ) 1( / )( ) ( / )( )( / ) ( / ) ( )

dt f g d t t t d t f g t

t t d t f t g t

t t d t f t t t d t g tf d t g d tf d g d t

≥ ⎡ ⎤∀ + = ∃ ∈ − + =⎣ ⎦⎡ ⎤= ∃ ∈ − ∨ =⎢ ⎥⎣ ⎦⎡ ⎤ ⎡ ⎤= ∃ ∈ − = ∨ ∃ ∈ − =⎣ ⎦ ⎣ ⎦

= ∨

= +

En conclusion, nous avons bien * ,t +∀ ∈R ( ) ( )( ) / ( ) ( / ) ( / ) ( )f g d t f d g d t+ = +

donc, ( ) / ( / ) ( / )f g d f d g d+ = +

Démonstration de la relation X[3.45]X : 2 1 2 1( / ) ( / )d d d f d f∀ > ≤

Ce théorème sera démontré en utilisant sa forme équivalente (X[2.34]X ⇔ X[2.35]X) :

1 2 2( / ) ( / ) ( / )d f d f d f⋅ =

( )1 1 2 1 2

2

: 0 , ( / ) ( / ) ( ) ( / )( ) ( / )( ) 0 0 0( / )( )

t t d d f d f t d f t d f td f t

∀ < < ⋅ = ∧ = ∧ =

=

( )1 2 1 2 1 2

1 1 1

2

[ , [, ( / ) ( / ) ( ) ( / )( ) ( / )( )

] , ] : ( ) 1 0 0( / )( )

t d d d f d f t d f t d f t

t t d t f td f t

∈∀ ⋅ = ∧

⎡ ⎤= ∀ ∈ − = ∧ =⎣ ⎦=

( )2 1 2 1 2

1 1 1 1 2 1

1 2 1

2

, ( / ) ( / ) ( ) ( / )( ) ( / )( )

] , ] : ( ) 1 ] , ] : ( ) 1

] , ] : ( ) 1( / )( )

t d d f d f t d f t d f t

t t d t f t t t d t f t

t t d t f td f t

≥∀ ⋅ = ∧

⎡ ⎤ ⎡ ⎤= ∀ ∈ − = ∧ ∀ ∈ − =⎣ ⎦ ⎣ ⎦⎡ ⎤= ∀ ∈ − =⎣ ⎦

=

En conclusion, nous avons bien *2 1, ,d d t +∀ > ∀ ∈R ( )1 2 2( / ) ( / ) ( ) ( / )( )d f d f t d f t⋅ =

donc, 2 1 1 2 2, ( / ) ( / ) ( / )d d d f d f d f∀ > ⋅ =

Démonstration de la relation X[3.46]X : 2 1 1 2( / ) ( / )d d f d f d∀ > ≤

Ce théorème sera démontré en utilisant sa forme équivalente (X[2.34]X ⇔ X[2.35]X) :

1 2 1( / ) ( / ) ( / )f d f d f d⋅ =

( )1 1 2 1 2

1 1 1 1

1 1

1

: 0 ( / ) ( / ) ( ) ( / )( ) ( / )( )

]0, ] : ( ) 1 ]0, ] : ( ) 1

]0, ] : ( ) 1( / )( )

dt t f d f d t f d t f d t

t t f t t t f t

t t f tf d t

∀ < < ⋅ = ∧

⎡ ⎤ ⎡ ⎤= ∃ ∈ = ∧ ∃ ∈ =⎣ ⎦ ⎣ ⎦⎡ ⎤= ∃ ∈ =⎣ ⎦

=

Page 77: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

57

( )

( )

1 2 1 2 1 2

1 1 1 1 1

1 1 1 1

1 1 1

1

[ , [, ( / ) ( / ) ( ) ( / )( ) ( / )( )

] , ] : ( ) 1 ]0, ] : ( ) 1

] , ] ]0, ] : ( ) 1

] , ] : ( ) 1( / )( )

t d d f d f d t f d t f d t

t t d t f t t t f t

t t d t t t f t

t t d t f tf d t

∀ ∈ ⋅ = ∧

⎡ ⎤ ⎡ ⎤= ∃ ∈ − = ∧ ∃ ∈ =⎣ ⎦ ⎣ ⎦⎡ ⎤= ∃ ∈ − ∧ ∃ ∈ =⎢ ⎥⎣ ⎦⎡ ⎤= ∃ ∈ − =⎣ ⎦

=

( )

( )

2 1 2 1 2

1 1 1 1 2 1

1 1 1 2 1

, ( / ) ( / ) ( ) ( / )( ) ( / )( )

] , ] : ( ) 1 ] , ] : ( ) 1

] , ] ] , ] : ( ) 1

t d f d f d t f d t f d t

t t d t f t t t d t f t

t t d t t t d t f t

≥∀ ⋅ = ∧

⎡ ⎤ ⎡ ⎤= ∃ ∈ − = ∧ ∃ ∈ − =⎣ ⎦ ⎣ ⎦⎡ ⎤= ∃ ∈ − ∧ ∃ ∈ − =⎢ ⎥⎣ ⎦

1 1 1

1

] , ] : ( ) 1( / )( )

t t d t f tf d t

⎡ ⎤= ∃ ∈ − =⎣ ⎦=

En conclusion, nous avons bien *2 1, ,d d t +∀ > ∀ ∈R ( )1 2 1( / ) ( / ) ( ) ( / )( )f d f d t f d t⋅ =

donc, 2 1 1 2 1, ( / ) ( / ) ( / )d d f d f d f d∀ > ⋅ =

Démonstration de l’égalité X[3.47]X : 1 2 1 2( / ) ( / ) ( , ) /d f d f max d d f⋅ =

Pour réaliser cette démonstration, il est nécessaire de distinguer les trois cas suivants :

1 2d d= 1 2d d< 1 2d d> • Premier cas : 1 2d d=

Si 1 2d d d= = , alors 1 2( , )max d d d= .

En reportant ce résultat, nous avons :

1 2 1 2( / ) ( / ) ( / ) ( / ) ( / ) ( , ) /d f d f d f d f d f max d d f⋅ = ⋅ = =

• Deuxième cas : 1 2d d<

Si 1 2d d< , alors 1 2 2( , )max d d d= .

Si 1 2d d< , alors 2 1( / ) ( / )d f d f≤ (d’après X[3.45]X)

2 1 1 2 2( / ) ( / ) ( / ) ( / ) ( / )d f d f d f d f d f≤ ⇔ ⋅ = (en utilisant X[2.34]X ⇔ X[2.35]X)

1 2( , ) /max d d f=

• Troisième cas : 1 2d d>

Si 1 2d d> , alors 1 2 1( , )max d d d= .

Si 1 2d d> , alors 1 2( / ) ( / )d f d f≤ (d’après X[3.45]X)

Page 78: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

58

1 2 1 2 1( / ) ( / ) ( / ) ( / ) ( / )d f d f d f d f d f≤ ⇔ ⋅ = (en utilisant X[2.34]X ⇔ X[2.35]X)

1 2( , ) /max d d f=

En conclusion, nous avons bien

1 2 1 2( / ) ( / ) ( , ) /d f d f max d d f⋅ =

Démonstration de l’égalité X[3.48]X : 1 2 1 2( / ) ( / ) ( , ) /d f d f min d d f+ =

Pour réaliser cette démonstration, il est nécessaire de distinguer les trois cas suivants :

1 2d d= 1 2d d< 1 2d d> • Premier cas : 1 2d d=

Si 1 2d d d= = , alors 1 2( , )min d d d= .

En reportant ce résultat, nous avons :

1 2 1 2( / ) ( / ) ( / ) ( / ) ( / ) ( , ) /d f d f d f d f d f min d d f+ = + = =

• Deuxième cas : 1 2d d<

Si 1 2d d< , alors 1 2 1( , )min d d d= .

Si 1 2d d< , alors 2 1( / ) ( / )d f d f≤ (d’après X[3.45]X)

2 1 1 2 1( / ) ( / ) ( / ) ( / ) ( / )d f d f d f d f d f≤ ⇔ + = (en utilisant X[2.34]X ⇔ X[2.39]X)

1 2( , ) /min d d f=

• Troisième cas : 1 2d d>

Si 1 2d d> , alors 1 2 2( , )min d d d= .

Si 1 2d d> , alors 1 2( / ) ( / )d f d f≤ (d’après X[3.45]X)

1 2 1 2 2( / ) ( / ) ( / ) ( / ) ( / )d f d f d f d f d f≤ ⇔ + = (en utilisant X[2.34]X ⇔ X[2.39]X)

1 2( , ) /min d d f=

En conclusion, nous avons bien

1 2 1 2( / ) ( / ) ( , ) /d f d f min d d f+ =

Démonstration de l’égalité X[3.49]X : 1 2 1 2( / ) ( / ) / ( , )f d f d f max d d+ =

Pour réaliser cette démonstration, il est nécessaire de distinguer les trois cas suivants :

1 2d d= 1 2d d< 1 2d d> • Premier cas : 1 2d d=

Si 1 2d d d= = , alors 1 2( , )max d d d= .

Page 79: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

59

En reportant ce résultat, nous avons :

1 2 1 2( / ) ( / ) ( / ) ( / ) ( / ) / ( , )f d f d f d f d f d f max d d+ = + = =

• Deuxième cas : 1 2d d<

Si 1 2d d< , alors 1 2 2( , )max d d d= .

Si 1 2d d< , alors 1 2( / ) ( / )f d f d≤ (d’après X[3.46]X)

1 2 1 2 2( / ) ( / ) ( / ) ( / ) ( / )f d f d f d f d f d≤ ⇔ + = (en utilisant X[2.34]X ⇔ X[2.39]X)

1 2/ ( , )f max d d=

• Troisième cas : 1 2d d>

Si 1 2d d> , alors 1 2 1( , )max d d d= .

Si 1 2d d> , alors 2 1( / ) ( / )f d f d≤ (d’après X[3.46]X)

2 1 1 2 1( / ) ( / ) ( / ) ( / ) ( / )f d f d f d f d f d≤ ⇔ + = (en utilisant X[2.34]X ⇔ X[2.39]X)

1 2/ ( , )f max d d=

En conclusion, nous avons bien

1 2 1 2( / ) ( / ) / ( , )f d f d f max d d+ =

Démonstration de l’égalité X[3.50]X : 1 2 1 2( / ) ( / ) / ( , )f d f d f min d d⋅ =

Pour réaliser cette démonstration, il est nécessaire de distinguer les trois cas suivants :

1 2d d= 1 2d d< 1 2d d> • Premier cas : 1 2d d=

Si 1 2d d d= = , alors 1 2( , )min d d d= .

En reportant ce résultat, nous avons :

1 2 1 2( / ) ( / ) ( / ) ( / ) ( / ) / ( , )f d f d f d f d f d f min d d⋅ = ⋅ = =

• Deuxième cas : 1 2d d<

Si 1 2d d< , alors 1 2 1( , )min d d d= .

Si 1 2d d< , alors 1 2( / ) ( / )f d f d≤ (d’après X[3.46]X)

1 2 1 2 1( / ) ( / ) ( / ) ( / ) ( / )f d f d f d f d f d≤ ⇔ ⋅ = (en utilisant X[2.34]X ⇔ X[2.35]X)

1 2/ ( , )f min d d=

• Troisième cas : 1 2d d>

Si 1 2d d> , alors 1 2 2( , )min d d d= .

Page 80: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 3 : Opérations de l'algèbre ø permettant de décrire des événements et comportements séquentiels et temporisés

60

Si 1 2d d> , alors 2 1( / ) ( / )f d f d≤ (d’après X[3.46]X)

2 1 1 2 2( / ) ( / ) ( / ) ( / ) ( / )f d f d f d f d f d≤ ⇔ ⋅ = (en utilisant X[2.34]X ⇔ X[2.35]X)

1 2/ ( , )f min d d=

En conclusion, nous avons bien

1 2 1 2( / ) ( / ) / ( , )f d f d f min d d⋅ =

Démonstration de l’égalité X[3.51]X : ( / ) /t d d f f d∀ ≥ =

( )1 1

1 1

, ( / )( ) ] , ], ( ) 1

] , ], ( ) 0

dt d f t t t d t f t

t t d t f t

≥ ⎡ ⎤∀ = ∀ ∈ − =⎣ ⎦

⎡ ⎤= ∃ ∈ − =⎣ ⎦

1 1] , ], ( ) 1

( / )( )

t t d t f t

f d t

⎡ ⎤= ∃ ∈ − =⎣ ⎦=

Démonstration de l’égalité X[3.52]X : ( / ) /t d f d d f∀ ≥ =

( ) ( ) ( ), / / / /dt f d f d d f d f≥∀ = = = (en utilisant X[2.18]X et X[3.51]X)

3.5 Conclusion

Nous avons présenté dans ce chapitre les opérations de l'algèbre ø permettant de décrire des

événements et des comportements séquentiels et temporisés. Ces opérations complètent le

cadre formel décrit au chapitre 2 et que nous utiliserons dans les chapitres suivants pour

formaliser les spécifications de la commande d'un système logique et générer les lois de

commande à partir de ces spécifications.

X[3.13]XX[3.14]XX[3.15]XX[3.16]XX[3.17]XX[3.18]XX[3.19]XX[3.20]XX[3.22]X[3.23]X[3.24]XX[3.25]XX[3.26]XX[3.27]XX[3.28]X

X[3.29]XX[3.30]XX[3.31]XX[3.32]XX[3.21]XX[3.33]XX[3.34]XX[3.35]XX[3.36]XX[3.37]XX[3.38]XX[3.39]XX[3.40]X

Page 81: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

61

Chapitre 4

Chapitre 4

Nous montrerons dans ce chapitre comment il est possible de spécifier formellement le

comportement d'un contrôleur logique à l'aide de relations de l'algèbre ø.

Après avoir défini quatre relations types, trois exemples de complexité croissante illustrent

l'approche.

Page 82: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

62

4. Traduction de spécifications informelles en un

ensemble de relations sur ø

L'objectif de ce chapitre (figure 21) est de développer la première étape de notre méthode de

synthèse, à savoir la traduction de spécifications informelles en spécifications formelles, sous

forme de relations de l'algèbre ø.

Figure 21 Objectif du chapitre : Formalisation de la commande en algèbre ø

Nous soulignons qu'outre l'ensemble des spécifications informelles traduisant le

fonctionnement normal et les contraintes de sécurité, cette étape de formalisation peut

accepter des contraintes sur les entrées du contrôleur logique, (généralement sous forme d'une

relation d'égalité dont l'un de membres est 1* et 0*) dues au système physique, supposé non

défaillant. Ces contraintes traduisent des comportements normaux observés par les détecteurs,

comme par exemple la non-simultanéité des valeurs vraies de deux détecteurs fin de course.

Dans un premier temps nous proposons une classification des spécifications formelles que

nous utiliserons, puis nous illustrerons la méthode de formalisation des spécifications à l'aide

de trois exemples de complexité croissante (tableau ci-dessous).

Page 83: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

63

4.1 Classification des spécifications

Rappelons que le modèle de base de notre approche est un système de commande logique à m

entrées et n sorties, qui peut être implanté dans un API. 4.1

Figure 22 Modèle du système de contrôle-commande

Du point de vue de l'algèbre ø, un contrôleur logique est donc un système qui reçoit des

signaux d'entrée et génère des signaux de sortie (figure 23).

Figure 23 Contrôleur logique

De plus, nous rappelons que nous avons défini des opérations (ET, OU, NON, RE, FE, RS,

SR, TON et TOF) et deux relations (= et ≤ ) sur l'algèbre ø.

Une spécification formelle est alors une relation (= ou ≤ ) entre deux signaux qui peuvent

être :

Un signal d'entrée ou un signal de sortie

Exemple Caractéristiques

1) Commande du remplissage d'un réservoir

Système mono-sortie

2) Commande d'un portail automatique Système à deux sorties avec contraintes sur les entrées et les sorties

3) Commande d'un préhenseur effectuant un cycle en U

Système à plusieurs sorties avec contraintes sur les entrées et les sorties

X u Contrôleur logique

Nous noterons : u : l'ensemble des entrées iu : le i ème élément de cet ensemble

X : l'ensemble des sorties jX : le j ème élément de cet ensemble

m n

Page 84: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

64

Un signal obtenu par combinaison, à l'aide des opérations définies, de signaux d'entrée

et/ou de sortie

Les signaux 1* ou 0*

Plus précisément, nous nous limitons à quatre types de spécifications :

Classification Représentation générale formelle en ø

SF-T1 ( ) iF u X≤ Où : ( )F u est une fonction d'entrées ( )F X est une fonction de sorties ( , )F u X est une fonction d'entrées et de

sorties

SF-T2 1 2( , ) ( )F u X F X≤

SF-T3 ( ) 0*F u =

SF-T4 ( ) 0*F X =

La première spécification (SF-T1) est une relation qui définit un signal de sortie à partir de

signaux d'entrée. Cette relation indique en effet que pour toutes les dates où ( )F u vaut 1, iX

doit valoir 11.

La seconde spécification (SF-T2) est une relation, plus complexe, entre une fonction d'entrées

et de sorties et une fonction de sorties.

Enfin, les deux dernières spécifications sont des relations qui expriment des contraintes entre

signaux d'entrée (SF-T3 : hypothèses de bon fonctionnement de la partie opérative) et signaux

de sortie (SF-T4 : contraintes de sécurité en général).

Nous supposerons dans tout ce qui suit qu'il est toujours possible de mettre sous la forme d'un

ensemble de relations de ces quatre types les spécifications d'un contrôleur logique. Cette

hypothèse nous paraît raisonnable comme le montrent les exemples présentés à la section trois.

4.2 Introduction à la formalisation des spécifications

Nous allons considérer les propositions données dans la spécification de fonctionnement (SF)

comme des assertions. Une fois formalisées en ø, ces assertions ne seront remises en cause

que si elles s’avèrent incohérentes les unes par rapport aux autres :

Une assertion est une proposition qui, dans sa forme, peut être affirmative ou négative, que

l'on avance et que l'on soutient comme vraie2.

1 On peut noter que ce type de spécification n'impose aucune contrainte sur la valeur de iX quand la valeur de

( )F u vaut 0. 2 Définition proposée par Le Petit Robert

Page 85: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

65

Il existe deux éléments et une relation dans l'algèbre ø, qui jouent un rôle prépondérant. Ce

sont les élément 1* (toujours), 0* (jamais) et la relation d'ordre partiel "≤".

La réussite de la formalisation complète de la spécification passe donc pour la bonne

compréhension de la relation d'ordre partiel (≤) et des deux éléments (1*, 0*) qui ont été

introduits dans l'algèbre ø.

Toujours : (1*)

L'élément 1* est utilisé pour représenter des assertions qui expriment des propriétés qui

doivent être toujours vérifiées. Cet élément (1*) est utilisé dans la SF car les propriétés à

respecter sont considérées aussi comme assertions : 1A , 2A , 3A , … etc.

Ainsi, étant donné que toutes les propriétés de la SF doivent être respectées, alors le but de

notre méthode est de garantir que : 1 2 3( ) 1*A A A⋅ ⋅ ⋅ =

A titre d'exemple d'énoncés en langage naturel (LN) équivalents à 1*f g+ = , nous pouvons citer • À chaque instant, au moins une des valeurs des signaux f et g est vraie.

• Le signal f ou g arrive TOUJOURS.

Jamais : (0*)

Cet élément peut être utilisé aussi pour définir des assertions. En effet, le complément d'une

assertion qui est toujours vraie est une assertion toujours fausse.

A titre d'exemple nous pouvons citer que 0*f g⋅ = peut provenir des énoncés en LN

suivants (noter que 0* 1*f g f g⋅ = ⇔ + = car X[2.54]X ⇔ X[2.56]X) :

• Le signal f et le signal g ne sont JAMAIS vrais en même temps. • Les valeurs des signaux f et g ne sont JAMAIS simultanément vraies.

Relation d'ordre partiel (Inclusion) : ≤

L'opération inclusion permet de traduire des énoncés du type SI … ALORS ….

Cependant il faut prendre garde de ne pas interpréter ces énoncés comme des relations de

cause à conséquence avec un décalage temporel. Nous considérons en effet le système de

commande infiniment réactif, la cause et la conséquence se produisant à la même date.

L'inclusion f g≤ signifie donc "La valeur du signal f vaut 1 uniquement lorsque celle du

signal g est égale à 1".

Page 86: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

66

Nous pouvons citer d'autres expressions équivalentes :

• SI f est vrai 1, ALORS g vaut 1.

• Il est suffisant que la valeur du signal f soit vraie pour que celle du signal g le soit.

• Quand la valeur du signal f est vraie, alors celle du signal g l'est aussi.

4.3 Illustration de la formalisation à l'aide de trois exemples

Nous allons présenter dans cette section la première partie de la méthode d'élaboration de la

commande (figure 21) à l'aide de trois exemples. En utilisant ces trois exemples, nous allons

illustrer le passage d'une spécification informelle de la commande désirée et des contraintes

sur les entrées, décrites en LN, à la spécification formelle sur ø.

4.3.1 Exemple 1 : Système à une sortie

L'exemple traité dans cette section concerne un système à une sortie. En utilisant cet exemple

nous allons introduire la formalisation des spécifications de type SF-T1. 4.3.1

4.3.1.1 Description du système

Le système étudié dans cette section (voir figure 24a) est la commande du remplissage d’un

réservoir à partir d’un bassin. Nous considérerons que le remplissage se fait par

l’intermédiaire d’une pompe entraînée par un moteur électrique à vitesse unique. Le réservoir

est équipé de deux capteurs permettant de connaître son niveau tandis que le bassin n’est

équipé que d’un seul capteur. Les spécifications en langage naturel du fonctionnement

souhaité sont données dans la figure 24d. Nous remarquons que l’assertion A3 a été incluse

afin de ne pas pomper à vide et éviter le risque d’endommager la pompe.

Page 87: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

67

Figure 24 Présentation de l'exemple 1

4.3.1.2 Formalisation des spécifications

Les signaux d'entrée sont : _Res vide , _Res plein et _Bas vide , le signal de sortie est

Pomper (voir figure 24b et 4c) . Nous réécrirons d'abord les spécifications sous forme

d'expressions SI, … ALORS, puis nous donnerons la représentation formelle sur ø de ces

expressions.

Relations données en langage naturel (LN) Formalisation sur ø

A1) SI le signal "réservoir vide " vaut 1, ALORS le signal "pomper" vaut 1.

_Res vide Pomper≤

A2) SI le signal "réservoir plein" vaut 1, ALORS le signal "pomper " vaut 0.

_Res plein Pomper≤

A3) SI le signal "bassin vide" vaut 1, ALORS il faut que le signal "pomper" vaut 0.

_Bas vide Pomper≤

Sur le plan mathématique, cet ensemble de relations entre signaux binaires, peut être modélisé

par un système d’équations sur ø pour lequel les données sont les signaux _Res vide ,

_Res plein et _Bas vide et l'inconnue est le signal Pomper .

Page 88: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

68

La représentation formelle de ce système est donnée par la figure 25. Notons que ces

assertions sont toutes des spécifications de type SF-T1.

Figure 25 Représentation formelle de l'exemple 1

4.3.2 Exemple 2 : Système à deux sorties avec des contraintes sur les sorties

L'exemple traité dans cette section concerne un système à deux sorties. En utilisant cet

exemple nous allons formaliser des spécifications de types SF-T1, SF-T3 et SF-T4. 4.3.2

4.3.2.1 Description du système

Le système étudié dans cette section (voir figure 26a) est la commande d’un portail

automatique. Nous considérerons que l'ouverture et fermeture se font par l’intermédiaire d’un

moteur à deux sens de rotation. Il est considéré qu'il existe une télécommande qui demande

l'ouverture du portail, un capteur qui détecte la présence d'une voiture et deux capteurs

permettant de connaître si le portail est complètement ouvert ou fermé. Les spécifications en

langage naturel du fonctionnement souhaité sont données dans la figure 26d. Nous incluons

dans la SF de cet exemple une contrainte sur les sorties (A4) et une contrainte due au système

physique (A7).

_Bas vide

Spécifications :1) _2) _3) _

A Res vide PomperA Res plein PomperA Bas vide Pomper

⎧ ≤⎪

≤⎨⎪ ≤⎩

_Res plein

_Res videPomperContrôleur

logique

Page 89: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

69

Figure 26 Présentation de l'exemple 2

4.3.2.2 Formalisation

Les signaux d'entrée sont : TC , PO , PF et V , les signaux de sortie sont Ouvrir et Fermer

(voir figure 26) . Nous réécrirons d'abord les spécifications sous forme d'expressions

SI, … ALORS et JAMAIS, puis nous donnerons la représentation formelle sur ø de ces

expressions dans la figure 27. De plus, la spécification A2 nous amène à introduire l'opération

TON.

Relations données en langage naturel (LN)

A1) SI le signal "télécommande " vaut 1, ALORS le signal "Ouvrir" vaut 1. A2) SI le signal "depuis 3 secondes le portail est ouvert sans l'activation de la télécommande

par l’utilisateur ou une détection de voiture" vaut 1, ALORS le signal "Fermer" vaut 1. A3) SI le signal "le portail n’est pas fermé et la détection d’une voiture" vaut 1, ALORS il

faut que le signal " Ouvrir " soit à 1.

Page 90: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

70

A4) Le signal "ouvrir et fermer" ne doit JAMAIS valoir 1. A5) SI le signal "portail ouvert" vaut 1, ALORS le signal "Ouvrir" vaut 0. A6) SI le signal "portail fermé" vaut 1, ALORS le signal "Fermer" vaut 0. A7) Le signal " portail ouvert et portail fermé" ne doit JAMAIS valoir 1.

Ainsi, sur le plan mathématique, cet ensemble de relations entre signaux binaires, peut être

modélisé par un système d’équations sur ø pour lequel les données sont les signaux TC ,

PO , PF et V , et les inconnues sont les signaux Ouvrir et Fermer . La formalisation de ces

spécifications nous amènent à introduire l'élément 0* (A4 et A7) et l'opération TON (A2).

La représentation formelle de ce système est donnée par la figure 27. Notons que les

assertions A1, A2, A3, A5 et A6 sont des spécifications de type SF-T1, l'assertion A7 est de

type SF-T3 et l'assertion A4 est de type SF-T4.

Figure 27 Représentation formelle de l'exemple 2

4.3.3 Exemple 3 : Système à plus de deux sorties

L'exemple traité dans cette section concerne un système à plusieurs sorties. En utilisant cet

exemple nous allons formaliser des spécifications de types SF-T1, SF-T2, SF-T3 et SF-T4.

4.3.3.1 Description du système

Le système étudié dans cette section (voir figure 28a) est la commande automatique d’un

préhenseur effectuant un cycle en U, afin de prendre une pièce au poste de prise et de la

déposer au poste de dépose. Le système est composé de deux vérins : le premier (a) est un

vérin simple effet permettant la descente3 du préhenseur et le deuxième (b) est un vérin

double effet permettant l'avancement et le recul du préhenseur. La pièce est prise par un

système d'aspiration (c). Le début du cycle est commandé par l'utilisateur en appuyant sur le

3 La montée est faite en mettant la commande Descendre à 0, car le vérin est de type simple effet.

1)2) 3 /( )3)4) 0*5)6)7) 0*

A TC OuvrirA s PO TC V FermerA PF V OuvrirA Ouvrir FermerA PO OuvrirA PF FermerA PO PF

⎧ ≤⎪

⋅ ⋅ ≤⎪⎪ ⋅ ≤⎪⎪ ⋅ =⎨⎪ ≤⎪

≤⎪⎪ ⋅ =⎪⎩

Spécifications formelles sur :ø

PF

PO Ouvrir

V Fermer

TC

Contrôleur

logique

Page 91: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

71

bouton dcy . Il existe un autre bouton permettant d'arrêter le cycle en cas d'urgence ( ARU ).

De plus, il existe 4 capteurs de position (voir figure 28a).

Figure 28 Présentation de l'exemple 3

Spécification de la commande du cycle en U (voir figure 28a) :

A1) Suite à l'appui sur le bouton "dcy", si le préhenseur est en position haute et au poste de prise, le préhenseur descend. Le cycle en U commence.

A2) Lorsque le préhenseur arrive en position basse, toujours au poste de prise, aspirer pour prendre la pièce.

A3) Arrêter la commande de la descente après une seconde4 en position basse et au poste de prise, afin de remonter avec la pièce.

A4) Une fois en position haute et au poste de prise, avancer le préhenseur.

A5) En arrivant au poste de dépose, toujours en position haute, arrêter d'avancer et descendre le préhenseur.

A6) Lorsque le préhenseur arrive en position basse, toujours au poste de dépose, arrêter d'aspirer (pour lâcher la pièce) et arrêter la commande de la descente.

A7) En étant toujours au poste de dépose, une fois en position haute, reculer le préhenseur jusqu'au point de départ (au poste de prise et en position haute).

A8) L'appui sur le bouton d'urgence provoque l'arrêt des commandes : avancer, reculer et descendre.

Le cycle est fini lorsque le préhenseur arrive au poste de prise et, en conséquence, un nouveau

cycle peut commencer avec un nouvel appui sur le bouton "dcy".

4 Ceci afin d’assurer que la pièce a été prise après une seconde d’aspiration (voir A2).

Page 92: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

72

Information sur le système physique :

A9) Les capteurs détectant les positions haute et basse du préhenseur ne fournissent jamais des valeurs vraies simultanément.

A10) Les capteurs détectant les positions du préhenseur au poste de prise et au poste de dépose ne fournissent jamais des valeurs vraies simultanément.

Spécifications de sécurité :

A11) Ne jamais avancer si le préhenseur n'est pas en position haute.

A12) Ne jamais reculer si le préhenseur n'est pas en position haute.

A13) Ne jamais descendre si le préhenseur n'est ni au poste de prise ni au poste de dépose.

A14) Ne jamais demander d'avancer et de reculer en même temps.

A15) Ne jamais demander d'avancer et de descendre en même temps.

A16) Ne jamais demander de reculer et de descendre en même temps.

A11, A12, A13, A15 et A16 sont introduites pour éviter des collisions avec l'environnement.

4.3.3.2 Formalisation

Les signaux d'entrée sont : dcy , ARU , _P prise , _P depose , _P haute et _P basse , les

signaux de sortie sont Avancer , Reculer , Descendre et Aspirer (voir figure 28) . La figure

suivante résume la représentation des entrées/sorties de cet exemple, pour lequel les données

sont les signaux d'entrée et les inconnus sont les signaux de sortie.

Figure 29 Entrées/sorties de l'exemple 3

En utilisant le même principe de réécriture des spécifications sous forme d'expressions SI, …

ALORS et JAMAIS, nous donnerons ensuite la représentation formelle sur ø de ces

expressions. En effet, sur le plan mathématique, cet ensemble de relations entre signaux

binaires peut être modélisé par un système d’équations sur ø. Notons que la formalisation de

ces spécifications nous amène à introduire l'opération front montant (A1). L'ensemble des

spécifications formelles est donc :

,,

Avancer ReculerDescendre Aspirer

, , _ , __ , _

dcy ARU P prise P deposeP haute P basse

Contrôleur logique 7 4

Page 93: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

73

( )

1) _ _

2) _ _3) 1 /( _ _ )4) _ _5) _ _6) _ _

A P prise P haute dcy Descendre

A P prise P basse AspirerA s P prise P basse DescendreA P prise P haute AvancerA P depose P haute Avancer DescendreA P depose P b

⋅ ⋅ ≤

⋅ ≤⋅ ≤⋅ ≤⋅ ≤ ⋅⋅

Spécification du cycle en U :

8

7 ) _ _7 ) _ _8)

asse Descendre AspirerA a P depose P haute ReculerA b P prise P haute ReculerA ARU Avancer Reculer Descendre

⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪

≤ ⋅⎪⎪ ⋅ ≤⎪

⋅ ≤⎪⎪ ≤ ⋅ ⋅⎪⎩

9) _ _ 0*10) _ _ 0*

A P prise P deposeA P haute P basse

⎧ ⋅ =⎪⎨ ⋅ =⎪⎩

Spécifications dues aux contraintes sur les entrées :

11) _ 0*12) _ 0*13) _ _ 0*14) 0*15) 0*16) 0*

A P haute AvancerA P haute ReculerA P prise P depose DescendreA Avancer ReculerA Avancer DescendreA Reculer Descendre

⎧ ⋅ =⎪

⋅ =⎪⎪ ⋅ ⋅ =⎪⎨

⋅ =⎪⎪ ⋅ =⎪

⋅ =⎪⎩

Spécifications de sécurité :

REMARQUES :

1) Les assertions A11, A12 et A13 sont de type SF-T1, de même que A1, A2, A3, A4, A7a et

A7b d'ailleurs, car ce sont des assertions avec une seule variable de sortie. En effet, en

utilisant X[2.34]X ⇔ X[2.37]X, nous avons :

11) _ 0* _12) _ Re 0* _ Re13) _ _ 0* _ _

A P haute Avancer P haute AvancerA P haute culer P haute culerA P prise P depose Descendre P prise P depose Descendre

⎧ ⋅ = ⇔ ≤⎪

⋅ = ⇔ ≤⎨⎪ ⋅ ⋅ = ⇔ ⋅ ≤⎩

2) Les assertions A5, A6 et A8 sont de type SF-T2. Nous remarquons cependant que ces

assertions peuvent aussi être décomposées en SF-T1 en utilisant X[2.47]X :

{

{

5 ) _ _5) _ _

5 ) _ _

6 ) _ _6) _ _

6 _ _

A a P depose P haute AvancerA P depose P haute Avancer Descendre

A b P depose P haute Descendre

A a P depose P basse DescendreA P depose P basse Descendre Aspirer

A b P depose P basse Aspirer

⎧ ⋅ ≤⎪⇔⋅ ≤ ⋅ ⎨⋅ ≤⎪⎩

⎧ ⋅ ≤⎪⇔⋅ ≤ ⋅ ⎨⋅ ≤⎩

{8 )

8) 8 )8 )

A a ARU AvancerA ARU Avancer Reculer Descendre A b ARU Reculer

A c ARU Descendre

⎪⎧ ≤⎪

⇔≤ ⋅ ⋅ ≤⎨⎪ ≤⎩

3) Les assertions A9 et A10 sont des SF-T3 qui indiquent des contraintes du système

physique en considérant la non défaillance de capteurs.

4) Les assertions A14, A15 et A16 sont des SF-T4 qui indiquent des contraintes sur les sorties.

Page 94: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 4 : Traduction de spécifications informelles en un ensemble de relations sur ø

74

4.4 Conclusion

Nous avons présenté dans ce chapitre quatre types de spécifications (inclusion d'une fonction

des signaux d'entrée dans un signal de sortie, inclusion d'une fonction des signaux d'entrée et

de signaux de sortie dans une fonction des signaux de sortie, contraintes sur les entrées et

contraintes sur les sorties) que nous utilisons pour exprimer formellement le comportement

attendu d'un contrôleur logique. A partir de l'ensemble de ces spécifications formelles il est

alors possible de trouver les expressions des signaux de sortie en se basant sur les résultats

théoriques relatifs à la résolution d'un système d'équations dans l'algèbre ø qui sont présentés

au chapitre suivant.

Une nouvelle opération sera définie dans le chapitre suivant. Cette opération est nécessaire

pour définir le dernier type de spécification qui sera présenté aussi au prochain chapitre.

Page 95: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

75

Antonio Medina RodríguezChapitre 5

Chapitre 5

Après avoir détaillé la manière de passer du cahier de charges d'un système logique

séquentiel au modèle algébrique sur ø de sa commande (chapitre 4) nous allons présenter

dans ce chapitre la résolution d'un système d'équations particulier sur ø.

Ce système, composé de 2 relations d'inclusion, peut être facilement déduit des

spécifications formelles.

Dans un premier temps, nous donnerons les conditions de cohérence et de complétude de

ce système. Nous nous attacherons ensuite à la résolution d'un système incomplètement

spécifié, en proposant une solution générale, puis une solution particulière.

Page 96: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

76

5. Résolution d'un système d'équations

5.1 Introduction

Nous nous intéressons dans ce chapitre à la résolution dans l'algèbre ø d'un système

d'équations de la forme :

f Xg X

⎧ ≤⎪⎨ ≤⎪⎩

où f et g sont des fonctions de signaux connus et X un signal inconnu.

Un tel système pourra être obtenu à partir de spécifications formelles de type 1 ou de type 2;

f et g seront alors des fonctions des signaux d'entrée et X un signal de sortie dont on

cherche l'expression formelle.

Il est évident que le système n'admet pas une solution pour toutes les valeurs de f et g ;

f g= , par exemple, conduit à l'absence de solution. Nous nous attacherons donc tout d'abord

à déterminer la condition d'existence d'une solution, fonction de f et g . Lorsque cette

condition est vérifiée, nous dirons que le système est cohérent. D'un point de vue pratique,

dans une approche de synthèse, cette condition nous permettra de détecter des spécifications

incohérentes.

Pour un système cohérent, deux cas sont alors possibles :

• Il existe une solution unique et le système sera alors qualifié de complet (sous-entendu

"les spécifications dont est issu ce système définissant complètement le signal X ");

• Il existe une infinité de solutions.

Nous établirons dans ce chapitre la condition sur f et g permettant de déterminer si un

système est complet ainsi que l'expression de la solution d'un système complet et la forme

générale de la solution d'un système incomplètement spécifié.

Pour établir ces deux conditions (de cohérence et de complétude du système) et les deux

expressions (solutions d'un système complet et incomplet), nous baserons notre raisonnement

sur le fait que notre système à deux relations d'inclusion1 doit être tel que les propriétés de

1 f X

g X⎧ ≤⎪⎨ ≤⎪⎩

Page 97: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

77

transitivité et d'anti-symétrie de la relation d'inclusion doivent être vérifiées, si X est solution.

Ceci explique la structure de ce chapitre.

Nous allons partir du cas le plus simple jusqu'à la généralisation du problème. Premièrement,

nous présentons dans la section suivante le principe de ce raisonnement, à l'aide d'un exemple

élémentaire : un système trivial d'équations sur ø qui respecte au départ les trois propriétés

( X[2.27]X, X[2.28]X et X[2.29]X). Deuxièmement, dans la section 5.3, nous établirons les conditions de

cohérence et de complétude du système d'équations. Troisièmement, nous nous intéressons,

dans la section 5.4, à la résolution d'un système cohérent mais incomplet. Nous proposerons

alors une solution générale et ensuite, une solution particulière nommée "avec mémoire".

Enfin, la dernière section (5.6) est consacrée à la résolution d'un système dérivé d'un système

initial, et qualifié de système étendu avec contrainte de maintien à l'état précédent.

5.2 Utilisation des propriétés de la relation "≤"

Un système d'équations sur ø, doit vérifier les trois propriétés de la relation d'ordre partiel :

réflexivité (X[2.27]X),transitivité (X[2.28]X) et anti-symétrie (X[2.29]X). La première propriété est

toujours vérifiée pour les signaux binaires (voir démonstration de X[2.27]X). Il ne reste qu'à

prouver que les propriétés de transitivité (X[2.28]X) et d'anti-symétrie ( X[2.29]X) sont vérifiées pour

la solution de ce système.

Nous nous intéressons d'abord au système suivant (tel que g f= ) :

1 )2 )a f Xa f X

⎧ ≤⎪⎨ ≤⎪⎩

Syst. 1

Ce système trivial admet une solution unique X f= (voir démonstration X[2.54]X ⇔ X[2.55]X à la

section 2.3.3). Montrons alors que les propriétés de transitivité et d'anti-symétrie de l'inclusion

sont respectées.

• La propriété de transitivité est accomplie si f g

f hg h

⎧ ≤⎪ ⇒ ≤⎨ ≤⎪⎩. En utilisant X[2.34]X ⇔

X[2.41]X nous obtenons : f X≤ ⇔ X f≤ et f X≤ ⇔ X f≤ . En conséquence, il vient

que ,f X∀ de ø :

Si f X≤ et X f≤ , alors f f≤ qui est toujours vrai (X[2.27]X).

Si X f≤ et f X≤ , alors X X≤ qui est toujours vrai (X[2.27]X).

Si X f≤ et f X≤ , alors X X≤ qui est toujours vrai (X[2.27]X).

Page 98: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

78

Si f X≤ et X f≤ , alors f f≤ qui est toujours vrai (X[2.27]X).

donc la propriété de transitivité (X[2.28]X) est respectée.

• La propriété d'anti-symétrie est accomplie puisque X[2.55]X ⇔ X[2.54]X (voir 2.3.3X) :

f XX f

f X⎧ ≤⎪ ⇔ =⎨ ≤⎪⎩

En conclusion, lorsqu'il existe une solution au système 1 étudié, les propriétés de réflexivité

( X[2.27]X), de transitivité (X[2.28]X) et d'anti-symétrie ( X[2.29]X), sont respectées.

5.3 Conditions de cohérence et de complétude

Soit le système suivant :5.3

1 )2 )a f Xa g X

⎧ ≤⎪⎨ ≤⎪⎩

Syst. 2

a) Si ce système admet une solution, la propriété de transitivité (X[2.28]X) doit être vérifiée :

Si f X≤ et X g≤ (en utilisant X[2.34]X ⇔ X[2.41]X sur 2a), alors f g≤ , et

Si g X≤ et X f≤ (en utilisant X[2.34]X ⇔ X[2.41]X sur 1a), alors g f≤ .

Pour satisfaire la propriété de transitivité il faut accomplir donc : f gg f

⎧ ≤⎪⎨

≤⎪⎩.

En utilisant X[2.34]X ⇔ X[2.37]X, X[2.1]X et X[2.10]X :

0 * 0 *

0 *0 * 0 *

f g f gf gf g

g f f gg f

⎧ ⎧ ⎧⋅ = ⋅ =≤⎪ ⎪ ⎪⇔ ⇔ ⇔ ⋅ =⎨ ⎨ ⎨⋅ = ⋅ =≤ ⎪ ⎪⎪ ⎩ ⎩⎩

En conclusion, la propriété de transitivité est accomplie si et seulement si 0 *f g⋅ = .

b) Nous allons à présent montrer que ce système admet une solution unique si f g= . La

solution unique est alors : X f g= = .

En effet, si ce système admet une solution, la propriété d'anti-symétrie (X[2.29]X) doit être

vérifiée :

Si nous avons f X≤ alors il existe f X≤ tel que X f= , et aussi

Si nous avons g X≤ alors il existe g X≤ tel que X g= .

Pour satisfaire la propriété de transitivité (sur l'égalité) il faut accomplir donc : X f g= = ,

car si X f= et X g= alors f g= .

Page 99: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

79

Les deux contraintes : la cohérence et la complétude ( 0 *f g⋅ = et f g= , respectivement),

peuvent être exprimées avec une seule : f g= . En effet, ceci est mis en évidence en

exprimant f g= comme suit :

0 *0 *

f gf g

f g⎧ ⋅ =⎪= ⇔ ⎨ ⋅ =⎪⎩

en utilisant X[2.54]X ⇔ X[2.57]X

En conclusion, pour un système qui n'est définie que par ces deux relations, la propriété

d'anti-symétrie est accomplie si et seulement si 0 *f g⋅ = et 0 *f g⋅ = .

En définissant la cohérence avec la contrainte 0 *f g⋅ = et la complétude avec la contrainte

0 *f g⋅ = , nous pouvons conclure que :

Ce système a une solution unique, si et seulement si la COHERENCE ( 0 *f g⋅ = ) et la

COMPLETUDE ( 0 *f g⋅ = ) sont toutes les deux respectées (voir le système 3).

En effet, l’existence d’une solution à ce système d'équations est conditionnée, premièrement,

par la cohérence laquelle impose que les fonctions f et g , définissant X et X (relations 1a

et 2a respectivement), soient disjointes : 0 *f g⋅ = et deuxièmement par la complétude qui

impose que les fonctions f et g définissent complètement la solution ( X ) de ce système car

0 *f g⋅ =

1 )2 )

0*0*

a f Xa g X

X f gcohérence f g

complétude f g

⎧⎧ ≤⎪⎪⎨ ≤⎪⎪⎪⎩ ⇔ = =⎨⎧ ⋅ =⎪⎪⎨⎪ ⋅ =⎪⎩⎪⎩

Syst. 3

5.4 Forme générale de la solution

Nous nous intéressons à présent à un système cohérent ( 0 *f g⋅ = ) mais non complet

( 0*f g⋅ ≠ ). Nous allons montrer que la solution générale est alors :

1X f k= + ou bien 2X g k= ⋅ .

1k et 2k étant des éléments de ø tels que :

Page 100: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

80

1 1

1 2

2 1 2 2 1 1 2

))

) 0*

a

b

hyp k Xhyp k Xhyp k k f k g k f g k k

⎧ ≤⎪

≤⎨⎪ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ =⎩

Syst. 4

Remarque :

Pour tenir compte de l'incomplétude ( 0*f g⋅ ≠ ), nous modifions le système initial, en

rajoutant une relation (3a) qui ne modifie pas le système initial car 1*X X+ = .

Il vient alors :

1 )2 )3 )

a f Xa g Xa f g X X

⎧ ≤⎪

≤⎨⎪ ⋅ ≤ +⎩

Syst. 5

DÉMONSTRATION :

Nous allons d'abord introduire 1ahyp et 1bhyp du système 4 dans le système 5. Nous avons en

utilisant X[2.46]X :

1

2

1 1

1 2

1 )2 ) 1 )3 ) 2 )

) 3 ))

a

b

a f Xa g X b f k Xa f g X X b g k X

hyp k X b f g X Xhyp k X

⎧ ≤⎪ ⎧≤ + ≤⎪ ⎪⎪ ⋅ ≤ + ⇔ + ≤⎨⎨

⎪⎪ ≤ ⋅ ≤ +⎩⎪≤⎪⎩

Syst. 6

Pour que le système 6 admette une solution, il faut que ce système soit cohérent :

1 2( ) ( ) 0*f k g k+ ⋅ + =

Cette solution est unique et égale à 1X f k= + ou 2X g k= ⋅ si ce système est complet :

( ) ( )1 2 0 *f k g k+ ⋅ + = .

D'où :

( ) ( )1 2

1 2

) ( ) ( ) 0*

) 0*

cohérence f k g k

complétude f k g k

⎧ + ⋅ + =⎪⎨

+ ⋅ + =⎪⎩

En utilisant X[2.3]X, X[2.20]X, X[2.1]X; X[2.25]X nous avons :

( ) ( )1 2 1 2 1 2

1 21 2

( ) ( ) 0* 0*0*0*

f k g k f g g k f k k kf g k kf k g k

⎧ + ⋅ + = ⎧ ⋅ + ⋅ + ⋅ + ⋅ =⎪ ⎪⇔⎨ ⎨ ⋅ ⋅ ⋅ =+ ⋅ + = ⎪⎪ ⎩⎩

Page 101: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

81

1 2 2 1

1 2

0*0*0*

f gk k f k g k

f g k k

⎧ ⋅ =⎪

⇔ ⋅ + ⋅ + ⋅ =⎨⎪ ⋅ ⋅ ⋅ =⎩

La première égalité représente la contrainte de cohérence du système 5 et la deuxième

représente les contraintes de cohérence dues à l'introduction de 1ahyp et 1bhyp ; la troisième

égalité est la contrainte de complétude du système 6. Notons que les deux dernières

représentent 2hyp du système 4.

En résumé, si les contraintes de 2hyp sont respectées, alors la solution générale d'un système

cohérent mais incomplet est :

1X f k= + ou bien

2X g k= ⋅

Le dernier résultat est obtenu en utilisant X[2.20]X : 2 2( )X g k g k= + = ⋅

Dans nos travaux, par commodité, nous allons utiliser la première solution décrite par f et 1k

au lieu de la deuxième décrite par g et 2k comme suit :

{ 1

1 1

1 2

2 1 2 2 1 1 2

1 )2 )3 )

) 0*

))

) 0*

a

b

a f Xa g Xa f g X X

cohérence f g X f k

hyp k Xhyp k Xhyp k k f k g k f g k k

⎧⎧ ≤⎪⎪≤⎪⎨

⎪⎪ ⋅ ≤ +⎩⎪⎪ ⋅ = ⇔ = +⎨⎪⎧ ≤⎪⎪⎪ ≤⎨⎪⎪⎪ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ =⎩⎩

Syst. 7

Il est possible d'avoir une infinité de solutions qui respectent ces contraintes. Nous présentons

succinctement 4 exemples.

EXEMPLES :

1k et 2k peuvent être tels que 1 2k k f g+ = ⋅ , par exemple :

1) 1 0*k = , 2k f g= ⋅ ou bien

2) 1k f g h= ⋅ ⋅ , 2k f g h= ⋅ ⋅ ( h élément quelconque de ø )

Page 102: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

82

Cependant, cette contrainte n'est pas obligatoire, par exemple :

3) 1k f g= ⋅ , 2k f g= ⋅ où 1 2k k g+ =

4) 1k f g h= ⋅ ⋅ , 2k g f h= + ⋅ où 1 2k k f+ =

Il faut noter que les quatre exemples présentés accomplissent 2hyp , en supposant que la

cohérence ( 0*f g⋅ = ) est respectée :

1) ( )(0*) ( ) ( ) (0*) (0*) 0*f g f f g g f g f g⋅ ⋅ + ⋅ ⋅ + ⋅ + ⋅ ⋅ ⋅ ⋅ =

2) ( ) ( )( ) ( ) ( ) ( ) 0*f g h f g h f f g h g f g h f g f g h f g h⋅ ⋅ ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ =

3) ( ) ( )( ) ( ) ( ) ( ) 0*f g f g f f g g f g f g f g f g⋅ ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ ⋅ ⋅ ⋅ =

4) ( ) ( )( ) ( ) ( ) ( ) 0*f g h g f h f g f h g f g h f g f g h g f h⋅ ⋅ ⋅ + ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ ⋅ ⋅ + ⋅ =

Après simplification, d'après le système 7 les solutions de ces exemples sont donc

respectivement :

1) 0*X f f= + =

2) ( ) ( )X f f g h f g f g h g f f h g f h= + ⋅ ⋅ = ⋅ + ⋅ ⋅ = ⋅ + ⋅ = ⋅ +

3) X f f g f= + ⋅ =

4) ( ) ( )X f f g h f g f g h g f f h g f h= + ⋅ ⋅ = ⋅ + ⋅ ⋅ = ⋅ + ⋅ = ⋅ +

Nous allons de plus montrer dans la section suivante que les signaux ( , )RS f g et ( , )SR f g

sont des solutions particulières.

5.5 Utilisation des opérations SR et RS pour l'expression de

solutions particulières

5.5.1 Introduction

A partir de la solution générale proposée (système 7) nous constatons qu’il est possible de

proposer des solutions à un système cohérent mais incomplet, en utilisant des opérations

temporelles pour définir 1k et 2k , comme par exemple : le front montant, le front descendant,

le TON et le TOF.5.5

Nous allons montrer dans cette section l'existence d'une solution temporelle particulière que

nous appelons avec mémoire. Cette solution exprimée en termes de variables logiques est :

Page 103: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

83

( ) ( )*1 1 1, ( ) ( ) : ( ) 1 ] , ], ( )( ) 1t X t f t t t f t d t t g d+ ⎡ ⎤⎛ ⎞∀ ∈ = ∨ ∃ < = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦

R

et peut s'écrire à l'aide des opérations SR et RS : ( , ) ( , )X SR f g RS f g= = .

5.5.2 Résolution

Nous allons définir d'abord les signaux 3k et 4k par des prédicats en fonction des valeurs des

signaux f et g à l'instant t et de l'existence, dans le passé, des combinaisons possibles de

ces signaux. Les signaux 3k et 4k sont définis de la façon suivante (voir figure 30) : 5.5.2

* ,t +∀ ∈R

( ) ( )3 1 1 1( ) : ( ) 1 ] , ], ( )( ) 1k t t t f t d t t g d⎡ ⎤⎛ ⎞= ∃ < = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦

( ) ( )4 1 1 1( ) : ( ) 1 ] , ], ( )( ) 1ak t t t g t d t t f d⎡ ⎤⎛ ⎞= ∃ < = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦

4 ( ) ]0, ], ( )( ) 1bk t d t f g d⎡ ⎤= ∀ ∈ ⋅ =⎣ ⎦

Où, 4 4 4a bk k k= + .

Figure 30 (a) Signal f (b) Signal g (c) Signal k3 (d) Signal k4a (e) Signal k4b

Page 104: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

84

Le prédicat 3k est égal à 1 (voir figure 30c), durant les périodes 1] , ]t t telles que 1( ) 1f t = et

( ) 1g t¬ = . Le prédicat 4ak est égal à 1 (voir figure 30d), durant les périodes 1] , ]t t , telles que

1( ) 1g t¬ = et ( ) 1f t¬ = . Le prédicat 4bk est égal à 1 (voir figure 30e), dès que 0t > et

pendant que ( )( ) 1f g d⋅ = .

On peut démontrer que ces prédicats sont toujours définis et qu'ils vérifient 2hyp , si

0*f g⋅ = (condition de cohérence) et 0*f g⋅ ≠ (système incomplet). La démonstration est

dans l'annexe D).

Ainsi, pour un système incomplet tel que 5, après vérification de la cohérence ( 0*f g⋅ = ), il

est toujours possible de proposer la solution particulière 3X f k= + , nommée avec mémoire

(voir système 7) :

{ 3

1 3

1 4

2 3 4 4 3 3 4

1 )2 )3 )

) 0*

))

) 0* (toujours vraie)

a

b

a f Xa g Xa f g X X

cohérence f g X f k

hyp k Xhyp k Xhyp k k f k g k f g k k

⎧⎧ ≤⎪⎪

≤⎪⎨⎪⎪ ⋅ ≤ +⎩⎪⎪ ⋅ = ⇔ = +⎨⎪⎧ ≤⎪⎪⎪ ≤⎨⎪⎪⎪ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ =⎩⎩

Syst. 8

Où la solution 3X f k= + est définie en variables logiques comme suit :

( ) ( )*1 1 1, ( ) ( ) : ( ) 1 ] , ], ( )( ) 1t X t f t t t f t d t t g d+ ⎡ ⎤⎛ ⎞∀ ∈ = ∨ ∃ < = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦

R

Remarque :

Etant donné que 2hyp est toujours vraie, nous en déduisons que ce système reste cohérent

3 4( ) ( ) 0*f k g k+ ⋅ + = car 3 4 4 3 0*f g k k f k g k⋅ + ⋅ + ⋅ + ⋅ = et qu'il a été complété par

les paramètres 3k et 4k choisis, car 3 4 0*f g k k⋅ ⋅ ⋅ = .

5.5.3 L'opération REP et sa relation avec la solution avec mémoire

5.5.3.1 Définition de l'opération REP

Nous allons définir dans cette section une nouvelle opération nommée REP qui signifie

"rester dans l'état précédent". Cette opération nous servira à simplifier l'expression de la

solution avec mémoire. Cette opération est définie comme suit :

Page 105: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

85

Définition 13 : Opération REP

2

( , ) ( , )s r REP s r→a

ø ø

Où *,t +∀ ∈R

( ) ( )

( ) ( )

1 1 1

1 1 1

: ( ) 1 ] , ], ( )( ) 1

( , )( ) : ( ) 1 ] , ], ( )( ) 1

]0, ], ( )( ) 1

t t s t d t t r d

REP s r t t t r t d t t s d

d t s r d

⎛ ⎞⎡ ⎤⎛ ⎞⎜ ⎟∃ < = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎝ ⎠⎜ ⎟⎣ ⎦⎜ ⎟⎡ ⎤⎛ ⎞⎜ ⎟= ∨ ∃ < = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎜ ⎟⎝ ⎠⎣ ⎦⎜ ⎟

⎡ ⎤∨ ∀ ∈ ⋅ =⎜ ⎟⎣ ⎦⎜ ⎟⎜ ⎟⎝ ⎠

La figure suivante (figure 31) nous montre les signaux f , g , les résultats des opérations

( , )REP f g et ( , )SR f g . Nous notons que c'est le paramètre k4b (voir figure 30) qui définit la

période initiale où ( , )SR f g vaut 0 et en plus ( , )SR f g maintient la valeur précédente

quand ( , )REP f g vaut 1. Ce sont les paramètres 3k et 4k qui définissent la valeur de

( , )SR f g à travers les relations 1ahyp et 1bhyp .

Figure 31 Représentation graphique de l'opération REP(f,g) et SR(f,g)

5.5.3.2 Spécification SF-T5

L'opération REP nous permet d'introduire ci-dessous une nouvelle classe de spécification qui

s'ajoute à celles présentées au chapitre 4. L'opération REP est définie à partir de deux signaux

( f et g ) et contraint un troisième signal ( X ) à rester dans l'état tel qu'il est montré dans la

Page 106: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

86

section 5.5.3.4. Afin d'alléger la notation nous noterons XREP pour ( , )REP f g dans un

système définissant X .

Classification Représentation générale formelle en ø

SF-T5 1( ) XiF u REP≤ Où : 1( )F u est une fonction d'entrées

Cette spécification est une relation entre une combinaison d'entrées et le résultat de l'opération

REP qui contraint le signal iX à rester dans l'état.

5.5.3.3 Théorèmes relatifs aux opérations SR et RS

En utilisant l'opération REP, il est possible d'établir les théorèmes suivants ([5.1] à [5.4]),

relatifs aux opérations SR et RS (voir démonstrations à l'annexe D). Ces quatre théorèmes

montrent les systèmes d'équations qui ont comme solution les opérations SR et RS.

1

2

3

4

1 )2 )3 )

1 )2 )3 )

) 0 *) 0 *

( ) ( )) 0 *

( )

) 0 *

X

s

r

m X

s r s m r m

r m s ms r

s r m

a s Xa r Xa m REP

a k Xa k X X Sa k REP

hyp s r s m r mhyp k k k k k k

s k k r k khyp

m k k

hyp s r m k k k

⎧⎧ ≤⎪⎪

≤⎪⎨⎪⎪ ≤⎩⎪⎪⎧ ≤⎪⎪⎪ ≤⎨ =⎪⎪⎪ ≤ ⇔⎨⎩⎪⎧ ⋅ + ⋅ + ⋅ =⎪⎪⎪ ⋅ + ⋅ + ⋅ =⎪⎪⎪⎪ ⎛ ⎞⋅ + + ⋅ +⎨ =⎜ ⎟⎪⎪ ⎜ ⎟+ ⋅ +⎪ ⎝ ⎠⎪⎪⎪ ⋅ ⋅ ⋅ ⋅ ⋅ =⎩⎪⎩

( , )ou bien( , )

s r

s r

R s k r k

X RS s k r k

+ +

= + + [5.1]

1 )( , )

2 )ou bien

3 )( , )

) 0*X

a s XX SR s r

a r Xa s r REP

X RS s rcohérence s r

⎧ ≤=⎪

≤⎪ ⇔⎨ ⋅ ≤⎪ =⎪ ⋅ =⎩

[5.2]

1 )2 ) ( , )3 ) X

a s Xa s r X X SR s ra s r REP

⎧ ≤⎪

⋅ ≤ ⇔ =⎨⎪ ⋅ ≤⎩

[5.3]

Page 107: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

87

1 )2 ) ( , )3 ) X

a s r Xa r X X RS s ra s r REP

⎧ ⋅ ≤⎪

≤ ⇔ =⎨⎪ ⋅ ≤⎩

[5.4]

5.5.3.4 Solution avec mémoire

Nous pouvons simplifier la notation de la solution avec mémoire, parce que

3 4( , )REP f g k k= + :

* ,t +∀ ∈R

( ) ( )

( ) ( )

1 1 1

1 1 1

: ( ) 1 ] , ], ( )( ) 1

( , )( ) : ( ) 1 ] , ], ( )( ) 1

]0, ], ( )( ) 1

t t f t d t t g d

REP f g t t t g t d t t f d

d t f g d

⎛ ⎞⎡ ⎤⎛ ⎞⎜ ⎟∃ < = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎝ ⎠⎜ ⎟⎣ ⎦⎜ ⎟⎡ ⎤⎛ ⎞⎜ ⎟= ∨ ∃ < = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎜ ⎟⎝ ⎠⎣ ⎦⎜ ⎟

⎡ ⎤∨ ∀ ∈ ⋅ =⎜ ⎟⎣ ⎦⎝ ⎠

Nous pouvons simplifier le système 8, en sachant que l'hypothèse 2 de la solution avec

mémoire est toujours vraie. En effet, d’après le système 7 :

{{

2 3 4 3 4

3 4

3 )) 0*

( , )

d

a f g X X f g X Xhyp f g k k f g k k

f g k k

f g REP f g

⎧ ⎧⋅ ≤ + ⋅ ≤ +⎪ ⎪⇔⎨ ⎨⋅ ⋅ ⋅ = ⋅ ≤ +⎪ ⎪⎩ ⎩

⇔ ⋅ ≤ +

⇔ ⋅ ≤

Par conséquent, le système 8 peut être réécrit, en utilisant le nouvel type de spécification

SF-T5, comme suit :

{2

3

1 3

1 4

2 3 4 4 3 3 4

1 )2 )3 )

) 0*

))

) 0* (toujours vraie)

d X

a

b

a f Xa g Xa hyp f g REP

cohérence f g X f k

hyp k Xhyp k Xhyp k k f k g k f g k k

⎧⎧ ≤⎪⎪

≤⎪⎨⎪⎪ ⋅ ⋅ ≤⎩⎪⎪ ⋅ = ⇔ = +⎨⎪⎧ ≤⎪⎪⎪ ≤⎨⎪⎪⎪ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ =⎩⎩

Syst. 9

REMARQUES :

1) Le système 9, a une solution où le choix ( f g⋅ ) demande de rester dans l'état précédent :

( , )REP f g , avec une condition initiale définie par 4bk . Autrement dit :

Page 108: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

88

• Dès l'instant où f prend la valeur 1, 1X = (point 1a), le signal X restera dans cet état

jusqu'à l'instant où g prend la valeur 1.

• Dès l'instant où g prend la valeur 1, 0X = (point 1b), le signal X restera dans cet état

jusqu'à l'instant où f prend la valeur 1.

• D'autre part, pendant la partie initiale où ni f ni g ne prennent encore la valeur

1 alors la condition initiale est établie pour prendre la valeur = 0X , grâce au choix

du 4bk ( 2hyp ).

En conclusion, nous pouvons simplifier la notation du système 9 d'après [5.2] :

1 )2 )

( , ) ( , )3 )

) 0*X

a f Xa g X

X SR f g RS f ga f g REP

cohérence f g

⎧ ≤⎪

≤⎪ ⇔ = =⎨ ⋅ ≤⎪⎪ ⋅ =⎩

5.6 Système étendu avec contrainte de maintien dans l'état

précédent

Nous allons nous intéresser dans cette section à la résolution du système ci-dessous :5.6

1 )2 )3 ) X

a f Xa g Xa h REP

⎧ ≤⎪

≤⎨⎪ ≤⎩

Syst. 10

où f , g et h sont des signaux connus, X un signal inconnu et fk , gk et hk des paramètres.

Ce système peut être utile lorsqu'une SF impose qu'un signal reste dans l'état précédent

comme nous le verrons dans les chapitres suivants (inclusion 3a).

Pour trouver les conditions de cohérence et complétude de ce système, nous introduisons des

contraintes sur les paramètres qui conduisent au système suivant :

1 )2 )

1 4 )3 )

2 5 )4 )3 6 )5 )

6 )

fX

gfh Xg

h X

a f Xa g X

a a f k Xa h REP

a a g k Xa k Xa a h k REPa k X

a k REP

⎧ ≤⎪

≤⎪ ⎧ ⋅ + ≤⎪ ≤ ⎪⎪ ⎪⇔ ⋅ + ≤⎨ ⎨≤⎪ ⎪ ⋅ + ≤⎪⎪ ⎩≤⎪

≤⎪⎩

D'après [5.2], la solution de ce système est :

Page 109: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

89

( ) ( )( ), ( ) ( ), ( )f g f gX SR f k g k RS f k g k= + + = + +

Si et seulement si :

• Le système est cohérent : ( ) ( ) 0 *f gf k g k+ ⋅ + =

• Les signaux connus f , g et h sont tels que : ( ) ( ) ( )f g hf k g k h k+ ⋅ + = +

En développant la première expression et en utilisant X[2.54]X ⇔ X[2.58]X pour la deuxième, nous

avons

( )0*

( ) ( ) ( ) ( ) ( ) ( ) 0*

g f f g

f g h f g h

f g f k g k k k

f k g k h k f k g k h k

⎧ ⋅ + ⋅ + ⋅ + ⋅ =⎪⎨

+ ⋅ + ⋅ + + + + + ⋅ + =⎪⎩

En développant ces expressions et en utilisant X[2.25]X, nous avons

1

2

3

4

) 0*) 0*

) ( ) ( ) ( ) 0*

) 0*

f g f h g h

g h f h f g

f g h

hyp f g f h g hhyp k k k k k k

hyp f k k g k k h k k

hyp f g h k k k

⎧ ⋅ + ⋅ + ⋅ =⎪

⋅ + ⋅ + ⋅ =⎪⎨ ⋅ + + ⋅ + + ⋅ + =⎪⎪ ⋅ ⋅ ⋅ ⋅ ⋅ =⎩

En conclusion, si et seulement si les hypothèses 1 à 4 sont respectées alors il existe une

solution avec mémoire :

1

2

3

4

1 )2 )3 )4 ) 0*

5 )

6 )

7 )

) 0*) 0*

) ( ) ( ) ( ) 0*

) 0*

X

f

g

h X

f g f h g h

g h f h f g

f g h

a f Xa g Xa h REPa f g h

a k X

a k X

a k REP

hyp f g f h g hhyp k k k k k k

hyp f k k g k k h k k

hyp f g h k k k

⎧⎧⎪ ≤⎪⎪ ≤⎪⎪⎨⎪ ≤⎪⎪⎪ ⋅ ⋅ ≠⎪⎩⎪⎧ ≤⎪⎪⎪⎪⎪ ≤⎨⎨⎪⎪ ≤⎪⎪⎩⎪⎧ ⋅ + ⋅ + ⋅ =⎪⎪⎪ ⋅ + ⋅ + ⋅ =⎪⎪⎨⎪ ⋅ + + ⋅ + + ⋅ + =⎪⎪ ⋅ ⋅ ⋅ ⋅ ⋅ =⎩⎩

( )

( )

( ), ( )

ou bien

( ), ( )

f g

f g

X SR f k g k

X RS f k g k

= + +

= + +

⎪⎪⎪

Syst. 11

Remarques :

Il faut noter que la solution trouvée ici est identique à celle de la section 5.5

( 0 *f g hk k k= = = ). En effet, si 0 *f g hk k k= = = alors

Page 110: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 5 : Résolution d'un système d'équations

90

11

21

34

4

) 0*) 0*

) 0* 0* 0*) ( ) 0*

) 0* 0*) ( ) 0*

) 0*

a

b

hyp f g f h g hhyp f g

hyp f ghyp h f g

hyp h f ghyp h f g

hyp f g h

⎧ ⋅ + ⋅ + ⋅ =⎧ ⋅ =⎪ ⎧= ⋅ =⎪⎪ ⎪⇔ ⋅ + = ⇔⎨ ⎨ ⎨= = ⋅⎪⎪ ⎪ ⎩⋅ ⋅ =⎩⎪ ⋅ ⋅ =⎩

5.7 Conclusion

Nous avons démontré que le système étudié admet une solution si 0*f g⋅ = (condition de

cohérence). Pour un système cohérent, nous avons également déterminé une condition de

complétude ( 0*f g⋅ = ).

Lorsque le système est cohérent mais incomplet, nous avons proposé une forme générale de la

solution ainsi qu'une forme particulière qui est basée sur les opérations mémoire SR et RS.

Dans le prochain chapitre nous allons proposer une méthode de synthèse pour concevoir la

commande d'un système logique séquentiel en utilisant ces résultats théoriques.

Page 111: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

91

Chapitre 6

Chapitre 6

Nous présentons dans ce chapitre la méthode de synthèse de fonctions de contrôle à partir de

spécifications formelles jusqu’à l’implantation de la commande. Cette méthode s'appuie sur la

vérification algébrique des propriétés du système formel obtenu à partir des spécifications.

Nous détaillerons en plus trois algorithmes de vérification/correction des propriétés afin de

calculer la commande.

Page 112: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

92

6. Synthèse d'un contrôleur logique à partir des

spécifications formelles

Nous allons présenter dans ce chapitre la deuxième partie de la méthode d'élaboration de la

commande. Cette partie (voir la figure 32) concerne la conception formelle de la commande à

partir de la SF sur ø. L'objectif est de générer automatiquement les fonctions de contrôle sûres

implantables sur le calculateur industriel désiré qui les exécute en parallèle ou

séquentiellement.

De plus, nous considérerons une communication avec l'utilisateur afin de surmonter le non

accomplissement des propriétés telles que la cohérence et la complétude. En effet, il est

envisagé que la SF peut contenir des erreurs ou des oublis car pour des gros systèmes il serait

impensable de supposer que l'utilisateur puisse concevoir une SF sans équivoque et complète.

Figure 32 Objectif du chapitre : Conception formelle de la commande en algèbre ø

La méthode proposée, décrite au chapitre 5, repose sur la résolution d'un système d'équations,

écrites en algèbre ø. Cependant les spécifications formelles peuvent concerner plusieurs

sorties du contrôleur, le système global à résoudre représente les contraintes imposées par la

SF où les sorties du système de contrôle-commande constituent les inconnues du système.

L'ensemble de ces équations représente donc le comportement attendu du SED étudié.

Chacune d'entre-elles correspond à un élément de la spécification de fonctionnement. La

fonction de contrôle recherchée est donc la solution du système d'équations représentant la SF.

Page 113: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

93

Dans ce chapitre, nous avons choisi d'introduire d'abord les quatre principaux pas qui

décrivent la méthode. Les propriétés, que nous allons vérifier, sont présentées ensuite en 6.2

en incluant les expressions qui expriment les contraintes pour vérifier ces propriétés et les

actions à suivre pour faire la correction. Dans la section qui suit (6.3) la méthode est détaillée.

La démarche de vérification/correction prévoit l'utilisation de 3 algorithmes généraux de

vérification et correction des propriétés qui sont présentés en 6.4 en utilisant des diagrammes

de flux.

6.1 Introduction à la méthode

Les quatre pas principaux qui décrivent la méthode sont présentés dans la figure suivante.

Figure 33 Présentation générale de la méthode de conception formelle de la commande

1) REGROUPEMENT DES SPÉCIFICATIONS.

Les spécifications sont regroupées de façon à obtenir :

Un système des sorties qui regroupe toutes relations de la SF qui contraint chaque sortie

iX du contrôleur un système des sorties tel que :

A) 1 )2 )3 )

xi i

xi i

xi Xi

a f Xa g Xa h REP

⎧ ≤⎪

≤⎨⎪ ≤⎩

Un système du comportement global tel que le précédent mais concernant de fonctions

de sorties ( )F X . Ce système regroupe toutes les relations de la SF qui contraient le

comportement du système tel que :

B) 1( ) 1

1( ) 1

1( ) 1( )

1 ) ( )

2 ) ( )

3 )

F X

F X

F X F X

b f F X

b g F X

b h REP

⎧ ≤⎪⎪ ≤⎨⎪ ≤⎪⎩

Il y a en plus deux relations d'égalité qui regroupent d'une part les hypothèses sur les

Page 114: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

94

entrées (SF-T3) et d'autre part les états interdits (SF-T4) :

4) 0*5) 0*

O

O

UX

⎧ =⎪⎨ =⎪⎩

où ( )OU F u= ∑ des SF-T3 et ( )OX F X= ∑ des SF-T4.

2) VÉRIFICATION ET CORRECTION DES PROPRIÉTÉS. On analyse la SF, en vérifiant le respect

des propriétés. A chaque propriété non vérifiée nous identifions les causes du non-respect.

En conséquence, des corrections peuvent être proposées par l'utilisateur en ajoutant ou en

enlevant des assertions.

3) LE CALCUL DE LA FONCTION DE CONTRÔLE. Dans cette étape nous complétons d'abord les

systèmes corrigés précédemment avec des équations faisant intervenir les paramètres fk ,

gk et hk pour chaque système de sortie iX : fxik , gxik et hxik . Comme le choix dans

l'incomplétude est limité par la vérification des propriétés à respecter et en plus par le

mode d'exécution du contrôleur, nous calculerons alors dans un premier temps les

contraintes à vérifier par ces paramètres et ensuite nous proposons une démarche pour la

recherche d'une solution.

4) L'IMPLANTATION DE LA FONCTION DE CONTRÔLE. Finalement, nous considérons

l'implantation de la fonction de contrôle pour un calculateur exécutant les fonctions de

contrôle en parallèle ou séquentiellement.

Avant de détailler la méthode, nous allons présenter dans la section suivante les propriétés à

respecter et les expressions à utiliser pour vérifier l'accomplissement de ces propriétés

individuellement.

6.2 Propriétés

La méthode proposée repose aussi sur le respect de plusieurs propriétés. Nous avons deux

types de propriétés :

a) Les propriétés intrinsèques qui sont des propriétés inhérentes au problème à résoudre et

nous n'avons considéré que la vérification des états interdits par la SF.

b) Les propriétés extrinsèques qui sont des propriétés qui doivent être respectées pour tous les

systèmes d'équations. Nous avons inclus dans nos travaux 5 propriétés de ce type : la

cohérence, la complétude, le non blocage, l'unité stabilité et la semi-insensibilité à l'ordre. La

cohérence et la complétude sont des propriétés indispensables pour avoir une solution unique

d'un système d'équations (voir la section 5.3). Le non blocage des fonctions de sortie, est une

propriété qu'il faudrait respecter pour avoir une solution correctement spécifiée. Les deux

Page 115: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

95

dernières : l'unité stabilité et la semi-insensibilité à l'ordre, sont des propriétés demandées

pour l'implantation sur un calculateur qui exécute les fonctions de contrôle séquentiellement1

[Med_00], [Yed_00a].

L'ensemble d'équations doit alors respecter ces propriétés afin que la fonction solution de

chaque sortie (systèmes de la forme A) soit implantable et correctement spécifiée. Or, il suffit

de bien traduire ces propriétés en algèbre ø afin de garantir par avance le respect de ces

propriétés. Ces propriétés sont exprimées par 1* (toujours) ou bien par 0* (jamais) car

X[2.54]X ⇔ X[2.56]X.

Il existe deux moyens de faire les corrections, afin de surmonter le non accomplissement des

propriétés soit en enlevant des assertions au système soit en ajoutant des assertions.

6.2.1 Propriétés extrinsèques

Nous allons donner d'abord les concepts de ces propriétés et ensuite nous donnerons les

équations qui définissent le respect de chaque propriété en indiquant le moyen de les corriger.

D'abord, nous définirons les expressions qui serviront à vérifier les propriétés de la SF à partir

des systèmes du type A (6.1). Ensuite, nous définirons les expressions qui serviront à vérifier

les propriétés du système complété avec des équations faisant intervenir des paramètres fxik ,

gxik et hxik de chaque système de sortie comme suit :

C) xi xi fxixi i

xi i xi xi gxi

xi Xi xi xi hxi

F f kF XG X où G g kH REP H h k

= +⎧ ≤⎪

≤ = +⎨⎪ ≤ = +⎩

Nous noterons F , G et H les variables du système complété

Rappelons que l'ajout d'assertions afin de compléter le système a été présenté dans le chapitre

précédent.

COHERENCE

Un système d'équations bien spécifié doit être cohérent pour avoir une solution. Lorsqu’aucun

signal binaire de sortie ne peut être solution d’un système d’équations sans l’ajout

d’hypothèses restrictives sur le comportement des signaux d’entrée, la spécification proposée

correspond à un problème sur-contraint, dû à la présence d’éléments de spécifications

partiellement incohérents entre eux. D'après [5.1], nous avons

1 Rappelons que la semi-confluence n'est pas nécessaire pour l'exécution dans un seul calculateur.

Page 116: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

96

• Un système A est cohérent si 1 0*hyp = où 1 xi xi xi xi xi xihyp f g f h g h= ⋅ + ⋅ + ⋅ .

• Il peut être complété si le système (système C) reste cohérent : 2 3 0 *hyp hyp+ = où

2

3 ( ) ( ) ( )fxi gxi fxi hxi gxi hxi

xi gxi hxi xi fxi hxi xi fxi gxi

hyp k k k k k k

hyp f k k g k k h k k

⎧ = ⋅ + ⋅ + ⋅⎪⎨ = ⋅ + + ⋅ + + ⋅ +⎪⎩

Si le système est incohérent il faut enlever ou modifier des assertions afin de rendre le

système cohérent. Nous proposons l'algorithme 1 pour la vérification/correction de cette

propriété (en 6.4.1).

COMPLETUDE

Un système d'équations bien spécifié doit être complet pour que ce système ait une solution

unique qui puisse être implantée. En effet, la définition d'une fonction solution parmi une

famille de solutions implique un choix dans l'incomplétude. D'après [5.1], nous avons

• Un système A est complet si 4 0*hyp = où 4 xi xi xihyp f g h= ⋅ ⋅ .

• Pour le système complété (système C), il faut que

4 0*hyp = où 4 xi xi xi fxi gxi hxihyp f g h k k k= ⋅ ⋅ ⋅ ⋅ ⋅

Nous proposons la démarche décrite en 6.3.3 pour la vérification/correction de cette propriété.

NON BLOCAGE

Le non blocage est une propriété des fonctions de contrôle de sorties qui doit être respectée.

Un signal de sortie est bloquant s'il peut rester toujours vrai ou bien toujours faux. Par

exemple, les signaux ( ,0*)X SR f= et (0*, )X SR g= sont bloquants.

Pour garantir le non blocage de la commande, il suffit de prouver qu'il existe des transitions

définissant la mise à zéro et la mise à un de chaque sortie. En effet,

• Pour vérifier pendant la synthèse qu'une sortie iX est non bloquante, nous devons

prouver que le système d'assertions, qui définit ce signal, comporte à la fois :

a) au moins une assertion xi if X≤ tel que 0 0*xif U⋅ ≠ et

b) au moins une assertion xi ig X≤ tel que 0 0 *xig U⋅ ≠

• Le système complété (système C) vérifie le non blocage si :

a) 0 0*fxik U⋅ ≠ , si 0 0 *xif U⋅ = et

b) 0 0*gxik U⋅ ≠ , si 0 0 *xig U⋅ =

Page 117: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

97

Si la fonction est bloquante il faut ajouter des assertions afin de garantir le respect de cette

propriété. Nous proposons l'algorithme 3 pour la vérification/correction de cette propriété (en

6.4.3).

SEMI-INSENSIBILITE A L'ORDRE

La semi-insensibilité à l'ordre est une propriété qui n'est demandée qu'aux fonctions à

implanter sur un calculateur qui exécute ces fonctions séquentiellement.

Les systèmes où les fonctions de sorties sont toutes indépendantes entre elles sont insensibles

à l'ordre et en conséquence semi-insensibles à l'ordre. Cependant, la recherche d'au moins un

ordre de calcul qui respecte cette propriété pour des systèmes où les sorties sont dépendantes

n'est pas évident.

Nous ne traiterons dans ce travail que les fonctions de sorties dont l'ordonnancement peut être

déduit à partir d'un graphe de dépendances, de telle sorte que pour une séquence 1 2, ,..., mF F F ,

les fonctions iF n'affectent pas les fonctions jF tel que j i> . Autrement dit, les fonctions jF

ne dépendent pas des fonctions iF .

Afin d'introduire cette démarche, analysons l'exemple suivant :

Supposons les fonctions de sortie 1 3( , )X F u X= , 2 1 2( , , )X F u X X= , 3 ( )X F u= et

4 3( , )X F u X= . Le graphe de dépendance est donné par la figure 34a et d'après ce graphe nous

remarquons qu'il est possible de choisir une des deux séquences indiqués dans la figure 34b,

car 1X et 4X ne dépendent pas l'un d'autre.

Figure 34 a)Graphe de dépendance b) Séquences de calcul possibles

En effet, il s'avère que pour le premier cas ( 2X – 1X – 4X – 3X ) :

1) il est possible de choisir d'abord 2X , car 1X , 3X et 4X ne dépendent pas de 2X , c'est-à-

dire si 2X est calculé avant, la nouvelle valeur de 2X ne changera pas les valeurs attendues

dans le calcul de 1X , 4X et 3X ;

2) En suivant le même principe, nous constatons qu'il est possible de choisir 1X , car 3X e t 4X

ne dépendent pas de 1X ;

Page 118: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

98

3) Il est possible de choisir 4X , car 3X ne dépende pas de 4X ; et

4) Enfin 3X car il est indépendant de 2X , 1X et 4X .

Nous pouvons suivre le même raisonnement pour le deuxième cas.

Remarque :

Nous soulignons que les fonctions qui sont indépendantes entre elles respectent toujours

l'insensibilité à l'ordre. Par conséquent il n'existe aucune contrainte d'ordonnancement pour

ces types de fonctions.

Nous ferons la vérification en utilisant des graphes de dépendances.

Nous remarquons que nous n'avons pas prévu une méthode de correction de cette propriété.

Nous utiliserons cette vérification dans l'exemple 3 au chapitre 8. Les exemples 1 et 2 sont

insensibles à l'ordre car les fonctions de sorties sont toutes indépendantes entre elles.

UNITE-STABILITE [Yed_00b]

L'unité-stabilité est une propriété qui n'est demandée à vérifier que pour une implantation sur

un calculateur qui exécute ces fonctions séquentiellement. Pour un tel calculateur, suite à un

signal d'entrée donné qui provoque un changement d'état, l'unité-stabilité demande de rester

dans cet état si le signal d'entrée ne change pas.

Pour un système incomplet il n'est pas possible de garantir par avance qu'il soit unité stable.

Cependant, il est possible de vérifier que l'évolution de ce système respecte l'unité-stabilité si

le système est cohérent. Ainsi, en considérant xif , xig et xih les variables qui définissent un

système cohérent et incomplet de chaque sortie iX , l'expression suivante, nommée ushyp , doit

être égale à 0* pour tous les états accessibles ( 1 2 pX X X⋅ ).

• La condition 0*ushyp = suivante :

{ }1,

0 1*ii p

us etat etat Xhyp U fouh fouh

⎛ ⎞=⎜ ⎟⎜ ⎟⎝ ⎠

⎛ ⎞= ⋅ ⋅ ⎜ ⎟⎜ ⎟⎝ ⎠

∏ où

{ }1,( )etat xi xi i

i pfouh f h X

= + ⋅∏

est nécessaire et suffisante pour garantir l'unité-stabilité d'un système complet, mais

n'est que suffisante pour un système incomplet (démonstration en annexe E).

• Pour vérifier le système complété, calculer ushyp en considérant :

{ }1,( )etat xi xi i

i pfouh F H X

= + ⋅∏

Page 119: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

99

En conséquence, si l'implantation est prévue sur un calculateur qui exécute ces fonctions

séquentiellement et il s'avère qu'après avoir complété le système, il existe une combinaison

avec laquelle le système n'est pas unité-stable alors l'utilisateur devra modifier la

spécification. Nous proposons l'algorithme 2 (en 6.4.2) en suivant Q5-R2 pour la

vérification/correction de cette propriété.

Remarque :

Les systèmes où les fonctions sont cohérentes et indépendantes entre-elles sont unité-stables.

6.2.2 Propriété intrinsèque : Etats interdits

La SF-T4 : ( ) 0*F X = , définit la restriction d'un comportement faisant intervenir plusieurs

sorties : par exemple l'assertion A4 de l'exemple 2, 0 *Ouvrir Fermer⋅ = interdit que ces deux

actions se déroulent au même temps.

Nous établirons plus bas l'expression à respecter afin de garantir que la SF des sorties ne

provoquera pas que le système évolue vers un état interdit. C'est-à-dire, qu'à la sortie du

calculateur ces états ne sont jamais accessibles.

Expression de vérification

Pour un système incomplet il n'est pas possible de garantir qu'un état à p sorties 1 2 pX X X⋅

n'arrivera jamais. Cependant, il est possible de vérifier que l'évolution de ce système ne

provoquera l'arrivée dans un état interdit. Cette vérification ne peut être garantie que si le

système est cohérent et si et seulement si l'état initial n'est pas dans l'ensemble des états à

interdire. En considérant xif , xig et xih les variables qui définissent un système cohérent

( . . . 0*xi xi xi xi xi xif g f h g h+ + = ) et incomplet ( . . 0*xi xi xif g h ≠ ) d'une sortie iX ; l'expression

suivante, nommée fmhyp doit être égal à 0*. En effet,

• La condition 0 *fmhyp = :

{ } { } { }1, 1, 1,

( ) ( ) 0*fm xj xj j xj xj j ii p i p i p

hyp f h X f h X X∈ ∈ ∈

⎛ ⎞ ⎛ ⎞ ⎛ ⎞= + ⋅ ⋅ + ⋅ ⋅ =⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠

∏ ∏ ∏

est nécessaire et suffisante pour garantir l'état interdit 1 2 pX X X⋅ , d'un système

complet, mais n'est que suffisante pour garantir l'interdiction de cet état pour un

système incomplètement spécifié (démonstration en annexe E).

• Pour vérifier le système complété, calculer fmhyp en considérant xiF , xiG et xiH

au lieu de xif , xig et xih

Page 120: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

100

Corrections.

S'il s'avère qu'il existe une combinaison avec laquelle il est possible d'accéder à un état

interdit ( 0 *fmhyp ≠ ), l'utilisateur devra changer la spécification car il n'y a pas de solution

alors l'utilisateur devra donc modifier la SF-T4 s'il le considère pertinent ou modifier les

spécifications si la SF-T4 doit être respectée. Dans le deuxième cas, nous proposons

l'algorithme 2 (en 6.4.2) en suivant Q5-R2 pour la vérification/correction de cette propriété.

La vérification/correction devra être faite pour les systèmes de chaque sortie 1 2( , , , )pX X X

qui définissent l'état interdit.

REMARQUE :

La dernière expression ( fmhyp ) est calculée pour des systèmes critiques où l'interdiction à

l'état doit être respectée même en cas de panne de capteurs. Pour des systèmes non

critiques il est possible de considérer la SF-T3 en multipliant fmhyp par 0U .

Nous venons de présenter les propriétés à respecter et les expressions à utiliser pour vérifier

l'accomplissement de ces propriétés individuellement. Nous soulignons que la séquence de

vérification des propriétés est cependant très importante car les corrections demandent d'une

part d'enlever des assertions contraignantes et d'autre part d'ajouter des assertions manquantes.

Les choix pour faire les corrections, ne peuvent pas être faites dans n'importe quel ordre car

on peut nuire à la résolution ou même arriver à un système sans solution. De plus, la

résolution de l'incomplétude doit considérer aussi le respect des propriétés. Nous allons

détailler ensuite la méthode proposée en prenant en compte ces considérations.

6.3 Méthode de résolution

Les quatre étapes de la méthode, introduite dans 6.1, sont détaillées dans cette section ainsi

qu'il est montré dans la figure 35. Ces étapes seront expliquées à l'aide d'exemples dans les

chapitres suivants.

Nous proposerons la séquence de la figure 35 car un choix fait par l'utilisateur pour faire

respecter une propriété individuellement a cependant une influence sur le respect d'autres

propriétés. En effet, les corrections, pour faire respecter les propriétés, demandent d'une part

d'enlever des assertions contraignantes et d'autre part d'ajouter des assertions manquantes.

Nous déconseillons de regrouper toutes les contraintes afin de pouvoir identifier les

spécifications posant problème. Sinon l'utilisateur n'aurait aucun point de repère pour décider

la suite.

Page 121: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

101

Figure 35 Méthode de conception formelle de la commande

Remarques :

1) Notons que la vérification et la correction des propriétés sont faites tout au long des trois

dernières étapes de la méthode.

1) Nous soulignons le fait que nous ferons référence à l'utilisation de trois algorithmes,

lesquels sont donnés dans 6.4. Ces algorithmes servent à vérifier les propriétés, par rapport

aux expressions données dans 6.2, et de les corriger, si nécessaire, de façon individuelle.

6.3.1 Regroupement de la SF

Nous proposons une démarche en sept pas afin de synthétiser les équations et les regrouper en

obtenant les deux groupes de systèmes et les deux relations présentés en 6.1. La démarche est

mise dans l'annexe E, car le but principal de cette démarche n'est que d'expliquer la suite.

Nous soulignons dans la démarche les deux points suivants : 6.3.1

1) Nous supposons que toutes les spécifications peuvent se ramener, en utilisant des

théorèmes, aux 5 types de spécifications présentés dans les chapitres précédents.

Par exemple (en utilisant X[2.25]X et X[2.37]X ⇔ X[2.34]X) :

1 2 1 21 2 3 4

3 4 3 4

( ) ( ) 0* ( ) ( )( ) ( ) ( ) ( ) 0*

( ) ( ) 0* ( ) ( )F u F X F u F X

F u F X F u F XF u F X F u F X

⎧⎧ ⋅ = ≤⎪ ⎪⋅ + ⋅ = ⇔ ⇔⎨ ⎨⋅ = ≤⎪ ⎪⎩ ⎩

2) La décomposition des SF-T2 qui ont un état d'arrivée : ( , ) jF u X Z≤ , en utilisant X[2.47]X afin

de les exprimer comme des SF-T1 parce que nous recherchons la résolution des systèmes

élémentaires des signaux de sorties [Med_03].

Page 122: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

102

Par exemple, l'assertion A5 de l'exemple 3 :

_ __ _

_ _P depose P haute Avancer

P depose P haute Avancer DescendreP depose P haute Descendre

⎧ ⋅ ≤⎪⋅ ≤ ⋅ ⇔ ⎨⋅ ≤⎪⎩

Remarque :

Nous décomposons la spécification avec l'objectif d'éviter de faire la composition des

sorties pour prouver les propriétés du comportement global. En effet, l'idée de base de

notre méthode est de décomposer les propriétés en les exprimant par rapport aux sorties

plutôt que de composer les sorties pour vérifier le comportement global du système. Nous

soulignons que les expressions de vérification ont été définies ainsi. Nous nous proposons

d'éviter le problème de l'explosion combinatoire qu'existe dans les méthodes basées dans la

Théorie de la Commande Supervisée.

6.3.2 Vérification et corrections des propriétés

Dans cette étape, de vérification et correction des propriétés, nous ferons une synthèse afin de

vérifier la cohérence de la SF par rapport aux propriétés. Nous ne faisons dans cette étape que

la vérification des propriétés qui puissent être vérifiées pour des systèmes incomplètement

spécifiés : la cohérence, les états interdits et l'unité stabilité.6.3.2

COHÉRENCE

Vérifier/corriger 1hyp (système incomplets) en enlevant ou modifiant des assertions. Utiliser

l'algorithme 1 pour les systèmes de la forme A et B.

ÉTATS INTERDITS

Il existe deux options de correction pour la relation d'égalité (4) concernant les états interdits

de systèmes incomplets. Supposons l'état interdit 1 2 pX X X⋅ :

• Si après analyse de la part de l'utilisateur la relation 1 2( )fm phyp X X X⋅ ⋅ doit être

toujours fausse alors utiliser l'algorithme 2 en considérant la procédure Q5-R2.

• Si après analyse de la part de l'utilisateur l'expression 1 2( )fm phyp X X X⋅ ⋅ n'est pas en

réalité toujours fausse, il faut ajouter alors une assertion tel que

1 2 )fm phyp ( X X X Etat_non_interdit⋅ ⋅ ≤ où 1 2 )pEtat_non_interdit ( X X X≤ ⋅

Page 123: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

103

UNITÉ-STABILITÉ

Vérifier/corriger ushyp (système incomplets) en enlevant ou en modifiant des assertions.

Utiliser l'algorithme 2 en considérant la procédure Q5-R3 pour tous les états non interdits.

Remarque :

Le comportement global d'un système dépend des systèmes de sortie et vice-versa. Les

systèmes de comportement global doivent rester cohérents avec les systèmes des sorties

suite à une proposition de changement de la SF pour la correction d'une propriété du

comportement global tels que l'état interdit et l'unité stabilité.

Nous proposons l'algorithme 2 (6.4.2) en considérant la procédure Q5-R2 et Q5-R3 qui

prennent en compte cette problématique. Dans l'exemple 3 nous montrons cette

problématique.

6.3.3 Résolution de l'incomplétude

Le système de chaque sortie doit vérifier la complétude. L'expression à vérifier est définie par

4hyp . Nous partons du principe que chaque système de sortie iX (vérifié et corrigé dans la

section précédente) peut être complété avec des équations faisant intervenir les paramètres

fxik , gxik et hxik . Il est exigé cependant que les choix faits pour compléter le système

respectent aussi toutes les propriétés de 6.2. En effet, les choix de ces paramètres sont

restreints par la vérification des propriétés et en plus par le mode d'exécution du contrôleur s'il

exécute les fonctions de contrôle en séquentiel.6.3.3

Bien qu'il est possible de faire la vérification de la somme de toutes ces contraintes, nous

ferons la vérification de chaque propriété individuellement afin de faire connaître à

l'utilisateur quel est la cause du non respect d'une spécification et qu'il puisse réagir en

conséquence pour corriger la spécification.

En considérant que l'utilisateur, après une analyse de l'incomplétude, peut ajouter des

assertions à cause d'oublis dans la SF nous proposons ci-dessous une démarche de vérification

après l'ajout d'une ou plusieurs assertions.

Page 124: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

104

Démarche de vérification/correction :

La propriété à vérifier est 4hyp du système calculé dans la section précédent. Pour la

vérification/correction de cette propriété nous proposons l'algorithme 2 (en 6.4.2) en suivant

d'abord l'option Q4-R32 .

Si le système analysé n'est pas complet alors suivre l'option Q5-R2 après avoir reçu la réponse

de l'utilisateur, c'est-à-dire fxik , gxik et hxik . Cette option validera que les assertions

introduites par l'utilisateur vérifient les autres propriétés avant de continuer.

L'option Q5-R2 de cet algorithme considère la séquence de vérification des propriétés

suivante :

A) Non-blocage : Vérifier cette propriété pour le système de chaque système des sorties iX

(voir 6.2.1). En cas de besoin utiliser l'algorithme 3 pour ajouter des assertions. Si la SF a

été modifiée suite à un ajout d'assertion, recommencer la résolution (6.3.3).

B) Cohérence : Vérifier/corriger cette propriété pour le système de chaque système des sorties

iX , en enlevant ou modifiant des assertions..

C) États interdits : Calcul de la condition d'existence du système cohérent respectant les états

interdits ( fmhyp ). En cas de non respect suivre la même procédure du 6.3.2 pour les états

interdits et recommencer la résolution (6.3.3), car la SF a été modifiée.

D) Unité-stabilité : Pour une implantation prévue en exécution séquentielle, calculer la

condition d'existence du système cohérent respectant l'unité-stabilité ( ushyp ).En cas de non

respect suivre la même procédure du 6.3.2 pour l'unité stabilité et recommencer la

résolution (6.3.3), car la SF a été modifiée.

E) Continuer l'algorithme 2 afin de vérifier si l'incomplétude est enlevée.

Remarques :

1) Si 4f g hk k k hyp+ + = , utiliser les expressions calculées pour un système complet.

2) Dans l'exemple 2 et 3, nous choisirons de laisser toute l'incomplétude ( 4hyp ) dans l'état

précédant (mise en mémoire) : 0 *fk = , 0*gk = et 4hk hyp= . Ceci afin de présenter la

2 L'option Q4-R3 de cet algorithme restreint les questions à l'utilisateur à 4 0hyp U⋅ afin de ne poser des

questions que pour les signaux que puisse arriver

Page 125: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

105

démarche pour le point 1 de cette remarque et en plus, pour montrer que, pour des cas

d'étude, une démarche de résolution peut être systématisée.

3) Nous précisons cependant que dans la pratique la systématisation d'une réponse tels que la

mise à 1, à 0 ou en mémoire de toute l'incomplétude, doit se prendre avec mesure. Nous le

mettons en évidence dans la résolution de l'exemple 1 et 2.

CALCUL DES FONCTIONS DE SORTIES :

Une fois que tous les systèmes de sorties sont complets et que toutes les propriétés sont

respectées il est possible de calculer la solution des fonctions de sortie. Ces fonctions de

sorties est exprimé par un SR ou un RS comme suit :

N ( , )i xi xiX SR F G= ou bien ( , )i xi xiX RS F G=

6.3.4 Calcul et implantation de la fonction des sorties

L'implantation de la fonction de contrôle peut se réaliser sur un calculateur exécutant les

fonctions de contrôle en parallèle ou séquentiel (voir la figure 36). Si les fonctions des sorties

sont indépendantes les unes par rapport aux autres alors l'implantation sur les deux types de

calculateurs est possible car la fonction à implanter iF est alors égale à la fonction de chaque

sortie iX dans les deux calculateurs.6.3.4

Figure 36 Implantation de la fonction de contrôle, exécuté en : a) parallèle (par exemple en logique câblée) b) séquentielle (par exemple en programme ladder).

Le calculateur qui exécute les fonctions de contrôle en séquentiel est utilisé couramment dans

l'industrie et les fonctions des sorties à implanter sur ces calculateurs sont représentées par les

opérations SR et RS. Rappelons cependant que la fonction à implanter sur un calculateur

séquentiel, n'est pas forcément la même fonction que la fonction de sortie du calculateur. Or,

Page 126: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

106

si la fonction de sortie respecte la semi-insensibilité à l'ordre alors la même fonction de sortie

peut être implantée sur le calculateur séquentiel en respectant le même ordre dans lequel a été

prouvé la semi-insensibilité à l'ordre.

La vérification et la correction de l'unité-stabilité ont été introduites dans la section précédente

(point D) mais pas la semi-insensibilité à l'ordre parce que :

1) Pour un calculateur exécutant les fonctions de contrôle en séquentiel, il faut établir au

moins une séquence d'exécution afin de vérifier la semi-insensibilité à l'ordre.

2) Nous n'avons pas encore une expression pour traduire cette propriété afin de garantir en

avance le respect de la SF ni pour un système incomplet ni pour un système complet.

Nous nous limitons aux fonctions de sorties dont l'ordonnancement peut être déduit à partir

d'un graphe de dépendances (voir 6.2.1). Nous précisons que ce graphe doit être construit à

partir du système de sorties.

Enfin, les mêmes fonctions des sorties calculées en 6.3.3 et représentées par les opérations SR

ou RS peuvent être implantées sur le calculateur exécutant les fonctions de contrôle en

séquentiel.

D'autre part, pour un calculateur exécutant les fonctions de contrôle en parallèle, la fonction

calculée peut être implanté directement en utilisant les variables xiF , xiG ou bien xiH . Nous

allons donner à chaque exemple, l'implantation sur un tel calculateur. La fonction à implanter

sur un tel calculateur peut être exprimée par une équation récurrente, tel que :

N ( )( ) ( ) ( )i xi fxi xi gxi i xi fxi xi gxi iX F k G k x F k G k x= + + + ⋅ = + + ⋅ ⋅

6.4 Algorithmes de vérification des propriétés

A continuation nous allons donner les trois algorithmes de vérification/correction des

propriétés selon la caractéristique de la propriété à vérifier (égale à 0* ou différent de 0*) et

l’action à suivre pour faire la correction (ajouter ou enlever d’assertions). Le but de présenter

ainsi les algorithmes est de permettre l’inclusion dans la méthode de nouvelles propriétés qui

puisse être définies plus tard.

Ces algorithmes servent en premier instance comme un outil de vérification des propriétés au

cours de la synthèse. En cas d’un non respect de la propriété, une démarche est proposée afin

de surmonter le non respect de la propriété à l’aide de l’utilisateur.

Page 127: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

107

6.4.1 L'algorithme 1 : 0*vhyp = , correction par l’enlèvement des contraintes.

Cet algorithme (voir figure 37) représente les pas à suivre pour vérifier et, si nécessaire,

corriger une SF contraignante afin de respecter la propriété car la recherche de solutions pour

le système d’équations qui la représente oblige, pour établir la forme générale du signal de

sortie solution, d’introduire des hypothèses restrictives non admissibles sur le comportement

des signaux d’entrée. Dans cet algorithme il est prévu la communication avec l'utilisateur en

lui posant des questions précises afin que le système soit modifié par l'utilisateur lui-même.

La sortie de l'algorithme est le système vérifié ou bien, en cas d'échec et sans réponse de

l'utilisateur, la sortie serait le message de non accomplissement de la propriété en question. La

démarche de cet algorithme sera détaillée dans le premier exemple de ce chapitre.

Avant d'expliquer l'algorithme, nous précisons que si la SF comporte des spécifications de

fonctionnement du type 3 (SF-T3), alors l'introduction de cette information s'impose (Eu0_1) et

deux pas additionnels sont ajoutés (Pu0_1 et Pu0_2) qui sont signalés en vert sur la figure. Ceci

est la conséquence de que la SF-T3 comporte des informations sur les entrées qui ne sont pas

sensés à arriver dans un fonctionnement normal et les pannes ne sont pas prévues. Dans ce cas

là, l'information de la SF-T3 peut être enlevé de l'algorithme de vérification parce que :

Si 0 *a = et a X≤ alors nous avons 0* X≤ et ceci est toujours vrais (X[2.31]).

La démarche de l'algorithme est la suivante :

Le premier pas à faire c'est lire la SF-T3 (Eu0_1), ensuite enlever de la vérification ces cas de

figure (Pu0_1) car U0 est déjà égal à 0*. Ensuite, calculer la propriété (P1) et vérifier si la

propriété est accomplie (Q1), si ce le cas l'algorithme finira en donnant comme réponse le

même système (P2) comme sortie vérifiée (S3) car le nombre de vérifications nv =1 (Q3).

D'autre part, en cas d'échec (Q1), il est prévue de calculer la partie du système qui accomplie

la propriété (P3). Après, deux options sont prévues en avance (Q4), l'arrête de l'algorithme

(Q4-R1) et demander à l'utilisateur de modifier le système (Q4-R2) en enlevant des assertions

qui font que le système soit très contraignant. Ensuite, nous analysons l'information donnée

par l'utilisateur si la réponse n'apporte aucune nouvelle information (Q2), il faut revenir à faire

le choix (Q4). En cas où, il apporte une nouvelle information alors nous complémentons la

SF-T3 (Pu0_2), sinon nous prenons en compte ces informations (P4) pour relancer une nouvelle

vérification (nv=2) avec ce nouveau sous-système : fav, gav et hav (P5). Nous continuerons la

vérification le nombre de cycles de vérifications (nv) que soient nécessaires afin que

l'utilisateur arrive à surmonter le non accomplissement de la propriété en revenant par le point

Page 128: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

108

2 (au moins qu'il décide de ne pas donner plus d'informations sans avoir surmonté le non

accomplissement de la propriété en sortant par R1 à la question Q4). Si le non

accomplissement est surmonté alors la nouvelle fonction modifiée (P6) sera renvoyée comme

sortie de l'algorithme à l'utilisateur (S3).

Nous soulignons, que cet algorithme permet une démarche évolutive dans lequel l'utilisateur

afin d'enlever les contraintes (R2) donne des nouvelles assertions. Pourtant, celles-ci

n'obligent pas à refaire la vérification de tout le système d'équations, sinon uniquement de la

partie ajoutée par l'utilisateur (P4).

6.4.2 L'algorithme 2 : 0*vhyp = , correction par l'ajout des assertions.

Cet algorithme, montré dans la figure 38, représente les pas à suivre pour corriger une SF afin

de respecter la propriété en ajoutant des assertions au système. Ces corrections ne peuvent pas

être faites que si le système est incomplet. Dans cet algorithme, de la même manière que

l'algorithme précédent, il est prévu la communication avec l'utilisateur en lui posant des

questions précises afin que le système soit modifié par l'utilisateur lui-même et que les

propriétés soient respectées. La sortie de l'algorithme est le système vérifié ou bien, en cas

d'échec et sans réponse de l'utilisateur, la sortie serait le message de non accomplissement de

la propriété en question. Cet algorithme sera appliqué dans les exemples.

Avant d'expliquer l'algorithme, nous précisons que si la SF comporte des spécifications de

fonctionnement du type 3 (SF-T3), alors l'introduction de cette information, n'est pas

considérée car la propriété doit être prouvé en considérant U0.

La démarche de l'algorithme est très semblable à l'antérieur à différence près des points

suivants : Il n'est pas considéré les SF-T3 car la propriété doit être prouvé en considérant U0.

Ainsi, les pas Eu0_1, Pu0_1 et Pu0_2, ne sont calculés. La question (Q1) est la même : si la

réponse est positive alors la sortie de l'algorithme est prévue (P2, Q et S3).

Dans le cas contraire, où la propriété n'est pas accomplie alors la question au concepteur n'est

pas d'enlever de contraintes en choisissant une option comme dans le dernier algorithme. Il est

demandé (Q4), en contrepartie, à l'utilisateur de donner ses choix sur la partie qui n'est pas

encore choisit pour faire accomplir la propriété (R2). S'il décide de ne pas donner aucune

assertion alors l'algorithme s'arrête (R1), sinon une fois reçue la réponse non nulle (Q2) alors

utiliser Q5-R1 et passer directement à (P4) car il ne reste qu'à vérifier que le système avec la

nouvelle assertion reçue accompli la propriété (P5).

Page 129: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

109

Remarques :

1).Les pas à suivre pour Q5-R2 ont été définis dans le chapitre 6 et cette option sera utilisée

pour la résolution de l'incomplétude.

2) Nous avançons que pour résoudre la complétude une option particulière est prévue (Q4-

R3) afin de ne demander à l'utilisateur que des informations sur des entrées qui puissent

arriver. C'est algorithme est définie et utilisé dans l'exemple 1 (voir 7.1.3)

Procédure [Q5-R2] de l'algorithme 2 :

Cette partie de l'algorithme 2 a été définit pour simplifier les corrections de la complétude.

Comme 0U n'arrive jamais, ça ne vaut pas la peine de demander à l'utilisateur de faire un

choix car n'importe quel réponse de l'utilisateur n'aura aucun effet sur le comportement du

système en absence de défaillances. Nous considérons donc les pas suivants afin de considérer

0U dans la résolution de l'incomplétude (voir 6.3.2.2) :

1) enlever U0 de la question à l'utilisateur : 0'v vhyp hyp U= ⋅

2) Si ' 0*vhyp ≠ , continuer au Q4-R2 de l'algorithme 2, en posant la question à

l'utilisateur

3) Si ' 0*vhyp = alors finir l'algorithme 2.

Procédure Q5-R2 de l'algorithme 2 :

Cette partie de l'algorithme 2 a été définit pour la résolution de l'incomplétude (voir 6.3.3)

A) Non-Blocage : Si une sortie est bloquante (6.2.1) utiliser l'algorithme 3 pour ajouter

d'assertions si le système de cette sortie est incomplet. Si le système est bloquant et

complet alors il n'y a pas de solution car le système est très contraignant. Si la SF a été

modifiée suite à un ajout d'assertion, recommencer la résolution (6.3.3).

B) Cohérence : Calcul de la condition d'existence du système de sorties cohérent ( 1 0*hyp = ).

En cas de non respect, faire les corrections nécessaires en utilisant l'algorithme 1.

C) États interdits : Calcul de la condition d'existence du système cohérent respectant les états

interdits ( fmhyp ). En cas de non respect suivre la procédure du 6.3.2 pour les états interdits

et recommencer la résolution (6.3.3), car la SF a été modifiée.

D) Unité-stabilité : Pour une implantation prévue en exécution séquentielle, calculer le respect

de l'unité-stabilité ( ushyp ) du système cohérent. En cas de non respect suivre la procédure

du 6.3.2 pour l'unité-stabilité et recommencer la résolution (6.3.3), car la SF a été modifiée.

E) Continuer l'algorithme 2 au P4 afin de vérifier si l'incomplétude est enlevée.

Page 130: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

110

6.4.3 L'algorithme 3 : 0*vhyp ≠ par l'ajout des assertions

Cet algorithme, montré dans la figure 39, représente les pas à suivre pour corriger une SF afin

de respecter la propriété en ajoutant des assertions au système. Ces corrections ne peuvent pas

être faites que si le système est incomplet. Dans cet algorithme, de la même manière que

l'algorithme 1, il est prévu la communication avec l'utilisateur en lui posant des questions

précises afin que le système soit modifié par l'utilisateur lui-même et que les propriétés soient

respectées. La sortie de l'algorithme est le système vérifié ou bien, en cas d'échec et sans

réponse de l'utilisateur, la sortie serait le message de non accomplissement de la propriété en

question. Cet algorithme sera appliqué dans les exemples.

Avant d'expliquer l'algorithme, nous précisons que si la SF comporte des spécifications de

fonctionnement du type 3 (SF-T3), alors l'introduction de cette information s'impose (Eu0_1) et

deux pas additionnels sont ajoutés (Pu0_1 et Pu0_2) qui sont signalés en vert sur la figure. Ceci

est dû au fait que le calcul théorique de la propriété pourrait donner une fausse information

par rapport au système physique. En effet, la vérification théorique peut donner comme

réponse que hyp2 a une valeur : 2 0*hyp ≠ mais que cette valeur n'arrive jamais dans le

système physique (information donné par SF-T3).

La démarche de l'algorithme est très semblable au premier algorithme à différence près des

points suivants : Nous recherchons à avoir si au moins une condition accomplie la propriété,

si ce le cas la sortie de l'algorithme est prévue (Q1), (P2), (Q3) et (S3), en prenant en compte

l'information de la SF-T3 (Pu0_1). D'autre part, si la propriété n'est pas accomplie (Q1) mais le

système est déjà complètement spécifié (Q2) alors il est possible d'assurer que la propriété

n'est pas respectée. C'est-à-dire, la fonction de contrôle est déjà définie et la propriété n'est pas

respectée. Dans le cas contraire, où la propriété n'est pas accomplie alors la question au

concepteur n'est pas d’enlever de contraintes en choisissant une option comme dans le dernier

algorithme. Il est demandé (Q4), en contrepartie, à l'utilisateur de donner au moins une

assertion parmi l'incomplétude pour faire accomplir la propriété (R2). S'il décide de ne pas

donner aucune assertion alors l'algorithme s'arrête (R1), sinon une fois reçue la réponse non

nulle (Q2) alors il ne reste qu'à vérifier que la nouvelle assertion reçue fasse accomplir la

propriété (P5).

Les diagrammes de flux des algorithmes proposés :

Page 131: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

111

Figure 37 Algorithme 1, vérification de la propriété : hyp = 0* et corrections par

enlèvements des contraintes

Page 132: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

112

Figure 38 Algorithme 2, vérification de la propriété : hyp = 0* et corrections par l'ajoute des

assertions

Page 133: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

113

Figure 39 Algorithme 3, vérification de la propriété : hyp ≠ 0* et corrections par l'ajoute des

assertions

Page 134: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 6 : Synthèse d'un contrôleur logique à partir des spécifications formelles

114

6.5 Conclusion

La méthode a été développée afin de permettre de résoudre le plus de cas possibles en suivant

trois algorithmes généralisés par les propriétés à respecter et la correction proposée. Ces

algorithmes indiquent les pas à suivre afin de corriger et de surmonter le non

accomplissement des propriétés. Il est possible cependant de cibler ces algorithmes par

rapport à la propriété à vérifier et à la phase de vérification (2 ou 3).

Cette méthode prévoit une démarche qui permet à l'utilisateur de donner de nouvelles

informations afin d'enlever le non respect des propriétés. Afin d'identifier le mieux possible la

cause, nous avons prévu l'analyse individualisée de chaque propriété.

D'ailleurs, nous montrerons qu'il n'est pas toujours nécessaire de suivre la trace d'un système

pour garantir le respect de la SF et les propriétés extrinsèques. L'idée de base de cette

démarche est de travailler avec un système d'équations par sortie. A partir de ce système

d'équations nous allons vérifier/corriger les spécifications de telle sorte à respecter les

propriétés demandées.

La clef est de calculer les expressions de vérification des propriétés par rapport aux systèmes

de sorties (forme A). Nous voulons ainsi éviter le problème de l'explosion combinatoire de la

Théorie de la Commande Supervisée.

Page 135: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

115

Chapitre 7

Chapitre 7

Dans ce chapitre nous présentons la résolution des deux premiers exemples. A travers la

résolution, nous illustrons l'intervention de l'utilisateur pour corriger les incohérences dans la

SF par rapport aux propriétés attendues.

Les exemples sont introduits par degré de complexité afin de présenter la méthode d'une façon

évolutive. En effet, le premier exemple ne considère que des SF-T1 et le deuxième introduit

des SF-T3, SF-T4 et en plus une assertion incluant l'opération TON.

Nous allons expliquer la méthode de synthèse, d'abord en utilisant l'exemple 1 (mono-sortie)

pour illustrer les principes de la méthode; ensuite nous allons introduire la méthodologie de

résolution pour des systèmes multi-sorties avec l'exemple 2 (à deux sorties).

Page 136: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

116

7. Études de cas : Exemple 1 et 2

Nous rappelons que la méthode proposée repose sur la résolution d'un système d'équations

écrit en algèbre ø qui représente la SF. Le but est de calculer les fonctions de sorties iX

exprimées par les opérations SR ou RS (voir la figure 40) tout en respectant la SF donnée et

les propriétés attendues.

Figure 40 Représentation des entrées-sorties d'un SLS et des équations solutions

Dans ce chapitre, nous résolvons d'abord le premier exemple de la commande d'un système

mono-sortie : le contrôle d'une pompe de remplissage. Le deuxième exemple, résolu ensuite,

concerne la commande d'un système à deux sorties : l'ouverture et la fermeture d'un portail.

7.1 Résolution de l'exemple 1 : Système à une sortie

Le système étudié dans cette section a été formalisé dans la section 4.3.1. Le système

d'équations formalisé en ø est le suivant :

1) _2) _3) _

A Res vide PomperA Res plein PomperA Bas vide Pomper

⎧ ≤⎪

≤⎨⎪ ≤⎩

L'objectif est donc d'exprimer la sortie Pomper en utilisant une opération SR ou bien une

opération RS, tout en respectant la spécification donnée. Les trois assertions A1, A2 et A3, ont

été établies manuellement indépendamment les unes des autres. Si leur formalisation sur

ø permet de s’affranchir des imprécisions du LN, rien ne garantit que la réunion de ces

expressions formelles constitue un système d'équations ayant une solution qui respecte en plus

les propriétés extrinsèques.

Nous allons suivre la méthode décrite dans le chapitre précédent mais nous soulignons que

pour un système à sorties indépendantes sans SF-T4 :

X U Contrôleur logique

j 1 1

j 2 2

1 2 1 2j

X ( , )ou bien X ( , )tel que , , , ( , )X : le j ème élément des sorties

SR f gRS f g

f f g g F U X

==

=

m n

Page 137: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

117

1) La cohérence garantit la stabilité de chaque sortie individuellement donc le fait de prouver

la cohérence des sorties implique en même temps l'unité-stabilité.

2) La vérification de la semi-insensibilité à l'ordre n'est pas nécessaire car aucune restriction

d'ordre de calcul n'est nécessaire quand les sorties sont toutes indépendantes entre-elles.

Par conséquent, pour qu'un système n'ayant que des SF-T1 (et SF-T3 d'ailleurs) ait une

solution implantable et correctement spécifiée le système d'équations doit respecter les

propriétés extrinsèques suivantes : 1) cohérence, 2) complétude, 3) non blocage des sorties.

Ainsi, les pas à suivre pour la résolution d'un système à sorties indépendantes sont donc,

Pas 1) Regroupement de la spécification de fonctionnement (6.3.1).

Pas 2) Vérification et corrections des propriétés :

• Vérification et résolution des incohérences du système de sorties (6.3.2).

Pas 3) Résolution de l'incomplétude (6.3.3) :

• Condition d'existence du système des sorties cohérent et complet.

• Conditions à vérifier afin que les sorties ne soient pas bloquantes.

• Méthodologie de vérification/correction pour la résolution de l'incomplétude.

Pas 4) Implantation (6.3.4) :

• Diagramme d'implantation de la fonction de sortie.

7.1.1 Regroupement de la spécification de fonctionnement

En utilisant l'équation X[2.46]X nous allons regrouper les assertions A2 et A3, comme suit :

{

1 _1) _

2 _2 3) ( _ _ )

3 _

A Res vide PomperA Res vide Pomper

A Res plein PomperA A Res plein Bas vide Pomper

A Bas vide Pomper

⎧ ≤⎧ ≤⎪⎪ ⎪⎧ ≡≤⎨⎪ ⎨ ⋅ + ≤⎨⎪ ⎪⎩≤⎪⎩⎪⎩

7.1.2 Vérification et corrections des propriétés

RÉSOLUTION DES INCOHÉRENCES DU SYSTÈME DE SORTIES

Nous suivons l'algorithme 1 pour la vérification et la résolution des incohérences. (6.3.2).

D'après [5.1], il est possible de calculer la cohérence de ce système. En effet, en utilisant 1hyp

de [5.1], nous avons (à l'étape P1 du premier cycle de calcul de cet algorithme) :

P1_1) ( )1_ ( _ _ )

_ 0* _ _ 0*

_ ( _ _ )

Res vide Res plein Bas videhyp Res vide Res plein Bas vide

Res vide Res plein Bas vide

⎛ ⎞⋅ +⎜ ⎟=

+ ⋅ + + ⋅⎜ ⎟⎝ ⎠

= ⋅ +

Page 138: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

118

Ce résultat n'est pas égale à 0*. Cela veut dire que le système est incohérent. C'est à

l'utilisateur donc de donner des réponses pour enlever l'incohérence.

ANALYSE PARTIELLE :

En observant le système, il avère que les signaux venant des capteurs _Res vide et

_Res plein ne sont jamais vrais au même temps en absence de défaillances de capteurs. En

effet, la citerne ne peut pas être pleine ( _Res plein ) et vide au même temps ( _Res vide ) en

mode normal de fonctionnement. Supposant qu'aucune démarche additionnelle en cas de

défaillances n'est prévue par l'utilisateur, nous recevrons alors comme réponse une SF-T3

qui sera intégrée à la SF comme l'assertion suivante :

REPONSE : 4) _ _ 0 *A Res vide Res plein⋅ =

En suivant l'algorithme 1, à l'étape P1 du deuxième cycle de calcul, nous obtenons la nouvelle

valeur de 1hyp :

P1_2) 1 _ _ _hyp Res plein Res vide Bas vide= ⋅ ⋅

Le système reste incohérent car le dernier résultat n'est pas égal à 0*.

ANALYSE PARTIELLE :

En continuant avec le choix de consulter l'utilisateur, nous lui demandons en deuxième

instance de nous informer sur les modifications à faire à la spécification. Car, nous

n'attendons plus de nouvelles SF-T3 à ajouter. En effet, le système est contraint et sans

solution autrement dit INCOHERENT. Ceci peut se mettre en évidence à partir du dernier

résultat de 1hyp . En effet, la spécification telle qu'elle est, à ce point de la synthèse,

implique le sous système suivant :

__ _ _

( _ _ )_ _ _

_ _ 0 *

Res vide PomperRes plein Res vide Bas vide Pomper

Res plein Bas vide PomperRes plein Res vide Bas vide Pomper

Res vide Res plein

⎧ ≤⎧ ⋅ ⋅ ≤⎪ ⎪+ ≤ ⇒⎨ ⎨

⋅ ⋅ ≤⎪⎪ ⎩⋅ =⎩

A partir de l'évolution du système physique, il peut être constaté que 1hyp peut arriver,

c'est-à-dire ( )| _ _ _ ( ) 1i it Res plein Res vide Bas vide t∃ ⋅ ⋅ = . Cela veut dire qu'aux instants it ,

selon la spécification, l'utilisateur voudrait démarrer la pompe et l'arrêter avec le même

signal d'entrée : _ _ _Res plein Res vide Bas vide⋅ ⋅ . Sans plus d'information, il est impossible

de proposer une solution car la cohérence est une condition nécessaire pour avoir une

solution.

Page 139: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

119

En suivant avec l'algorithme 1, la question à poser à l'utilisateur (Q4-R2), qui ressort tout

de suite, est de savoir quoi faire avec la condition d'incohérence ( 1hyp ) : il faut mettre la

pompe en route, l'arrêter ou simplement la laisser dans son état précèdent

{ , , }PomperPomper Pomper REP ? Il faut donc que l'utilisateur fasse un choix sur ce dernier

sous-système incohérent.

Nous allons supposer pour cet exemple, que son besoin est de protéger la pompe car elle ne

doit pas fonctionner à vide. Il décide donc d'introduire l'assertion suivante qui n'a pas été

considérée au départ :

REPONSE : { 0*, _ _ _f h g vk k k hyp Res plein Res vide Bas vide= = = = ⋅ ⋅

C'est-à-dire, 5) _ _ _A Res plein Res vide Bas vide Pomper⋅ ⋅ ≤

De ce fait, en suivant l'algorithme 1, à l'étape P1 du troisième cycle de calcul, nous obtenons

la nouvelle valeur de 1hyp :

P1_2) 1 0*hyp =

N LE SYSTÈME DE LA SF A ÉTÉ MODIFIÉ AFIN DE RESPECTER LA COHÉRENCE : 1hyp = 0 * .

En continuant l'algorithme 1 de vérification et de correction de la cohérence nous obtenons

comme résultat le système, de cette sortie, cohérent suivant avec les modifications faites par

l'utilisateur : 1) _ _ _

2 3 5) _ _ _ _4) _ _ 0*

coh

coh

A Res vide Res plein Bas vide PomperA A A Res vide Res plein Bas vide Res plein PomperA Res vide Res plein

⎧ ⋅ ⋅ ≤⎪

⋅ ⋅ ⋅ + ⋅ ≤⎨⎪ ⋅ =⎩

7.1.3 Résolution de l'incomplétude

Pour cet exemple, nous allons suivre la démarche où l'utilisateur choisira la partie incomplète

de la commande (6.3.1) au fur et à mesure de l'utilisation de l'algorithme 2 pour vérifier et

corriger la complétude 0*f g h⋅ ⋅ = en suivant l'option Q5-R2 de cet algorithme afin de

respecter les autres propriétés :7.1.3

En suivant l'algorithme 2, dans un premier cycle de calcul, nous obtenons pour la vérification

de l'incomplétude 4hyp au P1 le résultat suivant après simplification en utilisant notre

programme développé en Mathématica :

Page 140: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

120

P1_1) 4 _ _ _ _ _hyp Res vide Res plein Bas vide Res plein Res vide= ⋅ ⋅ + ⋅

Cette expression n'est pas égale à 0* et cela veut dire que le système n'est pas

complètement spécifié (incomplète).

En suivant la démarche prévue, nous suivons l'option Q4-R3 afin de ne pas inclure 0U dans la

question à l'utilisateur :

PROCÉDURE [Q4-R3] DE L'ALGORITHME 2 :

1) 4 0( _ _ _ _ _ )( _ _ _ _ _ ) _ _

_ _ _

ahyp Res vide Res plein Bas vide Res plein Res vide URes vide Res plein Bas vide Res plein Res vide Res plein Res vide

Res vide Res plein Bas vide

= ⋅ ⋅ + ⋅ ⋅= ⋅ ⋅ + ⋅ ⋅ ⋅= ⋅ ⋅

2) Nous continuons au point 2 du Q4-R3, en posant la question à l'utilisateur car 4 0*ahyp ≠ .

Nous demandons donc à l'utilisateur de compléter la spécification du système. C'est-à-dire,

la question est de savoir si avec _ _ _Res vide Res plein Bas vide⋅ ⋅ on met la pompe à un, à

zéro ou si on la laisse dans l'état précédent :

ANALYSE PARTIELLE :

Notons que, d’un coté, pour ce système faire le choix sur fk équivaut à vouloir allumer la

pompe dès que le niveau haut descend un peu ( _Res plein ). D'autre côté, faire le choix sur

gk équivaut à arrêter la pompe dès que le niveau dépasse un peu le niveau bas ( _Res vide )

même si la pompe venait de s'allumer après le signal du niveau bas.

Il n'y a qu'une réponse possible de la part de l'utilisateur pour ce système :

REPONSE : { 0*, _ _ _f g h vk k k hyp Res vide Res plein Bas vide= = = = ⋅ ⋅

C'est-à-dire, 6) _ _ _ PomperA Res vide Res plein Bas vide REP⋅ ⋅ ≤

REMARQUE :

Cela veut dire que dans l'incomplétude un choix sur fk ou gk ne doit pas être

systématisé car il existe le risque de provoquer un comportement non désiré.

Comme il est prévu pour la démarche manuelle de la résolution de la complétude, nous

suivons la procédure [Q5-R2] au P3 de l'algorithme, avant que la réponse soit considérée

comme correcte et ajoutée au système au P4, car il est nécessaire de faire la vérification de

toutes les propriétés déjà calculées pour l'assertion qui vient d'être introduite :

Page 141: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

121

PROCÉDURE [Q5-R2] DE L'ALGORITHME 2 :

A) La sortie n'est pas bloquante (voir le système cohérent calculé au 7.1.2).

B) Nous passons à la vérification de la cohérence (point B du 6.3.1) avec l'expression 1hyp :

=> ( )1 0 ( ) ( ) ( ) ( )f g f h g h g h f h f ghyp U k k k k k k f k k g k k h k k= ⋅ ⋅ + ⋅ + ⋅ + ⋅ + + ⋅ + + ⋅ ⋅

Calculée avec l'information reçu par l'utilisateur dans la réponse précédent ( fk , gk ,

et hk ). Nous avons donc après substitution :

1 0*hyp = .

C) Ne s'appliquent pas pour une seule sortie.

D) Ne s'appliquent pas pour des systèmes indépendants.

Nous avons donc en incluant l'assertion A6 introduite, au P4 de l'algorithme 2, le système

suivant :

_ _ _( _ _ _ _ )

_ _ _

_ _ 0 *Pomper

Res vide Res plein Bas vide PomperRes vide Res plein Bas vide Res plein Pomper

Res vide Res plein Bas vide REP

Res vide Res plein

⎧ ⋅ ⋅ ≤⎪

⋅ + ⋅ ≤⎪⇒ ⎨ ⋅ ⋅ ≤⎪⎪ ⋅ =⎩

D'après le résultat au P1 : 4 _ _hyp Res plein Res vide= ⋅ , au deuxième cycle de calcul de

l'algorithme, il est possible de considérer depuis la procédure [Q4-R3], que ce dernier système

est complet parce que 4 0*hyp = car _ _ 0 *Res plein Res vide⋅ = .

Étant donné que 4 0*hyp = nous finissons l'algorithme 2. Nous avons donc une solution

séquentielle générale (voir [5.1]) : ( , )f gSR f k g k+ + . Ainsi pour notre exemple, nous avons :

_ _ _ ,_ _ _ _

_ _

f

g

f g

Res vide Res plein Bas vide kPomper SR

Res vide Res plein Bas vide Res plein k

ssi k k Res plein Res vide

⎛ ⎞⋅ ⋅ +⎜ ⎟=⎜ ⎟⋅ + ⋅ +⎝ ⎠

+ ≤ ⋅

Remarques :

Dans cette solution générale, la contrainte de cohérence entre les deux systèmes

( 0 *f gk k⋅ = ) n'est pas considéré parce que 0 _ _ 0*U Res plein Res vide= ⋅ = :

{ { {0 *0* 0 * 0 *

0 *f

f g f g f gg

kk k k k k k

k

⎧ ≤⎪+ ≤ ⇔ ⇔ ⋅ ≤ ⇔ ⋅ =⎨ ≤⎪⎩

.

Page 142: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

122

L'option de rester dans l'état précédent n'impose aucun changement d'état additionnel dans

le comportement du système et en conséquence, en cas de panne des capteurs il se peut

d'éviter sa propagation.

Il est possible donc d’utiliser le choix de rester dans l'état précédent : v Pomperhyp REP≤

pour une résolution systématique si 0vhyp U≤ .

Ainsi, nous avons pour cet exemple la solution suivante :

0 *fk = , 0 *gk = et _ _h 4k = hyp = Res plein Res vide⋅

_ _ _

_ _ _ __ _ _ _ _

f

g

Pomperh

f f + k Res vide Res plein Bas vide Pomperg g + k Res vide Res plein Bas vide Res plein Pomper

Res vide Res plein Bas vide Res plein Res vide REPh h + k

⎧ ⎧= ⋅ ⋅ ≤⎪ ⎪⎪ ⎪= ⇒ ⋅ + ⋅ ≤⎨ ⎨⎪ ⎪ ⋅ ⋅ + ⋅ ≤= ⎪⎪ ⎩⎩

Ce système calculé est cohérent est complètement spécifie. Il a comme solution SR1 :

( )_ _ _ , _ _ _ _Pomper SR Res vide Res plein Bas vide Res vide Res plein Bas vide Res plein= ⋅ ⋅ ⋅ + ⋅

Nous précisons cependant que d'autres choix sont possibles tout en respectant

_ _f gk k Res plein Res vide+ ≤ ⋅ dans la solution générale. Le désir de minimiser l'expression

de la solution peut être la cause de la recherche d'autres choix dans la solution. En effet, le

choix vhyp Pomper≤ a comme résultat une solution plus compacte :

Solution alternative) On peut choisir tout vhyp mise sur gk ( vhyp Pomper≤ ) :

0 *fk = , _ _g vk = hyp = Res plein Res vide⋅ et hk = 0*

( )_ _ _ , _ _Pomper SR Res vide Res plein Bas vide Res plein Bas vide= ⋅ ⋅ +

7.1.4 Implantation

Pour garantir qu'une solution existe pour les systèmes où les fonctions de sortie sont toutes

indépendantes entre elles et que cette solution soit implantable, il ne faut que prouver que

chaque sortie est correctement spécifiée parce que l'implantation n'apporte aucune contrainte

additionnelle étant donné que les systèmes indépendants sont insensibles à l'ordre (6.3.4).

1 Étant donné que nous avons 0*f g⋅ = alors la solution ( , )RS f g est équivalente.

Page 143: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

123

En effet, étant donné qu'il n'existe qu'une sortie l'implantation de la fonction solution peut être

implantée sur un calculateur exécuté en parallèle et séquentiel; car l'ordre de calcul n'exerce

aucune influence.

La figure 41 montre le diagramme d'implantation sur un calculateur exécuté en parallèle (dit

câblé) et sur un calculateur exécuté en séquentiel. Les variables calculées par notre méthode

nous servent pour l'implantation d'une façon transparente pour un automaticien en utilisant :

i i i iX f g x= + ⋅ .

Figure 41 Diagramme d'implantation de la fonction de sortie Pomper de l'exemple 1 :

a) Diagramme Ladder et b) diagramme câblé

7.1.5 Analyse du premier exemple

Ce cas nous permet de constater que l'algorithme proposé peut servir en premier lieu comme

un outil de vérification des propriétés au cours de la synthèse et en cas d'erreur stopper le

calcul au Q4 en choisissant R1. En seconde instance, il sert à la conception de la commande

en détectant les oublis ou les manques de précisions sur la SF donnée par l'utilisateur. Une

fois détectés, les algorithmes indiquent les pas à suivre afin de corriger et surmonter le non

accomplissement de ces propriétés. Cette méthode permet une démarche évolutive où

l'utilisateur donne de nouvelles informations afin d'enlever les contraintes. Pourtant, celles-ci

n'obligent pas, dans l'algorithme 1, à refaire la vérification de tout le système, sinon

uniquement de la partie ajoutée. D'autre part, l'exemple nous a permis d'introduire la

démarche que nous suivrons pour introduire une méthodologie plus flexible, vis-à-vis de

l'utilisateur, en utilisant la SF-T3. En effet, cette spécification élargit les possibilités de choix

car elles sont toujours fausses. Ceci nous permettra de ne formuler des questions à l'utilisateur

que si cela est indispensable, en utilisant les nouvelles options introduites (Q4-R3) dans

l'algorithme 2.

Page 144: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

124

7.2 Résolution de l'exemple 2 : Systèmes à deux sorties avec des

contraintes sur les sorties

Le système étudié dans cette section a été formalisé dans la section 4.3.2. Le système

d'équations formalisé en ø est le suivant :

1)2) 3 /( )3)4) 0 *5)6)7) 0 *

A TC OuvrirA s PO TC V FermerA PF V OuvrirA Ouvrir FermerA PO OuvrirA PF FermerA PO PF

⎧ ≤⎪

⋅ ⋅ ≤⎪⎪ ⋅ ≤⎪⎪ ⋅ =⎨⎪ ≤⎪

≤⎪⎪ ⋅ =⎪⎩

L'objectif est donc d'exprimer les sorties Ouvrir et Fermer en utilisant un SR ou bien un RS,

tout en respectant la spécification donnée. Les trois assertions A1 à A7, ont été établies

manuellement indépendamment les unes des autres. Si leur formalisation sur ø permet de

s’affranchir des imprécisions du LN, rien ne garantit que la réunion de ces expressions

formelles constitue un système d'équations ayant une solution qui respecte les propriétés

extrinsèques.

Dans cette section, nous décrirons la méthode de résolution des systèmes qui ont des sorties

indépendantes tel que l'exemple précédent mais il est inclus une SF-T4. Nous devons suivre

tous les pas de la méthode proposée car les simplifications de l'exemple précédent ne peuvent

pas s'appliquer quand il y a une SF-T4.

Remarque :

Avant de continuer nous précisons qu'afin de simplifier les résultats partiels, nous allons

utiliser les théorèmes des chapitres précédents. Cet exemple nous permet en plus de

montrer l'utilité des théorèmes car ils sont utiles pour prouver des propriétés. Notamment

nous soulignons dans cet exemple les théorèmes du TON. En effet, en utilisant l'assertion

A7 et d'après A2; en utilisant X[2.37]X ⇔ X[2.35]X puis X[3.43]X et X[2.47]X nous avons,

3 /( ) 3 /( )3 /( )

3 /( ) 3 /( )3 /( )

s PO TC V s PO TC V POs PO TC V PF

s PO PF TC V s PO TC V TCs PO TC V V

⎧⋅ ⋅ ⋅ ⋅ ≤⎪

⋅ ⋅ ≤⎪⎨⇒⋅ ⋅ ⋅ ⋅ ⋅ ≤⎪⎪ ⋅ ⋅ ≤⎩

Depuis ces relations et en utilisant l'équivalence : X[2.34]X ⇔ X[2.37]X ⇔ X[2.38]X ⇔ X[2.35]X nous

obtenons les relations suivantes que nous allons utiliser au fur et à mesure du besoin :

Page 145: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

125

( )( )

( )( )

( )( )( )( )

( )( )

3 /3 /( ) 0* 3 /( ) 3 /( )

3 /( ) 0* 3 / 3 /( ) 3 /( )

3 /( ) 0* 3 /(3 /

3 /( ) 0* 3 /

PO s PO TC V POPO s PO TC V PO s PO TC V s PO TC V

PF s PO TC V PF s PO TC V PF PF s PO TC V s PO TC V

TC s PO TC V TC s PO TTC s PO TC V TC

V s PO TC V V s PO TC V V

⋅ ⋅ ⋅ =⋅ ⋅ ⋅ = ⋅ ⋅ ⋅ = ⋅ ⋅

⋅ ⋅ ⋅ = ⋅ ⋅ ⋅ = ⋅ ⋅ ⋅ = ⋅ ⋅

⋅ ⋅ ⋅ = ⋅ ⋅⋅ ⋅ ⋅ =

⋅ ⋅ ⋅ = ⋅ ⋅ ⋅ =

( )( )

) 3 /( )

3 /( ) 3 /( )

C V s PO TC V

TC s PO TC V s PO TC V

⋅ = ⋅ ⋅

⋅ ⋅ ⋅ = ⋅ ⋅

7.2.1 Regroupement de la spécification de fonctionnement

D'après 6.3.3, en utilisant l'équation X[2.46]X nous allons réduire les assertions A1) et A3) et

nous obtenons :

1 3)5)2) 3 /( )6)4) 0*7) 0*

A A TC PF V OuvrirA PO OuvrirA s PO TC V FermerA PF FermerA Ouvrir FermerA PO PF

⎧ ⋅ + ⋅ ≤⎪

≤⎪⎪ ⋅ ⋅ ≤⎪⎨

≤⎪⎪ ⋅ =⎪

⋅ =⎪⎩

7.2.2 Vérification et corrections des propriétés

7.2.2.1 Vérification et résolution des incohérences du système de sorties

D'après 6.3.2, nous allons appliquer l'algorithme (1) pour la recherche et les corrections des

incohérences sur les deux sorties au même temps en identifiant les variables pour chacune :

Ouvrir et Fermer. Nous allons supposer que l'utilisateur veut résoudre toutes les incohérences

sauf pour les cas des variables qui n'apparaissent jamais en absence de défaillance, c'est-à-dire

0U (A7), car il n'y a aucune indication pour ces cas de figure. Cependant il demande que

l'assertion A4 ( 0*Ouvrir Fermer⋅ = ) soit respectée même si une panne arrive.

Nous commençons le premier cycle de calcul de vérification par le calcul de la propriété de la

cohérence : 0 *f g f h g h⋅ + ⋅ + ⋅ = . Ainsi, nous avons (à l'étape P1 du premier cycle de calcul

de cet algorithme) pour les systèmes d'assertions 1 3A A⋅ et 5A d'Ouvrir et 2A et 6A de

Fermer :

P1_1) ( )( )

1 1 ( )

( ) ( ) ( ) ( ) 0* ( ) (0*)

( )

O O O O O O Ohyp PO PF f g f h g h

PO PF TC PF V PO TC PF V

PO PF TC V

= ⋅ ⋅ ⋅ + ⋅ + ⋅

= + ⋅ + ⋅ ⋅ + ⋅ + ⋅ ⋅

= ⋅ ⋅ +

Page 146: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

126

( )

( )1 1 ( )

( ) (3 /( ) ( ) (3 /( ) 0* ( ) (0*)

3 /( )

F F F F F F Fhyp PO PF f g f h g h

PO PF s PO TC V PF s PO TC V PF

s PO TC V PF PO

= ⋅ ⋅ ⋅ + ⋅ + ⋅

= + ⋅ ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅

= ⋅ ⋅ ⋅ ⋅

L'hypothèse 1 1Fhyp est toujours fausse car, en utilisant le théorème X[3.43]X et X[2.34] ⇔ X[2.35]

nous avons : ( )1 1 3 /( ) ( ) 0 *Fhyp s PO TC V PO TC V PF PO= ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ =

Suivant l'algorithme et la disposition de l'utilisateur à résoudre lui-même les incohérences,

nous ne lui posons la question que pour l'incohérence de la variable Ouvrir obtenue au P1_1

car la cohérence pour la variable Fermer est déjà vérifiée.

Q4_R2) ( )( ) { , , } ?OuvrirPO PF TC V Ouvrir Ouvrir REP⋅ ⋅ + ≤

L'utilisateur peut s'apercevoir, à partir de la question, qu’il a oublié de bien préciser la SF

car si la porte est déjà ouverte, il n’est pas nécessaire de commander la porte à ouvrir suit à

la demande d'ouverture par la télécommande (A1) ou par la présence d'une la voiture (A3).

De plus, la commande de fermeture prévoit dans le TON (3 /( )s PO TC V⋅ ⋅ ) que la porte ne

fermera que 3 secondes après que la porte est ouvert et qu'il n'y a pas ni une voiture

présente ni la télécommande active. Nous recevons donc comme réponse :

REPONSE : 0*, , 0*f g hk k PO k= = =

C'est-à-dire, 8)A PO Ouvrir≤

En continuant l'algorithme, une nouvelle itération de vérification de la cohérence pour la

variable Ouvrir commence (P5) et nous obtenons pour la variable Ouvrir au P1 du deuxième

cycle de calcul :

P1_2) 1 2 0*Ohyp =

L'incohérence enlevée, il ne nous reste qu'à finir l'algorithme pour obtenir les systèmes

cohérents. Nous obtenons,

P6_1) ( )PF TC PF PO TC V OuvrirPO Ouvrir

⎧ ⋅ + ⋅ ⋅ + ≤⎪⎨

≤⎪⎩

P2_1) 3 /( )s PO TC V FermerPF Fermer

⎧ ⋅ ⋅ ≤⎪⎨

≤⎪⎩

7.2.2.2 Vérification et corrections des incohérences dues aux états interdits

Une fois que le système de chaque variable de sortie (système de sorties) est cohérent, il faut

vérifier les propriétés demandées sur le comportement global en commençant par le respect de

l'état interdit (SF-T4) et en tout cas à corriger la commande s'il en a besoin.

Page 147: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

127

Il faut donc vérifier la propriété de l'état interdit Ouvrir Fermer⋅ qui ne doit jamais être

commandé au même moment : 0 *Ouvrir Fermer⋅ = . A partir des systèmes obtenus au P6_1

et P2_1, (qui contiennent l’assertion A8 introduite par l'utilisateur), nous avons :

( ) ( )0*

( ) ( )( )Fermer Fermer Ouvrir Ouvrir

fmFermer Fermer Ouvrir Ouvrir

f h Fermer f h Ouvrirhyp

f h Fermer f h Ouvrir Fermer⎛ ⎞+ ⋅ ⋅ + ⋅

= =⎜ ⎟⎜ ⎟+ ⋅ ⋅ + ⋅ ⋅⎝ ⎠

Après substitution et réduction de l'expression en utilisant les expressions de la remarque 9,

nous obtenons 0*fmhyp = . Cela veut dire que l'état Ouvrir Fermer⋅ n'est pas accessible

d'après cette spécification partielle car 0*fmhyp = . Nous soulignons cependant que ce

résultat n'est pas encore suffisant pour garantir l'inaccessibilité de l'état car la complétude du

système doit être vérifiée.

7.2.2.3 Vérification et correction de la SF afin que le système soit unité stable

Nous avons déterminé qu'une spécification partielle respecte l'unité stabilité si 0*ushyp = où :

{ }1,

( )xi xi ius etati p

f h Xhyp fouh

⎛ ⎞+ ⋅= ⎜ ⎟ ⋅⎜ ⎟⎝ ⎠

∏ tel que { }

{ }1,

1,1*

( )

ii p

xi xi ietat i p X

f h Xfouh

∈ ⎛ ⎞=⎜ ⎟⎜ ⎟

⎝ ⎠

⎛ ⎞+ ⋅= ⎜ ⎟⎜ ⎟⎝ ⎠ ∏

Calculons d'abord les etatfouh des trois états non interdits :

( ) ( )Ouvrir Ouvrir Fermer FermerOuv Ferfouh f h Ouvrir g h Fermer PF TC⋅ = + ⋅ ⋅ + ⋅ = ⋅

( ) 3 /( )( ) ( )

3 /( )Ouvrir Ouvrir Fermer FermerOuv Ferfouh PO s PO TC Vg h Ouvrir f h Fermer

s PO TC V⋅ = = ⋅ ⋅ ⋅+ ⋅ ⋅ + ⋅

= ⋅ ⋅

( ) 0 *( ) ( )Ouvrir Ouvrir Fermer FermerOuv Ferfouh PO PFg h Ouvrir g h Fermer⋅ = = ⋅ =+ ⋅ ⋅ + ⋅

Ainsi, nous obtenons pour ces trois états :

( ) 1*( ) ( ) 0*us Ouv Fer Ouvrir Fermer

hyp PF TC PF TC PF TC PF TC⋅ ⋅ =⎛ ⎞= ⋅ ⋅ ⋅ = ⋅ ⋅ ⋅ =⎜ ⎟⎝ ⎠

( )( )

( ) 1*3 /( ) 3 /( )

(3 /( )) 3 /( ) 0*

us Ouv Fer Ouvrir Fermerhyp s PO TC V s PO TC V

s PO TC V s PO TC V

⋅ ⋅ =

⎛ ⎞= ⋅ ⋅ ⋅ ⋅ ⋅⎜ ⎟⎝ ⎠

= ⋅ ⋅ ⋅ ⋅ ⋅ =

( ) 1*(0*) 0* (0*) 0* 0*us Ouv Fer Ouvrir Fermer

hyp ⋅ ⋅ =⎛ ⎞= ⋅ = ⋅ =⎜ ⎟⎝ ⎠

Cela veut dire que pour tous les états non interdits, d'après la spécification (A1 à A8), l'unité-

stabilité est respectée. Nous remarquons cependant que ce résultat n'est pas encore suffisant

pour garantir l'unité-stabilité car il faut vérifier que le système est complet.

Page 148: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

128

7.2.3 Résolution de l'incomplétude

Pour cet exemple, nous allons choisir l'option de rester dans l'état précédent pour

l'incomplétude.

En suivant l'algorithme 2, dans un premier cycle de calcul, nous obtenons pour la vérification

de l'incomplétude 4hyp au P1 les résultats suivants après simplification :

P1_1) ( )

4

4

( )

3 /( )ouvrir

Fermer

hyp PO TC PF V

hyp PF s PO TC V

= ⋅ ⋅ +

= ⋅ ⋅ ⋅

En considérant l'option prédéfinie de rester dans l'état précédent pour l'incomplétude :

PROPOSITION : 0 *fouvrirk = , 0*gouvrirk = , ( )houvrirk PO TC PF V= ⋅ ⋅ + ,

0*ffermerk = , 0 *gfermerk = et ( )3 /( )hfermerk PF s PO TC V= ⋅ ⋅ ⋅

C'est-à-dire, ( )

9) ( )

10) 3 /( )

Ouvrir

Fermer

A PO TC PF V REP

A PF s PO TC V REP

⎧ ⋅ ⋅ + ≤⎪⎨

⋅ ⋅ ⋅ ≤⎪⎩

En considérant ces assertions nous avons le système suivant au P4 de l'algorithme 2 :

P4_1) ( )

( ) Ouvrir

PF TC PF PO TC V OuvrirPO Ouvrir

PO TC PF V REP

⎧ ⋅ + ⋅ ⋅ + ≤⎪

≤⎨⎪ ⋅ ⋅ + ≤⎩

P4_1)

( )

3 /( )

3 /( ) Fermer

s PO TC V FermerPF Fermer

PF s PO TC V REP

⎧ ⋅ ⋅ ≤⎪⎪ ≤⎨⎪ ⋅ ⋅ ⋅ ≤⎪⎩

En continuant avec l'algorithme, nous suivons l'option Q5-R2 :

PROCÉDURE [Q5-R2] DE L'ALGORITHME 2 :

A) NON BLOCAGE. Il s'avère, depuis les systèmes montrés ci-dessus, que les sorties ne sont

pas bloquantes.

B) COHÉRENCE. Comme toute l'incomplétude, ce qui n'était pas choisi, est mis en mémoire

alors les systèmes restent cohérents.

C) ÉTATS INTERDITS. Nous pouvons vérifier le respect des états interdits car les systèmes des

sorties sont cohérents et ces systèmes ont été complétés. Nous calculons le respect des états

interdits, tel que nous l'avons fait dans la section précédente mais pour les systèmes complets :

( ) ( )( ) ( )( )

Fermer Fermer Ouvrir Ouvrirfm

Fermer Fermer Ouvrir Ouvrir

F H Fermer F H Ouvrirhyp

F H Fermer F H Ouvrir Fermer⎛ ⎞+ ⋅ ⋅ + ⋅

= ⎜ ⎟⎜ ⎟+ ⋅ ⋅ + ⋅ ⋅⎝ ⎠

En substituant les valeurs du système complété (voir P4_1), il vient

Page 149: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

129

( ) ( )fmhyp TC V PO PF Ouvrir Fermer= + ⋅ ⋅ ⋅ ⋅

Comme 0 *fmhyp ≠ et la SF-T4 interdisant l'état doit être respectée alors l'utilisateur doit

proposer de corrections en choisissant un état différent de tel sort que cet état ne soit pas l'état

interdit (Ouvrir Fermer⋅ ). Cela veut dire, que l'utilisateur doit valider l'ajout d'une assertion

afin que l'état ne soit pas accessible 0*Ouvrir Fermer⋅ = .

ANALYSE PARTIELLE :

Nous allons analyser le premier terme de fmhyp . Il s'avère que l'utilisateur a demandé dans

la spécification d'ouvrir le portail, si la télécommande est commandée (assertion A1) et si

une voiture est présente tant que le portail n'est pas fermé (A3). Ainsi, l'ouverture serait

demandée si la télécommande s'active ou une voiture est présente quand le portail est en

train de se fermer par contre la fermeture ne s'arrêtera pas et par conséquence l'état dit

interdit deviendrait accessible. De ce fait, l'utilisateur doit choisir un autre état d'arrivée

différent de Ouvrir Fermer⋅ et de Ouvrir Fermer⋅ :

( ) ( )( ) ( )

( ) ( )

TC V PO PF Ouvrir Fermer Ouvrir Fermer Ouvrir Fermer

TC V PO PF Ouvrir Fermer Fermer

+ ⋅ ⋅ ⋅ ⋅ ≤ ⋅ ⋅ ⋅

+ ⋅ ⋅ ⋅ ⋅ ≤

Nous remarquons qu'en principe l'utilisateur n'a pas que ce choix comme réponse. Il s'avère

que la fermeture doit s'arrêter toujours si la télécommande est activée ou il y a une voiture

présente. C'est-à-dire, l'arrêt de la fermeture ne dépend pas de l'état Ouvrir Fermer⋅ . Ainsi,

l'utilisateur peut donner une réponse plus ciblée en introduisant au système l'assertion :

REPONSE : { 8) ( )A TC V PO PF Fermer+ ⋅ ⋅ ≤

Il faut vérifier cependant que la cohérence est respectée avec la nouvelle assertion. Nous

avons donc,

0 *fouvrir gouvrir ffermerk k k= = = , ( )gfermerk TC V PO PF= + ⋅ ⋅ ,

houvrir ouvrir ouvrir ouvrirk f g h= ⋅ ⋅ , ( )( )hfermer fermer fermer fermerk f g h TC V PO PF= ⋅ ⋅ ⋅ + ⋅ ⋅ ,

et comme résultat

1 0 *ouvrirhyp = et 1 0 *fermerhyp = .

D) Il faut vérifier l'unité-stabilité car il y a eu une assertion qui a été ajouté (A8) au point 2.

En substituant donc les nouvelles valeurs nous avons

Page 150: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

130

( )Ouv FerFouH PF TC PO PF Ouvrir TC V PF Ouvrir Fermer⋅ = ⋅ + ⋅ ⋅ + + ⋅ + ⋅ ( ) 3 /( )Ouv FerFouH PF PO TC V Ouvrir Fermer s PO TC V⋅ = ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅

( )( ) 3 /( ) ( )Ouv FerFouh PF PO TC Ouvrir s PO TC V PO TC V Ouvrir Fermer⋅ = ⋅ + ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅

Le résultat du calcul des conditions d'existence de la solution respectant l'unité-stabilité est :

( ) 1*, 0*0*us Ouv Fer Ouv Fer Ouv Fer Ouv Fer

hyp FouH FouH⋅ ⋅ ⋅ = =⎛ ⎞= ⋅ =⎜ ⎟⎝ ⎠

( ) 0*, 1*0*us Ouv Fer Ouv Fer Ouv Fer Ouv Fer

hyp FouH FouH⋅ ⋅ ⋅ = =⎛ ⎞= ⋅ =⎜ ⎟⎝ ⎠

*

( ) 0*, 0*0 *us Ouv Fer Ouv Fer Ouv Fer Ouv Fer

hyp FouH FouH⋅ ⋅ ⋅ = =⎛ ⎞= ⋅ =⎜ ⎟⎝ ⎠

Cela veut dire que le système, en incluant l'assertion A8, respect toutes les propriétés en

considérant que l'incomplétude reste dans l'état précédent (solution séquentielle donnée par

[5.2]). Nous présentons ci-dessous le système et les fonctions des sorties à la sortie du

calculateur en utilisant un RS pour Ouvrir et un SR pour Fermer .

( )

( ) 3 /( )( )

( ) ( ) 3 /( )Ouvrir Fermer

PF TC PF PO TC V Ouvrir s PO TC V FermerPO Ouvrir PF TC V PO Fermer

PO TC PF V REP PF PO TC V Ouvrir s PO TC V REP

⎧ ⎧⋅ + ⋅ ⋅ + ≤ ⋅ ⋅ ≤⎪ ⎪⎪≤ + + ⋅ ≤⎨ ⎨⎪ ⎪⋅ ⋅ + ≤ ⋅ + ⋅ + ⋅ ⋅ ⋅ ≤⎩ ⎪⎩

3) 0*4) 0*

SF T PO PFSF T Ouvrir Fermer⎧ − ⋅ =⎪⎨ − ⋅ =⎪⎩

( )( )

( , ) ( )

( , ) 3 /( ) ( )

Ov Ov

Ov Ov

Ouvrir SR f g SR PF TC PF PO TC V PO

Fermer SR f g SR s PO TC V PF TC V PO

= = ⋅ + ⋅ ⋅ +

= = ⋅ ⋅ + + ⋅

,

,

Nous passerons à l'implantation mais nous remarquons que Ouvrir peut être ramené vers une

expression plus courte en utilisant des théorèmes de SR. En effet, en utilisant la solution RS

du [5.2], X[3.28]X,X[2.3]X,[2.10], X[2.3]X,X[3.28]X,X[2.3]X,X[2.3]X,X[2.8]X et X[2.5]X nous simplifions la solution :

( ) ( )( ) ( )( )

( ) ( )

( ) ( )

Ouvrir RS PF TC PF PO TC V PO RS PF TC PF PO TC V PO PO

RS PF TC PF TC V PO PO RS PF TC PF TC V PO

RS TC PF V PO

⎛ ⎞ ⎛ ⎞= ⋅ + ⋅ ⋅ + = ⋅ + ⋅ ⋅ + ⋅⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠⎛ ⎞= ⋅ + ⋅ + ⋅ = ⋅ + ⋅ +⎜ ⎟⎝ ⎠

= + ⋅

, ,

, ,

,

7.2.4 Implantation

L'implantation sur un calculateur demande en plus la semi-insensibilité à l'ordre. La figure 42

montre le graphe de dépendance. Nous remarquons que les sorties Ouvrir et Fermer sont

indépendantes car aucune des deux à une affectation sur l'autre. En conséquence

Page 151: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

131

l'ordonnancement des sorties Ouvrir et Fermer n'a aucune influence sur le système car il est

insensible à l'ordre.

D'autre part, la variable interne temporelle TON nommée 3 /( )s PO TC V⋅ ⋅ , ne dépend que des

entrées et elle affecte Fermer , par conséquence elle doit être calculée avant Fermer afin de

ne pas provoquer la non unité stabilité.

Figure 42 Graphe de dépendances

La figure 43a montre le diagramme d'implantation sur un calculateur exécuté en séquentiel

avec le même ordre qui respecte la semi-insensibilité à l'ordre.

Figure 43 Diagramme d'implantation des fonctions de sortie Ouvrir et Fermer de l'exemple 2

a) Diagramme Ladder et b) diagramme câblé

D'autre part, la figure 43b montre l'implantation sur un calculateur exécuté en parallèle (dit

câblé). Les variables calculées par notre méthode nous servent pour l'implantation d'une façon

transparente pour un automaticien en utilisant : i i i iX f g x= + ⋅ .

Pour le cas de l'exécution en parallèle nous pouvons utiliser des équivalences pour simplifier

la solution car les variables f, g et h sont disjointes et complémentaires. En effet, nous avons

Page 152: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 7 : Études de cas : Exemple 1 et 2

132

( ) ( )O O O O O O OOuvrir f h Ouvrir f f h Ouvrir f g Ouvrir= + ⋅ = + + ⋅ = + ⋅ , et

( ) ( )F F F F F F FFermer f h Fermer f f h Fermer f g Fermer= + ⋅ = + + ⋅ = + ⋅ .

7.2.5 Analyse du deuxième exemple

Ce cas nous a permis de montrer qu'une fois calculée l'expression définissant la vérification

d'une propriété, il est possible de faire des vérifications même du comportement global du

système, tel qu'un état interdit, sans faire la composition de la SF définie pour chaque sortie.

Une vérification partielle est possible dans certains cas même si le système n'est pas complet.

Cet exemple nous a permis, en plus, de montrer une démarche systématique de résolution, une

fois que les contraintes données, dans la SF de l'utilisateur, sont surmontées. Pour arriver à ce

but, nous avons montré que parfois il faut ajouter des assertions pour mettre à 1 ou à 0 un

signal de sortie pour faire respecter la SF-T4. Autrement dit, le fait de choisir toute

l'incomplétude à rester dans l’état précédent sans vérifier les propriétés n'est pas recommandé.

De plus, nous avons fait appel à des théorèmes sur l'algèbre ø de l'opérateur TON pour

vérifier des propriétés tel que la cohérence. Nous remarquons que ces vérifications sont

possibles car ces opérateurs ont été définis par des expressions temporelles dans l'algèbre ø et,

en utilisant les théorèmes développés précédemment, la vérification reste dans le plan

combinatoire. Or, il n’est plus nécessaire de refaire le calcul par des expressions temporelles.

7.3 Conclusions

Nous avons utilisé le premier exemple, qui ne considère que des SF-T1, pour bien illustrer

tous les pas des algorithmes. De plus, nous montrons l'effet de ne pas considérer des SF-T3

dans la SF et que le choix dans l'incomplétude doit prendre en compte l'interaction avec la

partie opérative. Une famille de solutions a été proposée d'abord afin de mettre en évidence

l'importance de considérer le cas général du chapitre 5 et ensuite, une solution a été choisie

afin de présenter l'implantation.

Dans le deuxième exemple l'opération TON nous a permis d'illustrer l'utilisation des

opérations temporelles et ses théorèmes. Une SF-T4 a été utilisée pour montrer la démarche

de vérifications et corrections d'une spécification de ce type. La démarche systématique

proposée pour résoudre l'incomplétude a été mise en évidence. Nous avons profité pour

introduire l'utilisation des graphes de dépendances pour la vérification de la semi-insensibilité

à l'ordre.

Page 153: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

133

Chapitre 8

Chapitre 8

Dans ce chapitre nous résolvons l'exemple 3 formalisé au chapitre 4. Cet exemple utilise les

trois algorithmes de vérification/correction des propriétés. L'intervention de l'utilisateur est

mise en valeur afin de résoudre les incohérences ou le manque d’informations dans la SF pour

pouvoir calculer la fonction de contrôle.

A travers cet exemple nous montrons en plus, que le choix de prendre en compte une option

prédéfinie pour la résolution de l'incomplétude permet d'automatiser la résolution de

l'incomplétude sans la participation de l'utilisateur. La génération automatique des fonctions

de contrôle par la méthode proposée ne dépendra que de la définition sans incohérence de la

SF.

Page 154: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

134

8. Étude de cas : Exemple 3

Nous présentons dans ce chapitre le troisième exemple qui concerne la commande d'un

système à plusieurs sorties avec dépendances : la commande d'un préhenseur pneumatique.

Nous rappelons que la méthode commence à partir de la spécification formelle, en algèbre ø,

de la commande et du système physique.

Avant de résoudre cet exemple, qui a été formalisé dans le chapitre 4, nous devons faire une

précision sur la formalisation de l’assertion 7 :

Remarque :

La spécification en langage naturelle de l'assertion A7 :

A7) En étant toujours au poste de dépose, une fois en position haute, reculer le

préhenseur JUSQU'AU point de départ (au poste de prise et en position haute).

Nous avons représenté les contraintes de mise à un de la commande de reculer par

l'assertion A7a et la mise à zéro de reculer par l'assertion A7b.

Il est vrai cependant que nous n'avons pas représenté l'action demandée de continuer à

reculer jusqu'à l'arrivée au point de départ.

L'introduction de l'opération REP au chapitre 5 nous permet maintenant de compléter cette

spécification par l'assertion :

( ) ( ){ 7 ) _ _ _ _ ReculerA c P depose P haute P prise P haute REP⋅ ⋅ ⋅ ≤

Ainsi, l'assertion A7a indique la contrainte de Reculer quand _ _P depose P haute⋅ est vrai,

l'assertion A7c demande de continuer à reculer et l’assertion A7b demande d'arrêter de

reculer.

Nous allons suivre, dans la section suivante, la méthode décrite au chapitre 6 pour résoudre

ce système d'équations en incluant l'assertion A7c.

Page 155: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

135

8.1 Résolution de l'exemple 3 : Système à plusieurs sorties

Le système étudié dans cette section a été formalisé dans la section 4.3.3. Le système

d'équations formalisé en ø, en incluant A7c, est le suivant :

( )

1) _ _

2) _ _3) 1 /( _ _ )4) _ _5) _ _6) _ _

A P prise P haute dcy Descendre

A P prise P basse AspirerA s P prise P basse DescendreA P prise P haute AvancerA P depose P haute Avancer DescendreA P depose P b

⋅ ⋅ ≤

⋅ ≤⋅ ≤⋅ ≤⋅ ≤ ⋅⋅

Spécification du cycle en U :

8

( ) ( )

7 ) _ _7 ) _ _

7 ) _ _ _ _

8)Reculer

asse Descendre AspirerA a P depose P haute ReculerA b P prise P haute Reculer

A c P depose P haute P prise P haute REP

A ARU Avancer Reculer Descendre

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨ ≤ ⋅⎪⎪ ⋅ ≤⎪

⋅ ≤⎪⎪

⋅ ⋅ ⋅ ≤⎪⎪ ≤ ⋅ ⋅⎪⎩

9) _ _ 0*10) _ _ 0*

A P prise P deposeA P haute P basse

⎧ ⋅ =⎪⎨ ⋅ =⎪⎩

Spécifications dues aux contraintes sur les entrées :

11) _ 0*12) _ 0*13) _ _ 0*14) 0*15) 0*16) 0*

A P haute AvancerA P haute ReculerA P prise P depose DescendreA Avancer ReculerA Avancer DescendreA Reculer Descendre

⎧ ⋅ =⎪

⋅ =⎪⎪ ⋅ ⋅ =⎪⎨

⋅ =⎪⎪ ⋅ =⎪

⋅ =⎪⎩

Spécifications de sécurité :

L'objectif est donc d'exprimer les sorties : Avancer , Reculer , Descendre et Aspirer en utilisant

un SR ou bien un RS, tout en respectant la spécification donnée. Les 16 assertions A1 à A16,

ont été établies manuellement indépendamment les unes des autres. Si leur formalisation sur

ø permet de s’affranchir des imprécisions du LN, rien ne garantit que la réunion de ces

expressions formelles constitue un système d'équations ayant une solution qui respecte en plus

les propriétés extrinsèques.

Remarques :

Avant de continuer nous précisons qu'afin de simplifier les résultats partiels, nous allons

utiliser les théorèmes des chapitres précédents. Cet exemple nous permet en plus de

montrer l'utilité des théorèmes car ils sont indispensables pour prouver les propriétés.

Notamment nous soulignons dans cet exemple les théorèmes du TON. En effet, en utilisant

les assertions A9 et A10 et d'après A3; en utilisant X[2.37]X ⇔ X[2.35]X et ensuite X[3.43]X et

X[2.47]X nous avons,

Page 156: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

136

1 /( _ _ ) 1 /( _ _ ) _1 /( _ _ ) _

1 /( _ _ _ _ ) 1 /( _ _ ) _1 /( _ _ ) _

s P prise P basse s P prise P basse P prises P prise P basse P basse

s P prise P basse P depose P haute s P prise P basse P deposes P prise P basse P haute

⎧⋅ ⋅ ≤⎪

⋅ ≤⎪⎨⇒⋅ ⋅ ⋅ ⋅ ≤⎪⎪ ⋅ ≤⎩

Depuis ces relations et en utilisant l'équivalence : X[2.34]X ⇔ X[2.37]X ⇔ X[2.38]X ⇔ X[2.35]X nous

obtenons les relations suivantes que nous allons utiliser au fur et à mesure du besoin :

( ) ( )( ) ( )

_ 1 /( _ _ ) 0* _ 1 /( _ _ ) 0*

_ 1 /( _ _ ) 0* _ 1 /( _ _ ) 0*

_ 1 /( _ _ ) _ _ 1 /( _ _ ) __

P prise s P prise P basse P haute s P prise P basse

P basse s P prise P basse P depose s P prise P basse

P prise s P prise P basse P prise P haute s P prise P basse P hauteP b

⋅ ⋅ = ⋅ ⋅ =

⋅ ⋅ = ⋅ ⋅ =

⋅ ⋅ = ⋅ ⋅ =1 /( _ _ ) _ _ 1 /( _ _ ) _asse s P prise P basse P basse P depose s P prise P basse P depose⋅ ⋅ = ⋅ ⋅ =

( )( )( )( )

_ 1 /( _ _ ) 1 /( _ _ )

_ 1 /( _ _ ) 1 /( _ _ )

_ 1 /( _ _ ) 1 /( _ _ )

_ 1 /( _ _ ) 1 /( _ _ )

P prise s P prise P basse s P prise P basse

P basse s P prise P basse s P prise P basse

P haute s P prise P basse s P prise P basse

P depose s P prise P basse s P prise P basse

⋅ ⋅ = ⋅

⋅ ⋅ = ⋅

⋅ ⋅ = ⋅

⋅ ⋅ = ⋅

8.1.1 Regroupement des spécifications

1) Nous exprimons les assertions qui représentent les propriétés à respecter A11, A12 et A13

comme relations d'ordre ( X[2.37]X ⇔ X[2.34]X).

11) _12) _ Re13) _ _

A P haute AvancerA P haute culerA P prise P depose Descendre

⎧ ≤⎪

≤⎨⎪ ⋅ ≤⎩

2) Les assertions A1, A2, A3, A4, A7a, A7b, A1, A12 et A13 sont des SF-T1. L'assertion A7c

est une SF-T5. Les assertions A5, A6 et A8 sont des SF-T2. Les assertions A14, A15 et A16

sont des SF-T4. Enfin, les assertions A9 et A10 sont des SF-T3.

3) Nous décomposons les assertions A5, A6 et A8 car elles ont un état d'arrivée (X[2.47]X).

{

{

5 ) _ _5) _ _

5 ) _ _

6 ) _ _6) _ _

6 ) _ _

A a P depose P haute AvancerA P depose P haute Avancer Descendre

A b P depose P haute Descendre

A a P depose P basse DescendreA P depose P basse Descendre Aspirer

A b P depose P basse Aspirer

⎧ ⋅ ≤⎪⇔⋅ ≤ ⋅ ⎨⋅ ≤⎪⎩

⎧ ⋅ ≤⎪⇔⋅ ≤ ⋅ ⎨⋅ ≤

{8 )

8) 8 )8 )

A a ARU AvancerA ARU Avancer Reculer Descendre A b ARU Reculer

A c ARU Descendre

⎪⎩⎧ ≤⎪

⇔≤ ⋅ ⋅ ≤⎨⎪ ≤⎩

4, 5 et 6) Le point 5 ne s'applique pas car il n'y a plus de SF-T2. Nous regroupons donc toutes

les assertions du point 3 car elles ont toutes comme arrivée une sortie, avec les SF-T1. Nous

Page 157: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

137

soulignons que les propriétés sont regroupées comme prioritaires (A11 à A16). Le

regroupement est fait par sortie en utilisant X[2.46]X en considérant aussi l'assertion A7c (SF-T5)

car elle est définie pour une sortie, comme suit :

4) _ _5 8 11) _ _

7 ) _ _ Re7 8 12) _ _ Re7 ) _ _ _

1 5 ) _ _

Reculer

A P prise P haute AvancerA a A a A P depose P haute ARU Avancer

A a P depose P haute culerA b A b A P prise P haute ARU culerA c P haute P depose P prise REP

A A b P prise P h

⎧ ⋅ ≤⎪⎨ ⋅ ⋅ ⋅ + ≤⎪⎩⎧ ⋅ ≤⎪

⋅ ⋅ ⋅ + ≤⎨⎪ + ⋅ ≤⎩

⋅ ⋅( )( )

_ _

3 6 8 13) 1 /( _ _ ) _ _

2) _ _6 ) _ _

aute dcy P depose P haute Descendre

A A a A c A s P prise P basse P depose P basse ARU Descendre

A P prise P basse AspirerA b P depose P basse Aspirer

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎧ ⋅ + ⋅ ≤⎪⎪⎨⎪ ⋅ ⋅ ⋅ ⋅ + ⋅ + ≤⎪⎪⎩⎪⎧ ⋅ ≤⎪⎪⎨⎪ ⋅ ≤⎪⎩⎪⎩

8

En incluant les propriétés à respecter comme prioritaires (A11 à A16) :

4) _ _5 8 1) _ _

7 ) _ _ Re7 8 2) _ _ Re7 ) _ _ _

1 5 ) _ _

Reculer

A P prise P haute AvancerA a A a P P depose P haute ARU Avancer

A a P depose P haute culerA b A b P P prise P haute ARU culerA c P haute P depose P prise REP

A A b P prise P hau

⎧ ⋅ ≤⎪⎨ ⋅ ⋅ + + ≤⎪⎩⎧ ⋅ ≤⎪

⋅ ⋅ + + ≤⎨⎪ + ⋅ ≤⎩

⋅ ⋅( )_ _

1 /( _ _ ) _ _3 6 8 3)

_ _

2) _ _6 ) _ _

te dcy P depose P haute Descendre

s P prise P basse P depose P basseA A a A c P Descendre

ARU P prise P depose

A P prise P basse AspirerA b P depose P basse Aspirer

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧ ⋅ + ⋅ ≤⎪⎪⎨ ⎛ ⎞⋅ + ⋅

⋅ ⋅ ⋅ ≤⎪ ⎜ ⎟⎜ ⎟+ + ⋅⎪ ⎝ ⎠⎩⎧ ⋅ ≤⎪⎨ ⋅ ≤⎪⎩

8⎪

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

7) Regroupons les SF-T3 et SF-T4 en utilisant X[2.25]X

14 15 16) Re Re 0*9 10) _ _ _ _ 0*

A A A Avancer culer Avancer Descendre culer DescendreA A P prise P depose P haute P basse

⎧ ⋅ ⋅ ⋅ + ⋅ + ⋅ =⎪⎨ ⋅ ⋅ + ⋅ =⎪⎩

Après le regroupement nous constatons qu'il a le système d'équations des sorties (points 4, 5

et 6). En plus, d'après le point 7 nous avons une équation (SF-T4) qui représente tous les états

interdits et une équation (SF-T3) qui représente tous les hypothèses sur les entrées. D'autre

part, nous constatons que pour cet exemple nous n'avons plus des équations du système de

comportement global car toutes les assertions SF-T2 ont été décomposées en SF-T1.

Page 158: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

138

8.1.2 Vérification et correction des propriétés

8.1.2.1 Détection et résolution des incohérences des sorties

Nous allons appliquer l'algorithme 1 pour la recherche et les corrections des incohérences sur

les sorties au même temps en identifiant les variables pour chacune : ,Avancer ,Reculer

Descendre et Aspirer . Nous ferons appel à l'utilisateur pour résoudre les incohérences sauf

pour les cas des variables qui n'apparaissent jamais en absence de défaillance, c'est-à-dire U0.

Cependant il est demandé que les assertions A14, A15 et A16 soient respectées même si une

panne arrive ( 0*Avancer Reculer Avancer Descendre Reculer Descendre⋅ + ⋅ + ⋅ = ).

Nous commençons la première vérification par le calcul de la propriété de la cohérence : 1hyp

P1_1) 1 ( )Avhyp Phaute Pprise ARU Pdepose= ⋅ ⋅ + 1 ( )Rechyp Phaute Pprise Pdepose ARU Phaute Pdepose Pprise= ⋅ ⋅ + ⋅ ⋅ +

( )( )1

_

1 /( _ _ )Des

Pdepose P basse ARU dcy Pprise Pdeposehyp Phaute

s P prise P basse dcy Pprise Pdepose

⎛ ⎞⋅ + ⋅ ⋅ +⎜ ⎟= ⋅ ⎜ ⎟+ ⋅ ⋅ ⋅ +⎜ ⎟⎝ ⎠

8

8

1 _Asphyp P basse Pdepose Pprise= ⋅ ⋅

Remarque :

En utilisant des théorèmes il est possible dans certains cas de réduire ces expressions. En

effet, en utilisant les expressions au début de ce chapitre nous pouvons simplifier 1Deshyp .

En effet, ( )_ 1 /( _ _ ) 0*P haute s P prise P basse⋅ ⋅ = et par conséquence 1Deshyp peut être

simplifiée comme :

( )⋅1Deshyp = Phaute Pbasse Pdepose + ARU ( dcy Pprise + Pdepose)⋅ ⋅ ⋅8

Nous continuons avec l'algorithme 1 et on s'arrête au Q4-R2 pour lui poser les questions

suivantes sur les systèmes incohérents. Notons que Aspirer est déjà cohérent

( )

( ) { , , } ?( ) { , , } ?

{ , ,

Avancer

Reculer

ARU Phaute Pprise Pbasse Pdepose Avancer Avancer REPARU Phaute Pbasse Pprise Reculer Reculer REP

ARU Phaute Pbasse dcy Pprise Pdepose Pdepose Pprise Descendre Descendre

⋅ ⋅ ⋅ ⋅ ≤⋅ ⋅ ⋅ ≤

⋅ ⋅ ⋅ ⋅ ⋅ + ⋅ ≤

Q4_R2)

8 } ?DescendreREP

ANALYSE PARTIELLE :

Notons que les expressions calculées ont toutes comme facteur l'arrête d'urgence (ARU).

Nous allons considérer que le signal ARU doit impérativement provoquer l'arrêt de la

commande des sorties ,Avancer Reculer et Descendre . Autrement dit, l'arrêt est prioritaire.

Page 159: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

139

Nous continuons l'algorithme et nous recevons évidement comme réponse :

( )

( )gAvancer

gReculer

gDescendre

k ARU Phaute Pprise Pbasse Pdepose Avancer

k ARU Phaute Pbasse Pprise Reculer

dcy Pprise Pdeposek ARU Phaute Pbasse DescendrePdepose Pprise

⇒ ⋅ ⋅ ⋅ ⋅ ≤

⇒ ⋅ ⋅ ⋅ ≤

⎛ ⎞⋅ ⋅⇒ ⋅ ⋅ ⋅ ≤⎜ ⎟⎜ ⎟+ ⋅⎝ ⎠

8

Ainsi, en suivant l'algorithme 1, nous calculons 1hyp à nouveau, au deuxième cycle et nous

obtenons :

P1_1) 1 0 *Avancer 1Reculer 1Descendrehyp hyp hyp= = =

L'INCOHÉRENCE ENLEVÉE, il nous reste qu'à finir l'algorithme pour obtenir les

systèmes des sorties modifiés et cohérents. Le système de sorties cohérent est alors

P6_1) ( )( )

vAvancer

vAvancer

vReculer

vReculer

vReculer

f Phaute Pprise ARU Pdeposeg ARU Pbasse Pdepose Phaute Pprise ARU Pdepose

f Phaute Pdepose ARU Ppriseg Pdepose Pprise Phaute ARU Pbasse Ppriseh ARU Phau

⎧ = ⋅ ⋅ ⋅⎪⎨

= ⋅ ⋅ + + ⋅ +⎪⎩

= ⋅ ⋅ ⋅= ⋅ + + ⋅ ⋅= ⋅

( )( )

1 /( _ _ )

(

vDescendre

vDescendre

te Pdepose Pprise

f Phaute ARU Pbasse Pdepose dcy Pprise dcy Pprise Pdepose

Pbasse Pdepose Phaute s P prise P basse Pdepose Ppriseg

ARU dcy Pdepose Phaute Pbasse Pdepo

⎧⎪⎨⎪ ⋅ ⋅⎩

= ⋅ ⋅ ⋅ + ⋅ + ⋅ ⋅

⋅ ⋅ + ⋅ + ⋅=

+ ⋅ ⋅ + + ⋅

8 8

8( )

{

)

0*

vAspirer

vAspirer

vAvancer vDescendre vAspirer

se Pprise

f Pbasse Pprise

g Pbasse Pdepose

h h h

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧⎪⎪⎪⎨⎪⎪ ⎛ ⎞⎨⎪ ⎜ ⎟⎪⎪ +⎜ ⎟⎪ ⎝ ⎠⎪⎩⎪⎧ = ⋅⎪⎪⎨⎪ = ⋅⎪⎪⎩⎪⎪ = = =⎪⎩

8.1.2.2 Vérification et corrections des incohérences dues aux états interdits

La commande demande à interdire les états suivants qui doivent être inaccessibles :

0 *Avancer Reculer Avancer Descendre Reculer Descendre⋅ + ⋅ + ⋅ =

Il suffit d'interdire chaque état pour que l'ensemble des états soit interdit (voir X[2.25]X). En

effet, il suffit de prouver que ( ) 0 *Avancer Reculer⋅ =8 , ( ) 0 *Avancer Descendre⋅ =8 et

( ) 0 *Reculer Descendre⋅ =8 . A partir de l'équation développée au chapitre précédent nous

déterminons la propriété à vérifier pour chaque terme qui a deux sorties. Les résultats après

substitution et simplification sont les suivants : 0*fmARhyp =

Page 160: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

140

( )fmADhyp dcy Phaute Pprise Pbasse Pdepose ARU Avancer Descendre= ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ +8 ( )fmRDhyp Phaute Pdepose Pbasse Pprise ARU Reculer Descendre= ⋅ ⋅ ⋅ ⋅ ⋅ +

Nous utiliserons donc l'algorithme 2, en considérant Q5-R2, pour corriger les deux

dernières propriétés car la première est respectée. Nous n'allons montrer ici que les pas

principaux de la démarche sans montrer tous les calculs et résultats.

P1_1) Nous avons déjà calculés le respect des états interdits à partir de la SF introduite par

l'utilisateur. Les résultats sont donc fmADhyp et fmRDhyp (voir ci-dessus). La propriété (Q1_1)

n'est pas respecté pour Avancer Descendre⋅ et Reculer Descendre⋅ car ces états sont accessibles

depuis l'ensemble des états accessibles.

Q4_R2) Il est nécessaire de corriger la SF, les modifications cependant doivent être faites par

l'utilisateur sur les parties qui conduisent le système vers un état interdit : fmADhyp et

fmRDhyp . L'utilisateur doit donc modifier la SF car elle est contraignante et par conséquence

sans solution. En effet, à partir du fmADhyp nous mettons en évidence que l'utilisateur

demande d'avancer et aussi de reculer dans la SF mais il ne faut pas en plus avancer et reculer

en même temps. C'est la même chose avec fmRDhyp car il demande de reculer et aussi de

descendre dans la SF mais il ne faut pas en plus reculer et descendre en même temps.

La question à poser à l'utilisateur est donc { , } ?{ , } ?

fmAD

fmRD

hyp Avancer Descendrehyp Reculer Descendre

≤≤

Analyse du système :

Pour Avancer et Descendre , la réponse paraît évident : il faut descendre car fmADhyp est

la condition pour commencer le cycle. Cependant, supposons le cas où le cycle est déjà

commencé et que le préhenseur est déjà pris la pièce, il soit au Phaute Pprise Pdepose⋅ ⋅ , le

bouton d'urgence ne soit pas activé et que le bouton dcy (début du cycle) soit appuyé.

Dans ce cas là, le cycle doit continuer et le préhenseur avancer.

Nous remarquons en plus que la commande ne dépend pas de l'état précédent d' Avancer

et de Descendre car dans les deux cas de figure (au début du cycle et au moment

d'avancer le préhenseur) l'état précédent est Avancer Descendre⋅ . Cela veut dire que

l'utilisateur ne doit pas choisir s'il faut Avancer ou Descendre avec fmADhyp , il doit

plutôt préciser la commande.

Page 161: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

141

D'autre part, pour Descendre et Reculer la condition fmRDhyp montre aussi que la

commande est ambiguë. En effet, au Phaute Pdepose Pbasse Pprise⋅ ⋅ ⋅ et le bouton

d'urgence n'est pas activé, le préhenseur doit descendre pour déposer la pièce quand elle

est prise et par contre, une fois que la pièce est déjà déposé le préhenseur doit reculer afin

de finir le cycle. Nous remarquons en plus que la commande ne dépend pas de l'état

précédent de Reculer et de Descendre car dans les deux cas de figure (le préhenseur avec

et sans la pièce) l'état précédent est Reculer Descendre⋅ . Cela veut dire que l'utilisateur ne

doit pas choisir s'il faut Descendre ou Reculer avec fmRDhyp , il doit plutôt préciser la

commande.

REPONSE :

Notons la différence dans les deux cas analysés et, le fait que la pièce soit ou non prise. Or,

depuis les assertions A2 et A6 il s'avère que la pièce est prise par la commande Aspirer. De ce

fait, la commande peut être précisée à partir des assertions suivantes. Notons que la sortie

Aspirer sert à définir le choix entre une option et l'autre (A9 et A11; A10 et A12; A13 et A15;

et A14 et A16) :

( )( )

( )( )

17)

18)

19)

20)

21) ( )

A Phaute Pprise ARU Aspirer Avancer

A dcy Phaute Pprise ARU Aspirer Descendre

A Phaute Pprise ARU Aspirer Avancer

A Phaute Pprise ARU Aspirer Descendre

A Phaute Pdepose ARU Aspirer

⎧ ⋅ ⋅ ⋅ ≤⎪⎨

⋅ ⋅ ⋅ ⋅ ≤⎪⎩⎧ ⋅ ⋅ ⋅ ≤⎪⎨

⋅ ⋅ ⋅ ≤⎪⎩

⋅ ⋅ ⋅ ≤

8

22) ( )

23) ( )24) ( )

ReculerA Phaute Pdepose ARU Aspirer Descendre

A Phaute Pdepose ARU Aspirer ReculerA Phaute Pdepose ARU Aspirer Descendre

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎧⎪⎪⎨⎪ ⋅ ⋅ ⋅ ≤⎪⎩⎪⎧⎪ ⋅ ⋅ ⋅ ≤⎪⎪⎨

⋅ ⋅ ⋅ ≤⎪⎪⎩⎩

La somme de ces assertions nous donne la réponse de l'utilisateur :

fAvancerk , gAvancerk , fReculerk , gReculerk , fReculerk , gReculerk fDescendrek gDescendrek

dont 0 0 *hAvancer hReculer fDescendre ak k k U= = = =

Page 162: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

142

Remarques :

● Nous soulignons en plus que nous avons ajouté d’assertions et non pas de priorités à

respecter. Ceci afin de mettre en évidence la correction à faire dans l'algorithme 2 car ces

nouvelles assertions sont évidemment incohérentes par rapport à la SF de départ.

● D'autre part, il faut souligner qu'il n'est pas considéré dcy8 comme facteur dans les

assertions A17, A19 et A20 car celles-ci seraient plus contraignantes qu'elles doivent

l'être.

● La considération de ce terme aurait eu en plus comme conséquence, après la correction de

l'incohérence, l'introduction implicite de dcy Phaute Pprise Pdepose ARU Avancer⋅ ⋅ ⋅ ⋅ ≤8 .

Cette assertion n'est pas correcte et celle-ci met en évidence que les corrections dans cette

partie sont délicates et l'utilisateur doit être attentif aux corrections qu’il fait.

Q5-R1_1) Il faut faire la vérification de la cohérence du système avec l'introduction des

assertions A17 à A24. Nous continuons donc cette vérification en utilisant l'algorithme 1.

Nous commençons la vérification, au premier cycle, par le calcul de la propriété de la

cohérence : ( ) ( )1 ( ) ( ) ( ) 0 *f g f h g h g h f h f ghyp k k k k k k f k k g k k h k k= ⋅ + ⋅ + ⋅ + ⋅ + + ⋅ + + ⋅ ⋅ = ,

Le résultat nous indique que l'ajout des spécifications données ci-dessus n’est pas cohérent

avec les systèmes des sorties et ses propriétés.

Cela veut dire que les systèmes des sorties : Avancer, Reculer et Descendre, sont

incohérents car les sorties ne sont pas égaux à 0*. Ce résultat était attendu car ces

assertions ont été ajoutées comme corrections. Ainsi, en suivant l'algorithme 1, l'utilisateur

répondra lui-même aux incohérences :

Au Q4_R2 nous recevons comme réponse :

gAvancer

gReculer

gDescendre

K Phaute Pprise Pbasse Pdepose ARU Aspirer AvancerK Phaute Pdepose Pbasse Pprise ARU Aspirer Reculer

dcy Pprise Pdepose AspirerK Phaute Pbasse ARUPdepose Pprise Aspirer

⇒ ⋅ ⋅ ⋅ ⋅ ⋅ ≤

⇒ ⋅ ⋅ ⋅ ⋅ ⋅ ≤

⎛ ⋅ ⋅ ⋅⇒ ⋅ ⋅ ⋅ ⎜⎜ + ⋅ ⋅⎝

8

0 0 *fAvancer fReculer fDescendre hAvancer hReculer hDescendre a

Descendre

K K K K K K U

⎞≤⎟⎟

⎠= = = = = = =

Un nouveau cycle de calcul de vérification de la cohérence commence et à la fin nous

constatons le respect de la cohérence, nous obtenons le système cohérent introduit pour

résoudre aux états interdits :

Page 163: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

143

P6_2) ( )

( )( )

0*

vAvancer

vAvancer

vAvancer

f Phaute Pprise ARU Pdepose Aspirer Pbasse

Phaute ARU Pprise Aspirer Pbasse PdeposegPprise ARU Pdepose

h

⎧ = ⋅ ⋅ ⋅ ⋅ +⎪

⎛ ⎞⎪ + + ⋅ ⋅ ⋅⎪ = ⎜ ⎟⎨ ⎜ ⎟+ ⋅ +⎪ ⎝ ⎠⎪ =⎪⎩

( )

( )

vReculer

vReculer

vReculer

f Phaute Pdepose Pprise ARU Aspirer Pbasse

Pdepose Pprise PhautegARU Aspirer Pdepose Pbasse Pprise

h ARU Phaute Pdepose Pprise

⎧ = ⋅ ⋅ ⋅ ⋅ +⎪

⎛ ⎞⎪ ⋅ +⎪ = ⎜ ⎟⎨ ⎜ ⎟+ + ⋅ ⋅ ⋅⎪ ⎝ ⎠⎪ = ⋅ ⋅ ⋅⎪⎩

( )

( )

1 /( ) ( )

( )

vDescendre

vDescendre

Pdepose Pbasse Aspirer Pprisef Phaute ARUdcy Pprise Pdepose Aspirer Pbasse

s Pprise Pbasse Phaute ARU Pbasse Pdepose

Pdepose ARU Aspirer Phauteg PbassePprise

⎛ ⎞⋅ ⋅ += ⋅ ⋅ ⎜ ⎟⎜ ⎟+ ⋅ ⋅ ⋅ +⎝ ⎠

⋅ + ⋅ + ⋅

⋅ + ⋅= + ⋅

+

8

( )

0*vDescendre

ARU Aspirer Phaute

Pdepose Pprise dcy Pdepose ARU

h

⎧⎪⎪⎪

⎛ ⎞⎪⎜ ⎟⎪

⎛ ⎞⎨ ⎜ ⎟⎜ ⎟⎪ ⎜ ⎟⎜ ⎟⋅ + ⋅⎪ ⎝ ⎠⎜ ⎟

⎪ ⎜ ⎟+ ⋅ + ⋅ ⋅⎝ ⎠⎪⎪ =⎩

8

0 *

vAspirer

vAspirer

vAspirer

f Pbasse Pprise

g Pbasse Pdepose

h

⎧ = ⋅⎪⎪ = ⋅⎨⎪ =⎪⎩

Après avoir vérifié la cohérence des assertions introduites nous continuons l'algorithme 2 au

P5 afin de commencer le deuxième cycle en considérant le dernier système introduit (P6_2).

P1_2) Calcul du respect des états interdits avec la SF introduite par l'utilisateur (P6_2):

fmADhyp dcy Pbasse Phaute Pprise Pdepose ARU= ⋅ ⋅ ⋅ ⋅ ⋅8 0*fmRDhyp =

Pu0_1_2 ) L'état Avancer Descendre⋅ n'est pas accessible qu'en cas de panne des capteurs. En

effet, en considérant la SF-T3, notamment A10 ( 0 *Pbasse Phaute⋅ = ), nous avons

0*eiADav eiADhyp hyp Uo= ⋅ =

Nous soulignons que cet état peut être accessible si la panne des capteurs arrive. C'est-à-

dire, si le signal ( )dcy Pdepose ARU Pbasse Phaute Pprise⋅ ⋅ ⋅ ⋅ ⋅8 devient vrai à un instant t

quelconque alors le préhenseur avancera et descendra au même temps.

Nous finissons donc la vérification des états interdits car nous venons de constater que ces

états ne sont pas accessibles en considérant que la panne des capteurs n'arrive jamais.

8.1.2.3 Vérification et correction de la SF afin que le système soit unité stable

Nous avons déterminé qu'une spécification partielle respecte l'unité stabilité si 0*ushyp = où :

Page 164: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

144

{ }1,

( )xi xi ius etati p

f h Xhyp fouh

⎛ ⎞+ ⋅= ⎜ ⎟ ⋅⎜ ⎟⎝ ⎠

∏ tel que { }

{ }1,

1,1*

( )

ii p

xi xi ietat i p X

f h Xfouh

∈ ⎛ ⎞=⎜ ⎟⎜ ⎟

⎝ ⎠

⎛ ⎞+ ⋅= ⎜ ⎟⎜ ⎟⎝ ⎠ ∏

Après calcul, nous obtenons pour huit états non interdits (tel que Ava Rec Des Asp⋅ ⋅ ⋅ ) :

( ( ( () ) ) )

( ( ( () ) ) )

0*0*

us us us usAva Rec Des Asp Ava Rec Des Asp Ava Rec Des Asp Ava Rec Des Asp

us us us usAva Rec Des Asp Ava Rec Des Asp Ava Rec Des Asp Ava Rec Des Asp

hyp hyp hyp hyphyp hyp hyp hyp

⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅

⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅

= = = =

= = = =

Cela veut dire que pour tous les états non interdits, d'après cette spécification partielle,

l'unité-stabilité est respectée. Nous remarquons cependant que ce résultat est nécessaire

mais il n'est pas encore suffisant pour garantir l'unité-stabilité car les systèmes ne sont pas

complets.

8.1.3 Résolution de l'incomplétude

Pour cet exemple, nous avons choisi de grouper les pas du calcul des conditions d'existence

d'une solution complète et la résolution de l'incomplétude car avec le choix prédéterminé de

rester dans l'état précédent, il est possible de substituer ce choix et vérifier si les propriétés

demandées sont respectées. Nous allons donc suivre la démarche décrite au chapitre 6.

1) Nous calculerons donc les conditions d'existence en suivant le choix de rester dans l'état

précédent (tel que l'exemple 2) :

0*favancer gavancer freculer greculer fdescendre gdescendre faspirer gaspirerk k k k k k k k= = = = = = = = ,

havancer avancer avancer avancerk f g h= ⋅ ⋅ , hreculer reculer reculer reculerk f g h= ⋅ ⋅ ,

hdescendre descendre descendre descendrek f g h= ⋅ ⋅ et haspirer aspirer aspirer aspirerk f g h= ⋅ ⋅ ,

2) Comme les états accessibles ne sont pas bloquants, alors nous vérifierons le respect des

états interdits. En effet, comme toute l'incomplétude reste dans l'état précédent alors la

cohérence des sorties vérifiée au 8.1.2 est toujours respectée.

Ainsi, nous allons calculer le respect des états interdits, tel que nous l'avons fait dans la

section 8.1.2.2 mais pour le système complété avec le choix de rester dans l'état précédent.

Il s'avère que 0*fmtotAR fmtotAD fmtotRDhyp hyp hyp= = = . Par conséquence le choix de rester

dans l'état précédent respect les états interdits et aucune assertion additionnelle est nécessaire.

3) Il n'est pas nécessaire de revérifier l'unité stabilité car il n'y a pas eu aucun ajout

d'assertions au point 2.

Cela veut dire que le système respect toutes les propriétés en considérant que l'incomplétude

reste dans l'état précédent.

Page 165: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

145

En considérant la SF-T3, l'expression du système solution en simplifiant en utilisant X[2.25]X et

les équivalences X[2.34]X à X[2.41]X; les fonctions des sorties Avancer , Reculer et Descendre

peuvent se simplifier comme suit :

Avancer

Avancer

f Phaute Pprise ARU Aspirerg ARU Pdepose Phaute Pprise Aspirer

⎧ = ⋅ ⋅ ⋅⎪⎨

= + + + ⋅⎪⎩

Reculer

Reculer

f Phaute Pdepose ARU Aspirerg ARU Pprise Phaute Pdepose Aspirer

⎧ = ⋅ ⋅ ⋅⎪⎨

= + + + ⋅⎪⎩

( )

1 /( )( )

Descendre

Descendre

f Phaute ARU dcy Pprise Aspirer Pdepose Aspirer

ARU s Pprise Pbasse Pbasse Pdepose Pdepose PprisegPhaute Pdepose Aspirer Pdepose Aspirer

⎧ = ⋅ ⋅ ⋅ ⋅ + ⋅⎪⎪⎨ ⎛ ⎞+ ⋅ + ⋅ + ⋅

=⎪ ⎜ ⎟⎜ ⎟+ ⋅ ⋅ + ⋅⎪ ⎝ ⎠⎩

8

5) ( ) ( ) ( ) 0*6) 0*

SF T Avancer Reculer Avancer Descendre Reculer DescendreSF T Pbasse Phaute Pprise Pdepose⎧ − ⋅ + ⋅ + ⋅ =⎪⎨ − ⋅ + ⋅ =⎪⎩

8 8 8

Les fonctions des sorties à la sortie du calculateur sont les suivants :

( , )( , )( , )( , )

vDescendre vDescendrevAvancer vAvancer

vAspirer vAspirervReculer vReculer

Descendre SR f gAvancer SR f gAspirer SR f gReculer SR f g

====

Nous précisons pour l’implantation en parallèle de section suivante que

( )i i i i i i i i i i iX f g x f h x f f h x= + ⋅ = + ⋅ = + + ⋅ où h f g= ⋅ .

8.1.4 Implantation

L'implantation sur un calculateur demande en plus la semi-insensibilité à l'ordre. La figure 44

montre le graphe de dépendance. Nous remarquons que le calcul d' Aspirer peut affecter le

calcul d' Avancer , Reculer et Descendre mais Avancer , Reculer et Descendre n'ont aucune

influence sur Aspirer . En conséquence le système est insensible à l'ordre en calculant d'abord

Avancer , Reculer et Descendre et après Aspirer . Les sorties Avancer , Reculer et Descendre

peuvent se calculer en n'importe quel ordre car elles sont indépendantes entre elles. D'autre

part, la variable interne 1 /( )s Pprise Pbasse⋅ ne dépend que des entrées et elle affecte

Descendre , par conséquence elle doit être calculée avant Descendre afin de ne pas provoquer

la non unité stabilité. En effet, on arrive à l’état désiré de Descendre en un seul pas de calcul.

Figure 44 Graphe de dépendances

Page 166: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

146

La figure 45 montre le diagramme d'implantation sur : a) un calculateur exécuté en séquentiel

qui respecte la semi-insensibilité à l'ordre et b) sur un calculateur exécuté en parallèle

Figure 45 Diagramme d'implantation des fonctions de sortie de l'exemple 3 a) Diagramme Ladder et b) diagramme câblé

Page 167: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Chapitre 8 : Étude de cas : Exemple 3

147

8.2 Analyse du troisième exemple

Cet exemple nous a permis de montrer plusieurs aspects de notre proposition :

D'une part, nous avons utilisé des théorèmes développés dans les chapitres précédents,

notamment le TON. Ces théorèmes nous permettent de vérifier formellement des propriétés

(toujours vraies ou toujours fausses) où l'utilisation d'opérations temporelles est nécessaire.

D'autre part, nous a permis l'utilisation des algorithmes sur un cas plus complexe où plusieurs

sorties sont utilisées.

La spécification donnée par l'utilisateur n'était pas au point cependant l'exemple a permis de

mettre en évidence que la méthode nous permet de surmonter cette problématique en faisant

appel à l'utilisateur.

Nous précisons que cet exemple a été choisi afin de montrer la résolution pour un système à

plusieurs sorties jusqu'à l'implantation sur un calculateur qui exécute les fonctions

séquentiellement. La validation de la semi-insensibilité à l'ordre est montrée à travers un

graphe de dépendances.

8.3 Conclusion

Cet exemple nous a permis de montrer l'utilisation des algorithmes sur un cas plus complexe

où il y a plusieurs sorties. La spécification donnée par l'utilisateur n'était pas au point

cependant la méthode nous a permis d'identifier les causes du non-respect dans la SF. La

démarche proposée indique les pas à suivre pendant la synthèse pour arriver à calculer les

fonctions de contrôle. Néanmoins, c'est l'expérience et le savoir faire de l'utilisateur qui

permettra d'analyser les incohérences et surmonter les incohérences en ajoutant ou en enlevant

des assertions.

Si la SF est correctement spécifiée dès le départ, la méthode proposée permettra de générer

automatiquement la fonction de contrôle en considérant les propriétés que nous avons défini.

Les algorithmes de résolution ont été conçus cependant en considérant que dans la pratique

industrielle les erreurs et les oublis dans la phase de conception peuvent arriver souvent.

Page 168: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

 

Page 169: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Conclusions et Perspectives

149

Conclusions et Perspectives

Le travail présenté tout au long de ce mémoire a consisté au développement d'une méthode

alternative à la Théorie de la Commande Supervisée. Le souci majeur de notre démarche a été

de garantir a priori la sûreté de fonctionnement de la commande et le but principal,

l'application industrielle de la méthode.

Le travail de recherche ne pouvait commencer que par la définition du cadre formel. L'algèbre

ø étant défini et utilisée pour la vérification formelle [Rou_03b] nous a offert des bases

formelles très intéressantes à notre recherche. Pour pouvoir utiliser cette algèbre dans la

synthèse nous avons dû, dans un premier temps, participer à la définition et à la démonstration

des théorèmes présentés dans ce mémoire.

A ce sujet, nous avons contribué à l'ajout de certains théorèmes de l'algèbre de base et des

opérateurs TON, TOF, FE et RE ainsi qu'aux démonstrations d'un total de 53 théorèmes. Nous

avons dû redéfinir le SR car il présentait des imprécisions dans la définition et par

conséquence tous les théorèmes ont été donc redémontrés (28 théorèmes). La partie la plus

importante, de notre contribution est portée sur la relation d'ordre partiel et son utilisation

pour la résolution d'équations (62 théorèmes).

Le premier apport de nos travaux découle de cette participation. En effet, nous avons observé

que la relation d'ordre pouvait représenter la spécification de fonctionnement de la

commande. Ce principe a été utilisé pour la vérification formelle. Nous avons cependant

proposé l'utilisation de cette relation d'ordre pour la définition d'un jeu d'équations

représentant la SF. Nous nous sommes proposés comme objectif la résolution de ce système

d'équations, représentant la SF, afin de calculer la fonction de contrôle.

Ceci nous a permis de proposer une méthode de synthèse basée sur des signaux algébriques

mais aussi de couvrir plusieurs phases de cycle de vie de contrôleurs logiques (spécification,

Page 170: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Conclusions et Perspectives

150

conception et implantation) en utilisant un seul cadre mathématique, l'algèbre ø, de telle sorte

à conserver la cohérence de formalisme jusqu'à l'implantation sur un contrôleur logique.

Nous pouvons citer plusieurs contributions qui ressortent de ce mémoire de thèse :

⎯ Nous avons présenté une technique de résolution de système d'équations.

⎯ Ce système d'équations, représentant une spécification de fonctionnement, nous a

permis de présenter une méthode de synthèse en utilisant cette technique de résolution.

⎯ Nous avons défini formellement sur ø des propriétés à respecter : les deux propriétés

inhérentes à la solution d'un système d'équations : la cohérence et la complétude et en

plus, d'autres propriétés inhérentes aux systèmes de commande : le non blocage, l'unité

stabilité et la semi-insensibilité à l'ordre. Nous avons considéré aussi les états interdits.

⎯ Nous avons proposés des algorithmes de correction.

Nous envisageons comme perspectives, notamment :

Continuer le développement du programme crée en Mathématica pour l'analyse, le calcul

et la synthèse des expressions algébriques. Le but serait de systématiser la méthode.

La recherche des expressions formelles, en algèbre ø, décrivant des comportements

séquentiels. Le premier objectif serait de représenter des contraintes d'évolution des

signaux d'entrée. Par exemple, ne pas attendre la détection de fin de sortie d'un vérin si un

capteur indique qu'il est rentré (début de course).

La recherche des expressions de vérification des propriétés. Surtout, celles qui décrivent

des contraintes sur le comportement global du système tel que la vivacité.

Ces recherches peuvent servir, entre autre, pour étudier les possibilités de faire une passage a

l'échelle et aussi d'avoir des moyens de comparaison avec des exemples traités surtout par la

théorie de Ramadge and Wonham qui est la technique de synthèse de la commande la plus

utilisée dans la communauté scientifique. Ces comparaissons sont indispensables pour

démontrer que la méthode que nous proposons peut surmonter la limitation de l’explosion

combinatoire.

Page 171: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

151

Bibliographie

[Bal_92] BALEMI S., Control of Discrete Event Systems : Theory and Application, Thesis for the degree of Doctor of Technical Sciences, Swiss Federal Institute of Technology, Zurich, Mai 1992.

[Bal_93] BALEMI S., HOFFMANN G. J., GYUGYI P., WONG-TOI H., FRANKLIN G. F., Supervisory control of a rapid thermal multiprocessor, IEEE Transaction on Automatic Control, Vol. 38, No. 7, pp. 1040-1059, July 1993.

[Ber_91] BERLIOUX P., LEVY M., "Théorie des langages", Notes de cours, ENSIMAG, Mars 1991.

[Bou_92] BOUTEILLE N., BRARD P., COLOMBARI G., COTAINA N., RICHET D., Le GRAFCET, Toulouse, Editions Cépaduès, 1992, ISBN 2-85428-307-4.

[Bra_89] BRANDIN B.A, The Supervisory Control of Discrete Event Systems with Forcible Events, Thesis for the degree of Master of Applied Science, Departement of Electrical Engineering, Université de Toronto, Octobre 1989.

[Cas_98] CASPI P., SALEM R., ALLA H., DAVID R., YEDDES M., Communicating periodic synchronous processes, Technical report, LAG 98-160, CRISYS Project EP 25.514, December 1998.

[Cas_99] CASSANDRAS C. G., LAFORTUNE S., Introduction to Discrete Event Systems, Boston Kluwer Academic Publishers, 1999.

[Cha_96] CHARBONNIER F., Commande supervisée des Systèmes à Evénements Discrets, Thèse de doctorat de l’Institut National Polytechnique de Grenoble, Spécialité : Automatique - Productique, 10 Janvier 1996.

[Did_06] DIDEBAN A., ALLA H., Solving the Problem of Forbidden States by Feedback Control Logical Synthesis, IEEE Industrial Electronics, IECON 2006 – 32nd Annual Conference, pp. 348-353, November 2006, Paris, FRANCE.

[Fab_98] FABIAN M., HELLGREN A., PLC-based Implementation of supervisory control for discrete event systems. Proceeding of the 37th IEEE Conference on Decision and Control, Vol. 3, pp. 3305-3310, Tampa, Florida, 1998.

[Fau_01] FAURE J.M., LESAGE J.J., Methods for safe control systems design and implementation, 10th IFAC Symposium on Information Control Problems in Manufacturing, INCOM 2001, Vienna, AUSTRIA, 20-22 September 2001.

[Gaf_03] GAFFE D., Modélisation et vérification d'un système mécatronique par SyncCharts, Actes du Congrès Modélisation des Systèmes Réactifs, MSR 2003, pp. 95-107, Metz, FRANCE, 6-8 Octobre 2003.

Page 172: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Bibliographie

152

[Gha_02] GHAFFARI A., Les réseaux de Petri pour la synthèse de contrôle des systèmes à événements discrets, Thèse de doctorat, Université de Metz, Décembre 2002.

[Goh_98] GOHARI P., WONHAM W.M., A linguistic framework for controlled hierarchical DES, Proceedings of the 4th Workshop On Discrete Event Systems, WODES 98, pp. 207-212, Cagliari, ITALY, 26-28 August 1998.

[Gou_02] GOUYON D., GOUIN A, PETIN J.F., Application de techniques de synthèse en ingénierie d'automatisation, Conférence Internationale Francophone d’Automatique, CIFA 2002, pp. 62-67, Nantes, FRANCE, 08-10 juillet 2002.

[Gou_03] GOUYON D., PETIN J.F., GOUIN A., Modèles du procédé et de ses spécifications pour la synthèse de la commande, Actes du Congrès Modélisation des Systèmes Réactifs, MSR 2003, pp. 45-60, Metz, FRANCE, 6-8 Octobre 2003.

[Gou_04] GOUYON D., Contrôle par le produit des systèmes d'exécution de la production : apport des techniques de synthèse, Thèse de doctorat de l’Université Henri Poincaré, Nancy-I, Spécialité : Automatique, Traitement du signal, Génie informatique, 6 Décembre 2004.

[Gri_00] GRIMALDI R. P., Discrete and Combinatorial Mathematics : an applied introduction, Reading Addison-Wesley, 4th edition, 2000, ISBN : 0-201-19912-2.

[Han_95] HANISH H.M., RAUSH M., Synthesis of Supervisory controllers based on novel representation of condition/event systems, IEEE International Conference on Systems, Man and Cybernetics, pp. 3069-3074, Vancouver, British Columbia, CANADA, 22-25 October 1995.

[Han_97] HANISCH H.-M., THIEME J., LUDER A., Towards a synthesis method for distributed safety controllers based on net condition/event systems, Journal of Intelligent Manufacturing, Vol. 8, No. 5, pp. 357-368, September 1997.

[Hel_02] HELLGREN A., LENNARTSON B., FABIAN M., Modelling and PLC-based implementation of modular supervisory control, Proceedings of the 6th International Workshop On Discrete Event Systems, WODES 2002, pp. 371-376, Zaragoza, SPAIN, 2-4 October 2002.

[Hop_79] HOPCROFT J.E. AND ULLMAN J. D., Introduction to automata theory, languages and computation, Reading, MA: Addison-Wesley, 1979.

[IEC_61131-3] International Electrotechnical Commission: Programmable controllers, Part3 – Programming languages, IEC 61131-3, Genève, 1993.

[Kat_04] KATTAN B., Synthèse structurelle d'un contrôleur basée sur le Grafcet, Thèse de doctorat de l’Université Joseph Fourier (Grenoble), Spécialité : Automatique-Productique, 3 Septembre 2004.

[Kap 94] KAPELLOS K. Environnement de programmation des applications robotiques réactives, Thèse de doctorat de l'Ecole de Mines de Paris : Informatique temps réel, robotique, automatique, 1 Novembre 1994.

Page 173: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Bibliographie

153

[Kum_91] KUMAR R., GARG V. K., Modeling and Control of Logical Discret Event Systems, Kluwer Academic Publishers, Norwell, USA, 1995.

[Kum_96] KUMAR R., SHAYMAN M. A., Nonblocking supervisory control of nondeterministic systems via prioritized synchronization, IEEE Transactions on Automatic Control, Vol. 41, No. 8, pp. 1160-1175, August 1996.

[Laf 01] LAFORTUNE S., Control of Partially-Observed Discret-Event System : The State of the Art and Some New Results, SCODES 2001 – Paris, July 2001.

[Lau_96] LAUZON S. C., MA A. K. L., MILLS J. K., BENHABIB B., Application of discrete-event system theory to flexible manufacturing, IEEE Control Systems Magazine, Vol. 16, No.1, pp. 41-48, February 1996.

[Li_91] LI Y., Control of vector discrete event systems, Ph.D. thesis: Department of Electrical and Computer Engineering, University of Toronto, July 1991.

[Lin_88] LIN F., WONHAM W. M., Decentralized supervisory control of discrete-event systems, Information Sciences, Vol. 44, No. 3, pp. 199-224, April 1988.

[Liu_02] LIU J., DARABI H., Ladder Logic Implementation of Ramadge-Wonham Supervisory Controller, Proceedings of the 6th International Workshop On Discrete Event Systems, WODES 2002, pp. 383-389, Zaragoza, SPAIN, 2-4 October 2002.

[Mar_97] MARCHAND H., Méthodes de synthèse d’automatismes décrits par des systèmes à événements discrets finis, Thèse de doctorat de l'Université de Rennes 1, Spécialité : Informatique, 3 octobre 1997.

[Mar_98] MARIKAR M.T., ROTSTEIN G.E., MACCHIETTO S., An integrated environment for the design of procedural controllers, Preprints Volume II, 9th Symposium on Information Control Manufacturing, Advances in Industrial Engineering, INCOM 1998, pp. 93-99, Nancy, FRANCE, 24-26 June 1998.

[Med_00] MEDINA A., Application de la simulation ternaire dans les systèmes synchrones, Mémoire de recherche du DEA au Laboratoire d'Automatique de Grenoble (LAG) à l'INP de Grenoble, Automatique-Productique, option productique, 3 juillet 2000.

[Med_03] MEDINA A., ROUSSEL J.M., Modélisation d'un système logique séquentiel élémentaire à partir d'une spécification algébrique, Actes des Journées Doctorales d'Automatique, JDA 2003, Valenciennes, FRANCE, pp. 245-250, 25-27 juin 2003.

[Ndj_99] NDJAB C., ZAYTOON J., Synthèse en ligne de la commande à partir du Grafcet, Actes du Congrès Modélisation des Systèmes Réactifs, MSR 1999, pp. 341-350, Cachan, FRANCE, 24-25 mars 1999.

[Ost_89] OSTROFF J. S., Synthesis of controllers for real-time discrete event systems, Proceedings of the 28th IEEE Conference on Decision and Control, Tampa, Florida, Vol. 1, No. 13-15, pp. 138-144, December 1989.

Page 174: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Bibliographie

154

[Phi_03] PHILIPPOT A., TAJER A., GELLOT F., CARRE-MENETRIER V., Synthèse de la commande spécifiée en Grafcet : application à un préhenseur pneumatique, Actes du Congrès Modélisation des Systèmes Réactifs, MSR 2003, pp. 61-75, Metz, FRANCE, 6-8 Octobre 2003.

[Pie_02] PIETRAC L., CHAFIK S., REGIMBAL L., Application de la théorie de la supervision : un exemple de conception de programmes d’API. Conférence Internationale Francophone d’Automatique, CIFA 2002, pp. 728-733, Nantes, FRANCE, 08-10 juillet 2002.

[Pet_81] PETERSON J. L., Petri net theory and the modeling of systems, Prentice Hall, Englewood Cliffs, N. J., 1981.

[Pin_99] PINZON L. E., HANISCH H.-M., JAFARI M.A., BOUCHER T., A Comparative Study of Synthesis Methods for Discrete Event Controllers, Formal Methods in System Design, 15, 123-167, Kluwer Academic Publishers, Netherlands, 1999.

[Que_02] QUEIROZ M. H., CURY J.E.R., Synthesis and Implementation of Local Modular Supervisory Control for a Manufacturing Cell, Proceedings of the 6th International Workshop On Discrete Event Systems, WODES 2002, pp. 377-382, Zaragoza, SPAIN, 2-4 October 2002.

[Ram_82] RAMADGE P. J., WONHAM W. M., Supervisory of discrete Event Processes, 21st IEEE Conference on Decision and Control, Orlando, Floride, Vol. 21, pp. 1228-1229, December 1982.

[Ram_86] RAMADGE P.J., Observability of discrete event systems, 25th IEEE Conference on Decision and Control, Athens, Vol. 25, pp. 1108-1112, December 1986.

[Ram_87a] RAMADGE P. J., WONHAM W. M., Supervisory Control of a Class of Discrete Event Process, SIAM J. Control and Optimisation, Vol. 25, No. 1, pp. 206-230, January 1987.

[Ram_87b] RAMADGE P. J., WONHAM W. M., Modular feedback logic for Discrete Event Systems, SIAM J. Control and Optimisation, Vol. 25, No. 5, pp. 1202-1218, September 1987.

[Ram_89] RAMADGE P. J. G., WONHAM W. M., The Control of Discrete Event Systems, Proceeding of the IEEE, Vol. 77, No. 1, pp. 81-98, January 1989.

[Rau_95] RAUSCH M., HANISCH H. M., Net Condition/event systems with multiple conditions outputs, Proceedings of Symposium on Emerging Technologies and Factory Automation, ETFA 95, Paris, FRANCE, 10-13 October 1995.

[Rou_93] ROUSSEL J.M., LESAGE J.J., Une Algèbre de Boole pour l'approche événementielle des systèmes logiques, APII-AFCET/CNRS, Editions Hermès, Vol. 27, n°5, 1993, pp. 541-560.

[Rou_03a] ROUSSEL J.M., MEDINA A., FAURE J.M., Synthèse de la commande d’un système logique à partir de l'expression algébrique de ses spécifications, Actes du Congrès Modélisation des Systèmes Réactifs, MSR 2003, pp. 77-93, Metz, FRANCE, 6-8 Octobre 2003.

Page 175: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Bibliographie

155

[Rou_03b] ROUSSEL J.M., FAURE J.M., LESSAGE J.-J., MEDINA A., Algebraic approach for dependable logic control systems design, International Journal of Production Research, IJPR 2004, 42(14), pp. 2859-2876, July 2004.

[Rud 92] RUDIE K., WONHAM W. M.. "Think globally, act locally : Decentralized supervisory control." IEEE Transaction Automatic Control, Vol. 37, No. 11, pp. 1692-1708, November 1992.

[Sha_95] SHAYMAN M. A., KUMAR R., Supervisory control of nondeterministic systems with driven events via prioritized synchronization and trajectory models, SIAM Journal on Control and Optimization, Vol. 33, No. 2, pp. 469-497, March 1995.

[Taj_03] TAJER A., PHILIPPOT A., GELLOT F., CARRE-MENETRIER V., Contribution à l'amélioration de la praticabilité des approches formelles de synthèse de commande, Actes des Journées Doctorales d'Automatique, JDA 2003, Valenciennes, FRANCE, pp. 239-244, 25-27 juin 2003.

[Taj_05] TAJER A., Contribution aux approches formelles de synthèse de commande spécifiée par Grafcet, Thèse de doctorat de l’Université de Reims Champagne Ardenne, Spécialité : Génie informatique, Automatique et Traitement du signal, 3 Novembre 2005.

[Wol_91] Wolper P., Introduction à la calculabilité, Collection IIA Informatique intelligence artificielle, Paris Inter-Editions, 1991.

[Won_87] WONHAM W. M., RAMADGE P. J., On the Supremal Controllable Sublanguage Of a Given Language, SIAM J. Control and Optimisation, Vol. 25, No. 3, pp. 637-659, May 1987.

[Won_88] WONHAM W. M., RAMADGE P. J., Modular Supervisory Control of Discrete-Event Systems, Mathematics of Control, Signals, and Systems, Vol. 1, No. 1, pp. 13-30, January 1988.

[Won_94] WONHAM W. M., “Notes on Control of Discrete Event Systems”, Technical Report, ECE 1636F/1637S, 1994.

[Won_98] WONG K. C., WONHAM W. M., Modular control and coordination of discrete-event systems, Discrete Event Dynamic Systems: Theory and Applications, 8(3), pp. 247-297, October 1998.

[Won 99] WONHAM W. M., Notes on control of discrete-event systems, ECE 1636F/1637S 1998-99, mise à jour du 01/12/1999, (http://odin.control.toronto.edu/DES).

[Yed_00a] YEDDES M, ALLA H., DAVID R., Order-insensitivity in Synchronous Distributed Systems, Technichal Report, LAG 99-064.

[Yed_00b] YEDDES M, ALLA H., Checking Order-insensitivity using ternary simulation in synchronous programs, IEEE, ISPASS2000, Austin (USA), pp. 52-58, 2000.

[Zho_90] ZHONG H., WONHAM W. M., On the consistency of hierarchical supervision in discrete-event systems, IEEE Transactions on Automatic Control, Vol. 35, No. 10, October 1990.

Page 176: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

 

Page 177: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexes

157

Annexes

Annexes

Page 178: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe A : La norme IEC-61131-3

158

A. La norme IEC-61131-3

A.1 Opérations permettant de décrire des événements

La norme [IEC 61131-3], norme relative aux langages de programmation des API, propose

deux blocs fonctionnels, dit de détection de fronts, définis à l’aide d’un bloc de code donné en

Structured Text (ST). Cette définition est reprise dans le tableau 1 :

Tableau 1 Blocs fonctionnels détecteurs de fronts (d’après la norme [IEC_61131-3])

Dans cette définition informelle, la valeur Q de la sortie à un instant donné est construite

implicitement à partir de la valeur de l’entrée CLK au même instant et la valeur d’une

variable M. Dans le cas du front montant, la valeur de M est celle de l’entrée CLK à l’instant

précédent. Dans le cas du front descendant, la valeur de M est la valeur opposée de l’entrée

CLK à l’instant précédent. D’un point de vue théorique, nous sommes en présence d’une

définition sous forme d’équations récurrentes. Cette définition à l’aide d’une récurrence n’est

pas nécessaire lorsqu’il est possible de faire référence aux valeurs antérieures de l’entrée

CLK, approche qui a été choisie dans [Rou_93].

Page 179: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe A : La norme IEC-61131-3

159

A.2 Opérations permettant de décrire un comportement séquentiel

La norme [IEC 61131-3], norme relative aux langages de programmation des API, propose

deux blocs fonctionnels qui décrivent des comportements séquentiels. La définition proposée

dans cette norme est la suivante (tableau 2) :

Tableau 2 Blocs fonctionnels bistables (d’après la norme [IEC 61131-3])

Dans cette définition informelle, la valeur Q1 de la sortie à un instant donné est construite

implicitement à partir de la valeur des entrées au même instant et la valeur de Q1 à l’instant

précédent. Nous sommes en présence d’une définition sous forme d’équations récurrentes. Si

cette définition par récurrence est couramment utilisée, elle n’est cependant pas forcément

nécessaire lorsqu’il est possible de faire référence aux valeurs antérieures des entrées. Il suffit

de remplacer la valeur de Q1 à l’instant précédent par l’information qu’elle représente, c’est-à-

dire l’existence d’une date antérieure pour laquelle la mémoire a été mise à un et depuis

laquelle la mémoire n’a jamais été remise à zéro.

A.3 Opérations permettant de décrire un comportement temporisé

La norme [IEC 61131-3], norme relative aux langages de programmation des API, propose

deux blocs fonctionnels qui décrivent des comportements temporisés. La définition proposée

dans cette norme est la suivante (tableau 3) :

Page 180: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe A : La norme IEC-61131-3

160

Tableau 3 Blocs fonctionnels temporisateurs (d’après la norme [IEC 61131-3])

Dans cette norme, le comportement de ces blocs fonctionnels est présenté sous forme de

chronogrammes décrivant le comportement de la sortie Q en fonction de l’entrée IN. La

variable ET est une variable «continue» qui croit linéairement avec le temps jusqu’à la valeur

PT. Cette croissance s’effectue pour le bloc TON lorsque l’entrée IN est présente, et pour le

bloc TOF, lorsque l’entrée IN est absente.

Page 181: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe B: Démonstrations du chapitre 2 : [2.10] à [2.26]

161

B. Démonstrations du chapitre 2 : [2.10] à [2.26]

Démonstration de l'équation [2.10] : f f f⋅ =

*, ( )( ) ( ) ( )( )

,

t f f t f t f tf t

donc f f f

+∀ ∈ ⋅ = ∧=

⋅ =

R

Démonstration de l'équation [2.11] : f f f+ =

*, ( )( ) ( ) ( )( )

,

t f f t f t f tf t

donc f f f

+∀ ∈ + = ∨=

+ =

R

Démonstration de l'équation X[2.12] X : 0* 0 *f ⋅ =

* , ( 0*)( ) ( ) 0*( )( ) 0

00*( )

, 0* 0*

t f t f t tf t

tdonc f

+∀ ∈ ⋅ = ∧= ∧==

⋅ =

R

Démonstration de l'équation X[2.13] X : 1* 1*f + =

*, ( 1)( ) ( ) 1*( )( ) 1

11*( )

, 1* 1*

t f t f t tf t

tdonc f

+∀ ∈ + = ∨= ∨==

+ =

R

Démonstration de l'équation X[2.14] X : ( )f f g f+ ⋅ =

en utilisant [2.5], [2.3], [2.13] et [2.5]

( ) ( 1*) ( )(1* )1*

, ( )

f f g f f gf gf

donc f f g f

+ ⋅ = ⋅ + ⋅= ⋅ += ⋅

+ ⋅ =

Démonstration de l'équation X[2.15] X : ( )f f g f⋅ + =

en utilisant [2.3], [2.10] et X[2.14]X

( ) ( ) ( )( )

f f g f f f gf f g

⋅ + = ⋅ + ⋅= + ⋅

Page 182: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe B: Démonstrations du chapitre 2 : [2.10] à [2.26]

162

, ( )donc f f g f+ ⋅ =

Démonstration de l'équation X[2.16] X : ( ) ( )f g h f g h⋅ ⋅ = ⋅ ⋅

( )

( )

( )

*, ( )( ) ( ) ( )( )( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )

( )( ) ( )( ) ( )

, ( ) ( )

t f g h t f t g h tf t g t h tf t g t h tf t g t h tf g t h tf g h t

donc f g h f g h

+∀ ∈ ⋅ ⋅ = ∧ ⋅

= ∧ ∧

= ∧ ∧

= ∧ ∧

= ⋅ ∧

= ⋅ ⋅

⋅ ⋅ = ⋅ ⋅

R

Démonstration de l'équation X[2.17] X : ( ) ( )f g h f g h+ + = + +

( )( )

( )

( )

*, ( ) ( ) ( ) ( )( )

( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )

( )( ) ( )( ) ( )

, ( ) ( )

t f g h t f t g h t

f t g t h tf t g t h tf t g t h tf g t h tf g h t

donc f g h f g h

+∀ ∈ + + = ∨ +

= ∨ ∨

= ∨ ∨

= ∨ ∨

= + ∨

= + +

+ + = + +

R

Démonstration de l'équation X[2.18] X : f f=

( )*, ( ) ( )

( )( )

( ),

t f t f tf t

f tf t

donc f f

+∀ ∈ = ¬

= ¬ ¬

= ¬¬=

=

R

Démonstration de l'équation X[2.19] X : ( )f g f g⋅ = +

( )*, ( )( ) ( )( )

( ) ( )( )( ) ( )

( ) ( )( )( )

, ( )

t f g t f g tf t g t

f t g tf t g tf g t

donc f g f g

+∀ ∈ ⋅ = ¬ ⋅

= ¬ ∧

= ¬ ∨¬= ∨= +

⋅ = +

R

Démonstration de l'équation X[2.20] : ( )f g f g+ = ⋅

* , ( )( ) ( )( )t f g t f g t+∀ ∈ + = ¬ +R

Page 183: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe B: Démonstrations du chapitre 2 : [2.10] à [2.26]

163

( )( ) ( )( )( ) ( )

( ) ( )( )( )

, ( )

f t g tf t g t

f t g tf g t

donc f g f g

= ¬ ∨

= ¬ ∧¬= ∧= ⋅

+ = ⋅

Démonstration de l'équation X[2.21] X : ( )f f g f g+ ⋅ = +

en utilisant [2.14], [2.17], [2.3], [2.8] et [2.5],

( )( )( )

( ) ( ) ( )

( ) ( )

( ) )

(1* )

f f g f f g f g

f f g f g

f f f g

f gf g

+ ⋅ = + ⋅ + ⋅

= + ⋅ + ⋅

= + + ⋅

= + ⋅= +

Démonstration de l'équation [2.22] : f g f h g h f g f h⋅ + ⋅ + ⋅ = ⋅ + ⋅

en utilisant [2.5], [2.8], [2.3], [2.17], X[2.1]X, [2.17] et [2.14]

( )( )

( ) ( )

(1*) ( )

( ) ( )( ) ( )

( ) ( )

f g f h g h f g f h g h

f g f h f f g hf g f h f g h f g h

f g f g h f h f g h

f g f h

⋅ + ⋅ + ⋅ = ⋅ + ⋅ + ⋅ ⋅

= ⋅ + ⋅ + + ⋅ ⋅

= ⋅ + ⋅ + ⋅ ⋅ + ⋅ ⋅

= ⋅ + ⋅ ⋅ + ⋅ + ⋅ ⋅

= ⋅ + ⋅

Démonstration de l'équation X[2.23] : 1* 0 *=

( )*, (1*)( ) (1*)( )1

00*( )

, (1*) 0*

t t t

tdonc

+∀ ∈ = ¬

= ¬==

=

R

Démonstration de l'équation X[2.24] : 0 * 1*=

( )*, (0*)( ) (0*)( )0

11*( )

, (0*) 1*

t t t

tdonc

+∀ ∈ = ¬

= ¬==

=

R

Page 184: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe B: Démonstrations du chapitre 2 : [2.10] à [2.26]

164

Démonstration de l'équation X[2.25] X : 0 *

0 *0 *

ff g

g⎧ =⎪+ = ⇔ ⎨ =⎪⎩

( )( )( )

*

*

*

0* , ( ) ( ) 0

, ( ) 0

, ( ) 0

0*, 0*

0*

f g t f t g t

t f t

t g t

fdonc f g

g

+

+

+

+ = ⇔ ∀ ∈ ∨ =

⎧∀ ∈ =⎪⇔ ⎨∀ ∈ =⎪⎩⎧ =⎪+ = ⇔ ⎨ =⎪⎩

R

R

R

Démonstration de l'équation [2.26] : 1*

1*1*

ff g

g⎧ =⎪⋅ = ⇔ ⎨ =⎪⎩

( )( )( )

*

*

*

1* , ( ) ( ) 1

, ( ) 1

, ( ) 1

1*, 1*

1*

f g t f t g t

t f t

t g t

fdonc f g

g

+

+

+

⋅ = ⇔ ∀ ∈ ∧ =

⎧∀ ∈ =⎪⇔ ⎨∀ ∈ =⎪⎩⎧ =⎪⋅ = ⇔ ⎨ =⎪⎩

R

R

R

Page 185: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe C: Représentation graphique des spécifications sur ø

165

C. Représentation graphique des spécifications sur ø

Cette section n'a pour but que d'introduire les spécifications sur ø, aux non experts dans cette

algèbre, à l'aide d'une représentation graphique. Nous précisons cependant que ces

représentations ne sont pas des automates à états dans le sens strict du terme. En effet, des

spécifications sur ø, tel que l'élément 0*, n'ont pas un modèle strictement équivalent en

automate à états, modèle couramment utilisé par les automaticiens. Pour cela, nous nous

appuierons sur l'exemple 3 (défini au chapitre IV).

1) La spécification de type SF-T1 considère premièrement, un changement d'état de la sortie

et deuxièmement, l'unité-stabilité.

Par exemple, l'assertion A2 de l'exemple 3 (voir la figure 46a) : _ _P prise P basse Aspirer⋅ ≤ ,

demande d'aspirer si l'aspiration n'était pas activée quand _ _P prise P basse⋅ vaut 1. En effet,

( _ _ )P prise P basse Aspirer Aspirer⋅ ⋅ ≤ ⇔ _ _P prise P basse Aspirer⋅ ≤ (en utilisant X[2.51]X).

Cette assertion demande en plus, pour garantir l'unité-stabilité, de continuer l'aspiration tant

que _ _P prise P basse⋅ vaut 1.

2) La spécification de type SF-T2 : 1 2( , ) ( )F u X F X≤ , qui peut être réécrite comme

1 2 2( , ) ( ) ( )F u X F X F X⋅ ≤ en utilisant X[2.51]X, considère un changement d'état vers l'ensemble

des états d'arrivée 2 ( )F X . L'expression 1 2( , ) ( )F u X F X⋅ nous indique les états de départ et la

condition de transition. Nous montrons la représentation de cette spécification dans la figure

c1, la représentation de : 1 2f X X⋅ ≤ dans la figure 46c2 et, en plus, l'assertion A5 de

l'exemple 3 dans la figure 46c3.

Notons que l'assertion A5 de l'exemple 3 : _ _P depose P haute Avancer Descendre⋅ ≤ ⋅ , est un

cas particulier car elle n'a qu'un état d'arrivée. D'après X[2.51]X, elle peut être réécrite comme :

_ _ ( )P depose P haute Avancer Descendre Avancer Descendre⋅ ⋅ + ≤ ⋅

L'assertion A5 sollicite de descendre et de ne pas avancer le préhenseur quand

_ _P prise P basse⋅ vaut 1. C'est-à-dire, A5 demande de transiter ver l'état d'arrivée :

Avancer Descendre⋅ et d'y rester, depuis tous les états Avancer Descendre+ quand

_ _P depose P haute⋅ vaut 1, tel qu'il montré dans la figure 46c.

Page 186: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe C: Représentation graphique des spécifications sur ø

166

3) La spécification de type SF-T3 traduise des comportements observés par les détecteurs en

mode normal de fonctionnement, comme par exemple la non-simultanéité des valeurs vraies

de deux détecteurs fin de course, tel que l'assertion A9 de l'exemple 3 (voir la figure 46b). La

modélisation de ce contrainte est fait à l'aide de l'élément 1*.

4) La spécification de type SF-T4 (figure 46e1) traduise des contraintes sur les signaux de

sortie représentant des états interdits en utilisant l'élément 1*. Une modélisation plus simple

de cette contrainte est montrée dans la figure 46e2, en utilisant l'assertion A14 de l'exemple 3.

5) La spécification de type SF-T5 tel que 1 ( , )Xu REP f g≤ , traduise le désire de rester dans

l'état X suit à l'entrée 1u tel que 1u f g∈ ⋅ (voir figure 46d1). C'est-à-dire, 1u n'appartient ni

aux transitions d'arrivée ni aux transitions de départ de l'état X . Une flèche qui reste dans cet

état est suffisante pour représenter la SF-T5.

Figure 46 Représentation graphique des spécifications sur ø

Page 187: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

167

D. Démonstrations

D.1 Démonstrations relatifs aux prédicats 3k , 4ak et 4bk

Analysons la validité de ces prédicats ,f g∀ tels que 0*f g⋅ = du système 7.

Nous allons nous appuyer sur les deux points suivants pour faire la validation :

1) La contrainte de l’existence de une solution : 0 *f g⋅ = est imposée par la cohérence.

Cette expression, qui doit être toujours accomplie, est équivalente à 1*f g+ = (en

utilisant X[2.54]X ⇔ X[2.56]X).

2) Il est établit dans le troisième cas de figure que 0*f g⋅ ≠ . En effet, si 0 *f g⋅ = alors

nous serions dans le deuxième cas de figure. De ce fait, nous pouvons affirmer que pour le

troisième cas de figure, : ( )( ) 1t f g t⎡ ⎤∃ ⋅ =⎣ ⎦ à partir de la définition de la relation de

différence (2.3.1).

D'une part, nous savons depuis le point 1 que 1*f g+ = , l'expression suivante est donc

toujours vraie

( ) ( )1

1 1 1 1

1( )1( )

: ( )( ) 1 ] , ], ( )( ) 1

t t tt

t f g t d t t f g d t t

⎧ ∀ <⎪= ⎨⎡ ⎤∃ + = ∧ ∀ ∈ + = ∀ ≥⎪⎢ ⎥⎣ ⎦⎩

Le deuxième terme existe 1t t∀ ≥ et elle est égale à 1. De plus, comme 0 *f g⋅ = alors

f g f g f g+ = ⋅ + ⋅ et par conséquent les deux derniers termes sont donc disjoints. Ainsi,

comme la deuxième expression est valide alors celle-ci, divisé en deux espaces de temps

comme suit, est aussi valide :

( ) ( )( ) ( )

1 1 1 1

1 1 1 1

: ( )( ) 1 ] , ], ( )( ) 11( )

: ( )( ) 1 ] , ], ( )( ) 1

t f g t d t t f g d t tt

t f g t d t t f g d t t

⎧⎡ ⎤∃ ⋅ = ∧ ∀ ∈ + = ∀ >⎪⎢ ⎥⎪⎣ ⎦= ⎨⎡ ⎤⎪ ∃ ⋅ = ∧ ∀ ∈ + = ∀ >⎢ ⎥⎪⎣ ⎦⎩

Comme 0 *f g⋅ = nous savons d'une part que f f g= ⋅ et g f g= ⋅ d'après X[2.37] ⇔ X[2.35]

Page 188: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

168

et X[2.37] ⇔ X[2.38] respectivement. De ce fait et en séparant le terme f en g nous avons

( ) ( )( ) ( )( ) ( )( ) ( )

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

: ( ) 1 ] , ], ( )( ) 1

: ( ) 1 ] , ], ( )( ) 1

: ( ) 1 ] , ], ( )( ) 1

: ( ) 1 ] , ], ( )( ) 1

t f t d t t f d t t

t f t d t t g d t t

t g t d t t f d t t

t g t d t t g d t t

⎧⎡ ⎤∃ = ∧ ∀ ∈ = ∀ >⎪⎢ ⎥⎣ ⎦⎪⎪⎡ ⎤∃ = ∧ ∀ ∈ = ∀ >⎪⎢ ⎥⎪⎣ ⎦= ⎨⎡ ⎤⎪ ∃ = ∧ ∀ ∈ = ∀ >⎢ ⎥⎪⎣ ⎦⎪⎡ ⎤⎪ ∃ = ∧ ∀ ∈ = ∀ >⎢ ⎥⎣ ⎦⎪⎩

Comme la dernière expression est valide alors le deuxième et le troisième terme sont aussi

valides. Ces termes sont égaux aux 3k et 4ak respectivement alors

les prédicats 3k (figure 30c) et 4ak (figure 30d) sont donc valides .

D'autre part, le point 2 indique que ( )( ) 1f g t⎡ ⎤⋅ =⎣ ⎦ existe, l'expression suivante est donc

valide :

( )1

1 1 1

]0, ] : ( )( ) 1( )( )

: ( )( ) 1 ( )( )

d t f g d t tf g t

t t f g t f g t t t

⎧⎡ ⎤∀ ∈ ⋅ = ∀ <⎪⎣ ⎦⋅ = ⎨⎡ ⎤∃ ≤ ∨ = ∧ ⋅ ∀ ≥⎪⎢ ⎥⎣ ⎦⎩

Cette expression représente ( )( )f g t⋅ divisé en deux espaces de temps. La première partie de

l'expression est égale au prédicat 4bk . Comme la dernière expression est valide,

le prédicat 4bk (figure 30e) est donc valide

D.2 Démonstrations de l'hypothèse 2hyp de la solution avec mémoire

Nous allons vérifier ci-dessous pour la solution particulière nommée avec mémoire (voir 5.5),

que les contraintes données par 2hyp sont bien respectées :

3 4 4 3 3 4 0*k k f k g k f g k k⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ = .

Nous procéderons en faisant la démonstration de chaque terme car X[2.25]X :

Page 189: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

169

{2 3 4

2 42 3 4 4 3 3 4

2 3

2 3 4

) 0*) 0*

) 0*) 0*) 0*

a

b

c

d

hyp k khyp f k

hyp k k f k g k f g k khyp g khyp f g k k

⎧ ⋅ =⎪

⋅ =⎪⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ = ⇔ ⎨ ⋅ =⎪⎪ ⋅ ⋅ ⋅ =⎩

Au cours des démonstrations suivantes, les instants *1,t t +∈R .

Démonstration de l’hypothèse 2a : 3 4 0*k k⋅ =

Nous pouvons constater que les prédicats 3k , 4ak et 4bk ,sont disjoints par une condition

dans le passé :

1) 3 4 0*ak k∧ = , car le prédicat ( ) ( )1 1 1 1: ( ) 1 : ( ) 1t t f t t t g t⎡ ⎤ ⎡ ⎤∃ < = ∧ ∃ < =⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ est toujours

faux, du fait que 0 *f g⋅ = est une condition nécessaire pour avoir une solution.

2) 3 4 0*bk k∧ = , car 4bk est vrai si et seulement si le prédicat 1 1: ( ) 1t t f t⎡ ⎤∃ < =⎣ ⎦ est faux.

Or, si ce prédicat est faux alors 3k est aussi faux. Les prédicats 3k et 4bk sont donc

disjoints.

3) 4 4 0*a bk k∧ = , car 4bk est vrai ssi le prédicat 1 1: ( ) 1t t g t⎡ ⎤∃ < =⎣ ⎦ est faux. Or, s'il est

faux alors 4ak est aussi faux. Les prédicats 4ak et 4bk sont donc disjoints.

En substituant les valeurs de 3k , 4k et les points 1 et 2 nous avons

3 4 3 4 4 3 4 3 4( ) 0 * 0* 0*a b a bk k k k k k k k k⋅ = ⋅ + = ⋅ + ⋅ = + =

Démonstration de l’hypothèse 2b : 4 0 *f k⋅ =

Nous devons démontrer alors que 4 4 4( ) 0 *a bf k f k k⋅ = ⋅ + = :

* ,t +∀ ∈R

( ) ( ) ( )1 1 14 4

: ( ) 1 ] , ], ( )( ) 1( ) ( ) ( ) ( )

]0, ], ( )( ) 1a b

t g t d t t f df t k t k t f t

d t f g d

⎛ ⎞⎡ ⎤∃ = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎣ ⎦∧ ∨ = ∧ ⎜ ⎟⎡ ⎤⎜ ⎟∨ ∀ ∈ ⋅ =⎜ ⎟⎣ ⎦⎝ ⎠

( ) ( )1 1 1( ) : ( ) 1 ] , [, ( )( ) 1( )

( ) ( ) ]0, [, ( )( ) 1

f t t g t d t t f df t

f t g t d t f g d

⎛ ⎞⎡ ⎤¬ ∧ ∃ = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎣ ⎦= ∧ ⎜ ⎟⎡ ⎤⎜ ⎟∨ ¬ ∧¬ ∀ ∈ ⋅ =⎜ ⎟⎣ ⎦⎝ ⎠

Page 190: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

170

Nous avons donc *4 4, ( ) ( )( ) 0( ) 0( ) 0( )a bt f t k k t t t t+∀ ∈ ∧ + = ∨ =R , alors

4 4( ) 0 *a bf k k⋅ + =

Démonstration de l’hypothèse 2c : 3 0 *g k⋅ =

Nous devons démontrer alors que 3 0 *g k⋅ = :

* ,t +∀ ∈R

( ) ( )3 1 1 1( ) ( ) ( ) : ( ) 1 ] , ], ( )( ) 1g t k t g t t t f t d t t g d⎡ ⎤⎛ ⎞∧ = ∧ ∃ < = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦

( ) ( )1 1 1( ) ( ) : ( ) 1 ] , [, ( )( ) 1g t g t t t f t d t t g d⎛ ⎞⎡ ⎤⎛ ⎞⎜ ⎟= ∧ ¬ ∧ ∃ < = ∧ ∀ ∈ =⎜ ⎟⎢ ⎥⎜ ⎟⎝ ⎠⎣ ⎦⎝ ⎠

Nous avons donc *3, ( ) ( ) 0( )t g t k t t+∀ ∈ ∧ =R , alors

3 0 *g k⋅ =

Démonstration de l’hypothèse 2d : 3 4 0 *f g k k⋅ ⋅ ⋅ =

Nous allons faire la démonstration de l’hypothèse 2d en utilisant X[2.37]X ⇔ X[2.35]X) :

3 4 0 *f g k k⋅ ⋅ ⋅ = ⇔ 3 4( )f g f g k k⋅ = ⋅ ⋅ + . Nous devons démontrer alors que

3 4 4( )a bf g f g k k k⋅ = ⋅ ⋅ + + :

* ,t +∀ ∈R

( )3 4 4 3 4 4( )( ) ( )( ) ( )( ) ( ) ( ) ( )a b a bf g t k k k t f g t k t k t k t⋅ ∧ + + = ⋅ ∧ ∨ ∨

( ) ( )( ) ( )

1 1 1

1 1 1

: ( ) 1 ] , ], ( )( ) 1( )( )

: ( ) 1 ] , ], ( )( ) 1 ]0, ], ( )( ) 1

t f t d t t g df g t

t g t d t t f d d t f g d

⎛ ⎞⎡ ⎤∃ = ∧ ∀ ∈ = ∨⎜ ⎟⎢ ⎥⎣ ⎦⎜ ⎟= ⋅ ∧⎡ ⎤⎜ ⎟⎡ ⎤∃ = ∧ ∀ ∈ = ∨ ∀ ∈ ⋅ =⎜ ⎟⎢ ⎥ ⎣ ⎦⎣ ⎦⎝ ⎠

( ) ( )( ) ( )

1 1 1

1 1 1

: ( ) 1 ] , ], ( )( ) 1( )( )

: ( ) 1 ] , ], ( )( ) 1 ]0, ], ( )( ) 1

t f t d t t f g df g t

t g t d t t f g d d t f g d

⎛ ⎞⎡ ⎤∃ = ∧ ∀ ∈ ⋅ = ∨⎜ ⎟⎢ ⎥⎣ ⎦⎜ ⎟= ⋅ ∧⎡ ⎤⎜ ⎟⎡ ⎤∃ = ∧ ∀ ∈ ⋅ = ∨ ∀ ∈ ⋅ =⎜ ⎟⎢ ⎥ ⎣ ⎦⎣ ⎦⎝ ⎠

( ) ( )( ) ( )

1 1

1 1

: ( ) 1 ( )( ) 1( )( )

: ( ) 1 ( )( ) 1 ]0, ], ( )( ) 1

t f t f g tf g t

t g t f g t d t f g d

⎛ ⎞⎡ ⎤∃ = ∧ ⋅ =⎜ ⎟⎢ ⎥⎣ ⎦⎜ ⎟= ⋅ ∧⎡ ⎤⎜ ⎟⎡ ⎤∨ ∃ = ∧ ⋅ = ∨ ∀ ∈ ⋅ =⎜ ⎟⎢ ⎥ ⎣ ⎦⎣ ⎦⎝ ⎠

Page 191: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

171

( ) ( )1 1 1( )( ) : ( ) ( ) 1 ( )( ) 1 ]0, ], ( )( ) 1

( )( )

f g t t f t g t f g t d t f g d

f g t

⎛ ⎞⎡ ⎤ ⎡ ⎤= ⋅ ∧ ∃ ∨ = ∧ ⋅ = ∨ ∀ ∈ ⋅ =⎜ ⎟⎢ ⎥ ⎣ ⎦⎣ ⎦⎝ ⎠= ⋅

Nous avons donc *3 4 4, ( )( ) ( )( ) ( )( )a bt f g t k k k t f g t+∀ ∈ ⋅ ∧ + + = ⋅R , alors

3 4 4( ) ( ) ( )a bf g k k k f g⋅ ⋅ + + = ⋅

D.3 Démonstrations des théorèmes relatifs aux opérations SR et RS

Nous avons présenté (voir 5.5.2) la démonstration formelle de la résolution du cas général

d'un système d'équations logiques sur ø, donné par le système 8 du chapitre 5. Ainsi, dans

cette section nous ferons les démonstrations des théorèmes [5.1] à [5.4] et X[3.13]X à X[3.40] X

concernant les opérations SR et RS.

Nous soulignons que par la suite nous n'allons pas représenter ni 1hyp ni 2hyp , car dans nos

travaux nous ne considérons que la solution mémoire (développée au chapitre 5) et pour ce

type de solution 1hyp et 2hyp sont toujours vraies (voir 5.5).

Nous pouvons exprimer la solution d'un système d'équations par les opérations SR , RS et

REP comme il est indiqué dans le théorème [5.1] et démontré ci-dessous.

Démonstration du théorème [5.1] :

D'après la solution temporelle donnée par le système 8 du chapitre 5, le système du [5.1] a la

solution temporelle suivante :

( ) ( )

*

1 1 1 1 1 2

,

( ) ( )( ) : ( )( ) 1 ] , [, ( )( ) 1

t

X t s k t t t s k t d t t r k d

+∀ ∈⎡ ⎤⎛ ⎞⎛ ⎞= + ∨ ∃ < + = ∧ ∀ ∈ + =⎢ ⎥⎜ ⎟⎜ ⎟⎝ ⎠⎢ ⎥⎝ ⎠⎣ ⎦

R

,

ce théorème sera démontré en deux temps :

1) Comme le système 8 est cohérent alors 1 2( ) ( ) 0*s k r k+ ⋅ + = . En utilisant X[2.37]X ⇔ X[2.39]X

, nous avons 1 2 2( ) ( )s k r k r k+ + + = + . Par conséquent,

( )( )

*

1 1

1 11 1 2

,

( )( ) 1( ) ( )( ) :

] , [, ( ) ( ) 1

t

s k tX t s k t t t

d t t s k r k d

+∀ ∈⎡ ⎤⎛ ⎞+ =⎢ ⎥⎜ ⎟⎢ ⎥= + ∨ ∃ < ⎜ ⎟⎛ ⎞⎛ ⎞⎢ ⎥∧ ∀ ∈ + + + =⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎢ ⎥⎝ ⎠⎝ ⎠⎝ ⎠⎣ ⎦

R

Page 192: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

172

2) D'autre part, comme le système 8 est cohérent alors 1 2( ) ( ) 0*s k r k+ ⋅ + = , en utilisant

X[2.37]X ⇔ X[2.35]X, nous avons 1 2 1( ) ( ) ( )s k r k s k+ ⋅ + = + . Par conséquent,

* ,t +∀ ∈R

( ) ( )( )

1 2 11 2 1

1 2

( ) ( ) ( ) 1( ) ( ) ( ) :

] , ], ( )( ) 1

s k r k tX t s k r k t t t

d t t r k d

⎡ ⎤⎛ ⎞⎛ ⎞+ ⋅ + =⎢ ⎥⎜ ⎟⎜ ⎟⎝ ⎠⎢ ⎥= + ⋅ + ∨ ∃ < ⎜ ⎟⎢ ⎥⎜ ⎟∧ ∀ ∈ + =⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦

( ) ( )( )

1 11 2 1

1 2

( )( ) 1( ) ( ) ( ) :

[ , ], ( )( ) 1

s k tX t s k r k t t t

d t t r k d

⎡ ⎤⎛ ⎞+ =⎢ ⎥⎜ ⎟= + ⋅ + ∨ ∃ <⎢ ⎥⎜ ⎟∧ ∀ ∈ + =⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦

( ) ( )( )

1 11 2 1

1 2

( )( ) 1( ) ( )( ) ( )( ) :

[ , ], ( )( ) 0

s k tX t s k t r k t t t

d t t r k d

⎡ ⎤⎛ ⎞+ =⎢ ⎥⎜ ⎟= + ∧ + ∨ ∃ <⎢ ⎥⎜ ⎟∧ ∀ ∈ + =⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦

Ainsi, en considérant les signaux 1s k+ et 2r k+ , il s'avère que les points 1 et 2 sont égaux à

la définition 9 et 10, c'est-à-dire, 1 2( , )SR s k r k+ + et 1 2( , )RS s k r k+ + , respectivement

Démonstration du théorème [5.2] :

Ce théorème sera démontre à partir du cas général donné par [5.1]. En effet, en considérant

0*s r hk k k h= = = = , d'après sa solution donnée par SR et RS ([5.1]) nous avons en

utilisant les théorèmes suivantes X[2.24], X[2.5]X, X[2.6], X[2.12] et X[2.31]X

( )

1

2

3

4

1 )2 )3 )

1 ) 0*2 ) 0*3 ) 0*

) ( ) ( ) 0*) 0* 0* 0* 0* 0* 0* 0*

(0* 0*) (0* 0*)) 0*

( ) (0* 0*)

) 0* 0* 0* 0*

a s Xa r Xa s r REP

a Xa Xa REP

hyp s r s s r r s rhyp

s rhyp

s r

hyp s r s r

⎧⎧ ≤⎪⎪

≤⎪⎨⎪⎪ ⋅ ≤⎩⎪⎪⎧ ≤⎪⎪⎪ ≤⎨⎪ ≤⎩⎨⎧ ⋅ + ⋅ ⋅ + ⋅ ⋅ =⎪

⋅ + ⋅ + ⋅ =⎪⎪⎪ ⎛ ⎞⋅ + + ⋅ +⎨ =⎜ ⎟⎜ ⎟+ ⋅ ⋅ +⎪ ⎝ ⎠⎪⎪ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ =⎪⎩

( , )où bien

( , )0*

s XX SR s r

r Xs r REP

X RS s rs r

⎧ ≤=⎪⎪ ≤⎪ ⎪⇔ ⇔⎨ ⋅ ≤⎪ ⎪ =⎪ ⎪ ⋅ =⎩⎪

⎪⎪⎪⎪⎪⎪⎩

Page 193: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

173

Nous allons démontrer les théorèmes [5.3] et [5.4]. Ces théorèmes montrent les systèmes

d'équations qui ont comme solution les opérations SR et RS, respectivement.

Démonstration l'équivalence [5.3] :

La solution avec mémoire du ( , )SR s r donné par [5.2] est vrai si la cohérence ( 0*)s r⋅ =

est respectée. Cependant si 0 *s r⋅ = alors r s r= ⋅ ( X[2.37]X ⇔ X[2.38]X). Le théorème [5.2]

implique, en utilisant X[2.19], X[2.18] et X[2.7]

( ) 22

1 ) 1 )2 ) ( ) 2 )

3 ) ( ) ( )3 ) ( )) 0* 0*) ( ) 0*

aa

a s X a s Xa s r X a s r X

a hyp s s r REP Xa hyp s s r REP Xcohérencecohérence s s r

⎧ ≤ ⎧ ≤⎪ ⎪⋅ ≤⎪ ⋅ ≤⎪ ⎪⇔⎨ ⎨ ⋅ ⋅ + ≤⋅ ⋅ ⋅ ≤⎪ ⎪⎪ ⎪ =⎩⋅ ⋅ =⎪⎩

nous avons donc à partir de [5.2] (en utilisant X[2.3], X[2.7] et X[2.6])

1 )2 ) ( , )3 ) ( )

a s Xa s r X X SR s ra s r REP X

⎧ ≤⎪

⋅ ≤ ⇔ =⎨⎪ ⋅ ≤⎩

Démonstration l'équivalence [5.4] :

La solution avec mémoire du ( , )RS s r donnée par [5.2] est vraie si la cohérence ( 0*)s r⋅ =

est respectée. Cependant si 0 *s r⋅ = alors s s r= ⋅ ( X[2.37]X ⇔ X[2.38]X). Le théorème [5.2]

implique, en utilisant X[2.19], X[2.18] et X[2.7]

( ) 22

1 ) 1 )2 ) 2 )

3 ) ( ) ( )3 ) ( )) 0* 0*) ( ) 0*

aa

a s r X a s r Xa r X a r X

a hyp s r r REP Xa hyp s r r REP Xcohérencecohérence s r r

⎧ ⋅ ≤ ⎧ ⋅ ≤⎪ ⎪≤⎪ ≤⎪ ⎪⇔⎨ ⎨⋅ ⋅ + ⋅ ≤⋅ ⋅ ⋅ ≤⎪ ⎪

⎪ ⎪ =⎩⋅ ⋅ =⎪⎩

nous avons donc à partir de [5.2] (en utilisant X[2.3], X[2.7] et X[2.6])

1 )2 ) ( , )3 ) ( )

a s r Xa r X X RS s ra s r REP X

⎧ ⋅ ≤⎪

≤ ⇔ =⎨⎪ ⋅ ≤⎩

Remarques :

Le Théorème [5.3] n'a pas comme solution ( , )RS s r que si 0 *s r⋅ = (voir [5.2]).

Le Théorème [5.4] n'a pas comme solution ( , )SR s r que si 0 *s r⋅ = (voir [5.2]).

Page 194: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

174

A partir de la définition mathématique des opérations SR et RS , il est possible de démontrer

les théorèmes X[3.13]X à X[3.40]X. Nous allons utiliser cependant les théorèmes [5.3] et [5.4] car ils

serviront à rendre plus aisés les démonstrations de ces théorèmes.

Démonstration de la relation X

[3.13]X

: ( , )s SR s r≤

Ce théorème sera démontré en utilisant [5.3]. En effet, comme la solution avec mémoire est

( , )X SR s r= , alors depuis le point 1a) de [5.3] nous avons,

( , )s SR s r≤

Démonstration de la relation X

[3.14]X

: ( , )s r SR s r⋅ ≤

Ce théorème sera démontré en utilisant [5.3]. En effet, si la solution est ( , )X SR s r= , alors

( , )X SR s r= (X

[2.54]X

⇔ X

[2.56]X

) et depuis le point 2a) de [5.3] nous avons,

( , )s r SR s r⋅ ≤

Démonstration de l'équation X[3.15]X : ( , ) ( , )SR s r SR s s r= ⋅

Ce théorème sera démontré en utilisant [5.3]. Ainsi, ( , )X SR s s r= ⋅ équivaut au système

suivant. Puis en utilisant X[2.16], X[2.10], X[2.19], X[2.18] et X[2.3], X[2.7], X[2.6] nous avons,

( )

1 ) 1 ) 1 )2 ) ( ) 2 ) 2 )

3 ) ( ) ( ) 3 ) ( )3 ) ( )

a s X a s X a s Xa s s r X a s r X a s r X

a s s r REP X a s r REP Xa s s r REP X

⎧⎧ ⎧≤ ≤ ≤⎪⎪ ⎪⎪ ⋅ ⋅ ≤ = ⋅ ≤ = ⋅ ≤⎨ ⎨ ⎨

⎪ ⎪ ⎪⋅ + ≤ ⋅ ≤⎩ ⎩⋅ ⋅ ≤⎪⎩

et en utilisant [5.3], nous avons ( , )X SR s r= . Par transitivité de la relation d'égalité,

( , ) ( , )SR s s r SR s r⋅ =

Démonstration de l'équation X[3.16]X : ( ,1*)SR s s=

Ce théorème sera démontré en utilisant [5.3]. Ainsi, ( ,1*)X SR s= équivaut au système

suivant. Puis en utilisant X[2.5]X, X[2.23], X[2.12]; X[2.31]X; X[2.5]X nous avons, 1 ) 1 ) 1 )

1 )2 ) 1* 2 ) 2 )

2 )3 ) 1* ( ) 3 ) 0* ( ) 3 ) 1*

a s X a s X a s Xa s X

a s X a s X a s Xa s X

a s REP X a REP X a

⎧ ⎧ ⎧≤ ≤ ≤⎧ ≤⎪ ⎪ ⎪ ⎪⋅ ≤ = ≤ = ≤ =⎨ ⎨ ⎨ ⎨ ≤⎪⎪ ⎪ ⎪ ⎩⋅ ≤ ≤⎩ ⎩ ⎩

Page 195: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

175

et en utilisant X[2.54]X ⇔ X[2.55]X, nous avons X s= . Par transitivité de la relation d'égalité,

( ,1*)SR s s=

Démonstration de l'équation X

[3.17]X

: ( , )SR s s s=

Ce théorème sera démontré en utilisant X

[3.16]X

, X

[3.15]X

et X

[2.5]X

:

( )( )( )

( ,1*)

, (1*)

,

SR s s

SR s s s

SR s s s

=

⋅ =

=

Démonstration de l'équation X

[3.18]X

: ( , ) ( , 0*)SR s s SR s=

Ce théorème sera démontré en utilisant X

[3.15]X

et X

[2.7]X

:

( )( )( )

( , ) , ( )

,0 *

SR s s SR s s s

SR s

= ⋅

=

Démonstration de l'équation X[3.19]X : (0*, ) 0 *SR r =

Ce théorème sera démontré en supposant 0 *X = . Ainsi, en utilisant X[2.54]X ⇔ X[2.55]X, X[2.34]

⇔ X[2.41]X, X[2.24], X[2.18] :

0*0* 1*1*

XX XX r X

r X

⎧ ≤⎪⎧ ≤ ≤⎪ ⎪⇔⎨ ⎨≤ ≤⎪ ⎪⎩⎪ ≤⎩

D'après X[2.8] et en sachant que 1*X ≤ est toujours vrai (X[2.30]X), nous avons :

0*

1*

Xr Xr

⎧ ≤⎪

⇔ ≤⎨⎪ ≤⎩

Enfin, en utilisant X[2.5], X[2.24] et X[2.8],

0* 0*

1* 0*1* 1* 0*

X Xr X r Xr r X X

⎧ ⎧≤ ≤⎪ ⎪

⇔ ⋅ ≤ ⇔ ⋅ ≤⎨ ⎨⎪ ⎪⋅ ≤ ⋅ ≤ +⎩ ⎩

Ainsi, en utilisant [5.3], nous avons (0*, )X SR r= . Comme 0 *X = alors,

(0*, ) 0*SR r =

Page 196: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

176

Démonstration de l'équation X

[3.20]X

: (1*, ) 1*SR r =

Ce théorème sera démontré en utilisant X

[3.15]X

, X

[2.23], X

[2.12], X

[2.23] et puis X

[3.17]X

:

( ) ( ) ( ) ( )(1*, ) 1*,1* 1*,0* 1*,0* 1*,1* 1*SR r SR r SR r SR SR= ⋅ = ⋅ = = =

donc, (1*, ) 1*SR r =

Démonstration de l'équation X

[3.21]X

: ( , )SR s r r s r⋅ = ⋅

En utilisant X

[2.34] ⇔ X

[2.39] d'après X

[3.13]X

; X

[2.21]; X

[2.3]; puis d'après X

[3.14]X

avec X

[2.34] ⇔ X

[2.37] et X

[2.6] nous avons, ,

( ) ( )( , ) ( , ) ( , ) ( , )

0*

SR s r r s SR s r r s s SR s r r s r s r SR s r

s r s r

⋅ = + ⋅ = + ⋅ ⋅ = ⋅ + ⋅ ⋅

= ⋅ + = ⋅

donc, ( , )SR s r r s r⋅ = ⋅

Démonstration de l'équation X[3.22]X : ( )( , ) , ( )SR s r SR s r s f= + ⋅

Ce théorème sera démontré en utilisant X[3.15]X, X[2.3]X, X[2.7]X, X[2.12]X, X[2.6]X et X[3.15]X :

( ) ( )( ) ( ), ( ) , ( ) , ( )SR s r s f SR s s r s f SR s s r s s f+ ⋅ = ⋅ + ⋅ = ⋅ + ⋅ ⋅

( ) ( ), ( 0*) , ( ) ( , )SR s s r SR s s r SR s r= ⋅ + = ⋅ =

( )donc, , ( ) ( , )SR s r s f SR s r+ ⋅ =

Démonstration de l'équation [3.23] : ( ,0*) 0 *SR s =9

Ce théorème sera démontré à partir de la définition 9 du SR :

( ) ( )( ) ( )( )( )( )

*1 1 1

1 1 1

1 1

, ( ,0*)( ) ( ) : ( ) 1 ] , ], ( 0*)( ) 1

( ) : ( ) 1 ] , ], (1*)( ) 1

( ) : ( ) 1

t SR s t s t t t s t d t t s d

s t t t s t d t t d

s t t t s t

+ ⎡ ⎤⎛ ⎞∀ ∈ = ∨ ∃ < = ∧ ∀ ∈ + =⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦⎡ ⎤= ∨ ∃ < = ∧ ∀ ∈ =⎢ ⎥⎣ ⎦⎡ ⎤= ∨ ∃ < =⎢ ⎥⎣ ⎦

R

en utilisant la définition 8 du front descendant (9 ),

( )1 1( ,0*)( ) ( ) : ( ) 1SR s t s t t t s t⎡ ⎤= ∨ ∃ < =⎣ ⎦99

Page 197: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

177

( ) ( )0 0

1 11 1

0 : ]0, [:( ) : ( ) 1

( ) : ( ) 1 ( ) 1

εε εs t t t s t

s t t t s t t ε

> ∀⎛ ⎞⎡ ⎤∃ ∈⎜ ⎟⎢ ⎥⎡ ⎤= ∨ ∃ < = ∧ ⎜ ⎟⎣ ⎦ ⎡ ⎤⎢ ⎥∨ ∃ < = − =⎣ ⎦⎜ ⎟⎢ ⎥⎣ ⎦⎝ ⎠

( )0 0

1 11 1

0 : ]0, [:( ) : ( ) 0

( ) : ( ) 1 1

εε εs t t t s t

s t ε t t ε s t

> ∀⎛ ⎞⎡ ⎤∃ ∈⎜ ⎟⎢ ⎥⎡ ⎤= ¬ ∧ ∀ < = ∧ ⎜ ⎟⎣ ⎦ ⎡ ⎤⎢ ⎥− ∨ ∃ < − = =⎣ ⎦⎜ ⎟⎢ ⎥⎣ ⎦⎝ ⎠

Il s'avère évident que le deuxième et le troisième terme sont disjoints. Nous avons donc

( ) ( ) 0 0( )X t s t t= ¬ ∧ =9

par conséquence ( ,0*)X SR s=9 9

Démonstration de l'équation X[3.24]X : ( )( , ) , ( )SR s r RS s s r= ⋅

Ce théorème sera démontré en utilisant [5.4] : ( , )X RS s s r= ⋅ car [5.4] équivaut au système

suivant. Puis en utilisant X[2.19], X[2.18]; X[2.15], X[2.3], X[2.7] et X[2.6] nous avons

( )

( )

1 ) 1 ) ( ) 1 )2 ) 2 ) 2 )

3 ) ( ) ( ) 3 ) ( )3 ) ( )

a s s r X a s s r X a s Xa s r X a s r X a s r X

a s s r REP X a s r REP Xa s s r REP X

⎧ ⋅ ⋅ ≤ ⎧ ⎧⋅ + ≤ ≤⎪⎪ ⎪⎪ ⋅ ≤ = ⋅ ≤ = ⋅ ≤⎨ ⎨ ⎨

⎪ ⎪ ⎪⋅ + ≤ ⋅ ≤⎩⋅ ⋅ ≤ ⎩⎪⎩

et en utilisant [5.3], nous avons ( , )X SR s r= . Par transitivité de la relation d'égalité,

( )( , ) , ( )SR s r RS s s r= ⋅

Démonstration de l'équation X[3.25]X : ( )( , ) ( ),RS s r SR s r r= ⋅

Ce théorème sera démontré en utilisant [5.3]. Ainsi, ( , )X SR s r r= ⋅ équivaut au système

suivant. Puis en utilisant X[2.19], X[2.18] et X[2.15], X[2.3], X[2.7], X[2.6] nous avons,

( )( )

1 ) ( ) 1 ) 1 )2 ) 2 ) ( ) 2 )

3 ) ( ) ( ) 3 ) ( )3 ) ( )

a s r X a s r X a s r Xa s r r X a s r r X a r X

a s r r REP X a s r REP Xa s r r REP X

⎧⋅ ≤⎪ ⎧ ⎧⋅ ≤ ⋅ ≤

⎪ ⎪ ⎪⎪ ⋅ ⋅ ≤ = + ⋅ ≤ = ≤⎨ ⎨ ⎨⎪ ⎪ ⎪+ ⋅ ≤ ⋅ ≤⎩ ⎩⎪ ⋅ ⋅ ≤⎪⎩

et en utilisant [5.4], nous avons ( , )X RS s r= . Par transitivité de la relation d'égalité,

( , ) ( , )SR s s r RS s r⋅ =

Page 198: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

178

Démonstration de la relation X

[3.26]X

: ( , )s r RS s r⋅ ≤

Ce théorème sera démontré en utilisant [5.4]. En effet, comme la solution avec mémoire est

( , )X RS s r= , alors depuis le point 1a) de [5.4] nous avons,

( , )s r RS s r⋅ ≤

Démonstration de la relation X

[3.27]X

: ( , )r RS s r≤

Ce théorème sera démontré en utilisant [5.4]. En effet, si la solution est ( , )X RS s r= , alors

( , )X RS s r= (X

[2.54]X

⇔ X

[2.56]X

) et depuis le point 2a) de [5.4] nous avons,

( , )r RS s r≤

Démonstration de l'équation X[3.28]X : ( )( , ) ( ),RS s r RS s r r= ⋅

Ce théorème sera démontré en utilisant [5.4]. Ainsi, ( , )X RS s r r= ⋅ équivaut au système

suivant. Puis en utilisant X[2.16], X[2.10], X[2.19], X[2.18] et X[2.3], X[2.7], X[2.6] nous avons,

( )

1 ) ( ) 1 ) 1 )2 ) 2 ) 2 )

3 ) ( ) ( ) 3 ) ( )3 ) ( )

a s r r X a s r X a s r Xa r X a r X a r X

a s r r REP X a s r REP Xa s r r REP X

⎧⎧ ⎧⋅ ⋅ ≤ ⋅ ≤ ⋅ ≤⎪⎪ ⎪⎪ ≤ = ≤ = ≤⎨ ⎨ ⎨

⎪ ⎪ ⎪+ ⋅ ≤ ⋅ ≤⋅ ⋅ ≤ ⎩ ⎩⎪⎩

et en utilisant [5.4], nous avons ( , )X RS s r= . Par transitivité de la relation d'égalité,

( , ) ( , )RS s r r RS s r⋅ =

Démonstration de l'équation X

[3.29]X

: ( ,1*) 0 *RS s =

Ce théorème sera démontré en utilisant X

[3.25]X

, X

[2.23]XT

, TX

[2.12]X

et puis X

[3.19]X

:

( )( ) ( )( ) ( )( ,1*) (1*) ,1* 0* ,1* 0*,1*RS s SR s SR s SR= ⋅ = ⋅ =

donc, ( ,1*) 0*RS s =

Démonstration de l'équation X

[3.30]X

: ( , )RS s s s=

Ce théorème sera démontré en utilisant X

[3.16]X

, X

[3.24]X

et X

[2.5]X

:

( )( )

( ,1*)

, ( 1*)

,

SR s s

RS s s s

RS s s s

=

⋅ =

=

Page 199: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

179

Démonstration de l'équation X

[3.31]X

: ( , ) 0 *RS s s =

Ce théorème sera démontré en utilisant X

[3.25]X

, X

[2.7]X

et X

[3.19]X

:

( ) ( )( , ) ( ), 0*, 0*RS s s SR s s s SR s= ⋅ = =

donc, ( , ) 0*RS s s =

Démonstration de l'équation X

[3.32]X

: (0*, ) 0 *RS r =

Ce théorème sera démontré en utilisant X

[3.31]X

, X

[3.28]X

et X

[2.7]X

:

( )( )

( , ) 0*

( ), 0*

0*, 0*

RS r r

RS r r r

RS r

=

⋅ =

=

Démonstration de l'équation X

[3.33]X

: (1*, )RS r r=

Ce théorème sera démontré en utilisant X

[3.25]X

, X

[2.5]X

et X

[3.17]X

:

( ) ( )(1*, ) (1* ), ,RS r SR r r SR r r r= ⋅ = =

donc, (1*, )RS r r=

Démonstration de l'équation X

[3.34]X

: ( , )RS s r s s r⋅ = ⋅

En utilisant X

[2.34] ⇔ X

[2.39] d'après X

[3.26]X

; X

[2.3], X

[2.10]; X

[2.3]; ensuite d'après X

[3.27]X

avec X

[2.34] ⇔ X

[2.41]X

⇔ X

[2.39] et X

[2.18]; et X

[2.1]X

nous avons, ,

( ) ( )( , ) ( , ) ( , ) ( , )

( )

RS s r s s r RS s r s s r s RS s r r RS s r s

r s s r

⋅ = ⋅ + ⋅ = ⋅ + ⋅ = + ⋅

= ⋅ = ⋅

donc, ( , )RS s r s s r⋅ = ⋅

Démonstration de l'équation X[3.35]X : ( )( , ) ( ),RS s r RS s r f r= + ⋅

Ce théorème sera démontré en utilisant X[3.28]X, X[2.3]X, X[2.7]X, X[2.12]X, X[2.6]X, X[3.28]X :

( ) ( )( ) ( )

( ) ( ) ( )( ), ( ) , ( ),

( 0*), ( ), ,

RS s r f r RS s r f r r RS s r r f r r

RS s r r RS s r r RS s r

+ ⋅ = + ⋅ ⋅ = ⋅ + ⋅ ⋅

= ⋅ + = ⋅ =

( ) ( )donc, ( 0*), ,RS s r r RS s r⋅ + =

Démonstration de l'équation X[3.36]X : ( )1 2 1 2, ( ) ( , ) ( , )SR s r r SR s r SR s r+ = ⋅

Page 200: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

180

Ce théorème sera démontré à partir des expressions 1( , )SR s r et 2( , )SR s r d'après X[2.44]X et X[3.14]X. Ainsi, en utilisant X[2.44]X sur 1a) et 2a) puis X[2.45]X sur 1b) et 2b); X[2.10], X[2.3] et X[2.19], nous avons

1

1 1 1 2

2 1 2 1 2

2 2

1 2

1 2 1 2

1 ) ( , )1 ) ( , ) 1 2 ) ( , ) ( , )2 ) ( , ) 1 2 ) ( , ) ( , )2 ) ( , )

1 2 ) ( , ) ( , )1 2 ) ( ) ( , ) ( , )

a s SR s rb s r SR s r a a s s SR s r SR s ra s SR s r b b s r s r SR s r SR s rb s r SR s r

a a s SR s r SR s rb b s r r SR s r SR s r

⎧ ≤⎪ ⎧⋅ ≤ ⋅ ⋅ ≤ ⋅⎪ ⎪⇒⎨ ⎨≤ + ⋅ + ⋅ ≤ +⎪⎪ ⎩⎪ ⋅ ≤⎩

⎧ ⋅ ≤ ⋅⎪⇒ ⎨ + ⋅ + ≤ ⋅⎪⎩

à partir de la solution avec mémoire donnée par [5.3], nous avons donc

( )1 2 1 2( , ) ( , ) , ( )SR s r SR s r SR s r r⋅ = +

Démonstration de l'équation X

[3.37]X

: ( )1 2 1 2( ), ( , ) ( , )SR s s r SR s r SR s r+ = +

Ce théorème sera démontré à partir des expressions 1( , )SR s r et 2( , )SR s r d'après X[3.13]X et X[3.14]X. Ainsi, en utilisant X[2.45]X sur 1a) et 2a) puis X[2.44]X sur 1b) et 2b); X[2.1]X, X[2.10] et X[2.20], nous avons

1 1

1 1 1 2 1 2

2 2 1 2 1 2

2 2

1 2 1 2

1 2 1 2

1 ) ( , )1 ) ( , ) 1 2 ) ( , ) ( , )2 ) ( , ) 1 2 ) ( ) ( ) ( , ) ( , )2 ) ( , )

1 2 ) ( , ) ( , )1 2 ) ( , ) ( , )

a s SR s rb s r SR s r a a s s SR s r SR s ra s SR s r b b s r s r SR s r SR s rb s r SR s r

a a s s SR s r SR s rb b s s r SR s r SR s r

⎧ ≤⎪ ⎧⋅ ≤ + + ≤ +⎪ ⎪⇒⎨ ⎨≤ ⋅ ⋅ ⋅ ⋅ ≤ ⋅⎪⎪ ⎩⎪ ⋅ ≤⎩

+ + ≤ +⇒

⋅ + ⋅ ≤ +

⎧⎪⎨⎪⎩

à partir de la solution avec mémoire donnée par [5.3], nous avons donc

( )1 2 1 2( , ) ( , ) ( ),SR s r SR s r SR s s r+ = +

Démonstration de l'équation X[3.38]X : ( )1 2 1 2, ( ) ( , ) ( , )RS s r r RS s r RS s r+ = ⋅

Ce théorème sera démontré à partir des expressions 1( , )RS s r et 2( , )RS s r d'après X[3.26]X et X[3.27]X. Ainsi, en utilisant X[2.44]X sur 1a et 2a puis X[2.45]X sur 1b et 2b; X[2.1]X, X[2.10], X[2.20] et X[2.19], nous avons

Page 201: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

181

1 1

1 1 1 2 1 2

2 2 1 2 1 2

2 2

1 ) ( , )1 ) ( , ) 1 2 ) ( ) ( ) ( , ) ( , )2 ) ( , ) 1 2 ) ( , ) ( , )2 ) ( , )

a s r RS s rb r RS s r a a s r s r RS s r RS s ra s r RS s r b b r r RS s r RS s rb r RS s r

⎧ ⋅ ≤⎪ ⎧≤ ⋅ ⋅ ⋅ ⋅ ≤ ⋅⎪ ⎪⇒⎨ ⎨

⋅ ≤ + + ≤ +⎪⎪ ⎩⎪ ≤⎩

( )1 2 1 2

1 2 1 2

1 2 ) ( , ) ( , )

1 2 ) ( ) ( , ) ( , )

a a s r r RS s r RS s r

b b r r RS s r RS s r

⎧ ⋅ ⋅ + ≤ ⋅⎪⇒ ⎨+ + ≤ ⋅⎪⎩

à partir de la solution avec mémoire donnée par [5.4], nous avons donc

( )1 2 1 2( , ) ( , ) , ( )RS s r RS s r RS s r r⋅ = +

Démonstration de l'équation X

[3.39]X

: ( )1 2 1 2( ), ( , ) ( , )RS s s r RS s r RS s r+ = +

Ce théorème sera démontré à partir des expressions 1( , )RS s r et 2( , )RS s r d'après X[3.26]X et X[3.27]X. Ainsi, en utilisant X[2.45]X sur 1a) et 2a) puis X[2.44]X sur 1b) et 2b); X[2.3], X[2.1]X et X[2.20],

nous avons

1 1

1 1 2 1 2

2 2 1 2

2

1 ) ( , )1 ) ( , ) 1 2 ) ( ) ( ) ( , ) ( , )2 ) ( , ) 1 2 ) ( , ) ( , )2 ) ( , )

a s r RS s rb r RS s r a a s r s r RS s r RS s ra s r RS s r b b r r RS s r RS s rb r RS s r

⎧ ⋅ ≤⎪ ⎧≤ + ⋅ + ⋅ ≤ +⎪ ⎪⇒⎨ ⎨

⋅ ≤ ⋅ ⋅ ≤ ⋅⎪⎪ ⎩⎪ ≤⎩

1 2 1 2

1 2

1 2 ) ( ) ( , ) ( , )1 2 ) ( , ) ( , )a a s s r RS s r RS s rb b r RS s r RS s r

⎧ + + ⋅ ≤ +⎪⇒ ⎨⋅ ≤ +⎪⎩

à partir de la solution avec mémoire donnée par [5.4], nous avons donc

( )1 2 1 2( , ) ( , ) ( ),RS s r RS s r RS s s r⋅ = +

Démonstration de l'équation X[3.40]X : ( ,0*) 0 *SR s =9

Ce théorème sera démontré à partir des expressions ( )1 1 2, ( )RS s r s+ et ( )2 2 1, ( )RS s r s+

d'après X[3.26]X et X[3.27]X. Ainsi, en utilisant X[2.44]X sur 1a) et 2a) et X[2.45]X sur 1b) et 2b); X[2.3], X[2.20], X[2.3], X[2.7], X[2.12]X et X[2.19] nous avons

Page 202: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe D : Démonstrations

182

( ) ( )( )

( ) ( )( )

1 1 2 1 1 2

1 2 1 1 2

2 2 1 2 2 1

2 1 2 2 1

1 ) ( ) , ( )

1 ) ( ) , ( )

2 ) ( ) , ( )

2 ) ( ) , ( )

a s r s RS s r s

b r s RS s r s

a s r s RS s r s

b r s RS s r s

⎧ ⋅ + ≤ +⎪⎪

+ ≤ +⎪⎪⎨

⋅ + ≤ +⎪⎪⎪ + ≤ +⎪⎩

( ) ( ) ( ) ( )

( ) ( )1 1 2 2 2 1 1 1 2 2 2 1

1 2 2 1 1 1 2 2 2 1

1 2 ) ( ) ( ) , ( ) , ( )

1 2 ) ( ) ( ) , ( ) , ( )

a a s r s s r s RS s r s RS s r s

b b r s r s RS s r s RS s r s

⎧ ⋅ ⋅ + ⋅ ⋅ + ≤ + ⋅ +⎪⇒ ⎨⎪ + + + + ≤ + + +⎩

( ) ( )( ) ( )

1 1 2 2 2 1

1 2 2 1 1 1 2 2 2 1

1 2 ) 0* , ( ) , ( )

1 2 ) ( ) , ( ) , ( )

a a RS s r s RS s r s

b b r s r s RS s r s RS s r s

⎧ ⋅ ≤ + ⋅ +⎪⇒ ⎨+ + + + ≤ + ⋅ +⎪

à partir de la solution avec mémoire donnée par [5.4], nous avons donc

( ) ( ) ( )1 1 2 2 2 1 1 2 2 1, ( ) , ( ) 0*, ( )RS s r s RS s r s RS r s r s+ ⋅ + = + + +

enfin en utilisant X[3.34]X, nous obtenons

( ) ( )1 1 2 2 2 1, ( ) , ( ) 0*RS s r s RS s r s+ ⋅ + =

Page 203: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe E : Démonstrations d'expressions pour la vérification des propriétés

183

E. Démonstrations d'expressions pour la vérification des

propriétés

E.1 Vérification et correction de la SF afin que le système soit unité

stable

Nous avons calculé la relation d'ordre suivante, concernant l'accessibilité d'un état, au début

de la démonstration au E.1 :

{ } { }1, 1,

( )i xi xi ii p i p

X F H X∈ ∈

⎛ ⎞ ⎛ ⎞+ ⋅⎜ ⎟ ≤ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

∏ ∏8

Nous savons que l'expression à droite de la relation d'ordre nous indique toutes les conditions

avec lesquelles l'état 1 2 pX X X⋅ L vaut 1, c'est-à-dire

{ } { }1, 1,

( )xi xi i ii p i p

F H X X∈ ∈

⎛ ⎞ ⎛ ⎞+ ⋅⎜ ⎟ ≤ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

∏ ∏

Nous pouvons calculer les conditions avec lesquelles le système reste dans cet état en

calculant le coefficient de cette expression en fonction de l'état. Ainsi, en utilisant la notation

etatFouH comme l'expression à gauche de la relation, ce coefficient, que nous noterons

[ , ]etatCoef FouH etat est calculé comme suit :

{ }1,1*

[ , ]i

i p

etat etat XCoef FouH etat FouH

⎛ ⎞=⎜ ⎟⎜ ⎟⎝ ⎠

⎛ ⎞= ⎜ ⎟⎜ ⎟⎝ ⎠

Il s'avère que [ , ]etatCoef FouH etat est inclus dans l'état d'après

{ } { } { }1, 1, 1,[ , ] [ , ]i i i

etat etati p i p i pX X X

Coef FouH etat Coef FouH etat∈ ∈ ∈

⎛ ⎞ ⎛ ⎞ ⎛ ⎞⋅ ⎜ ⎟ ≤ ⎜ ⎟ ⇔ ≤ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠

∏ ∏ ∏

La variable [ , ]etatCoef FouH etat ne dépend plus de l'état mais elle est incluse dans l'état car

elle indique toutes les conditions avec lesquelles le système reste dans cet état :

{ }1,

[ , ] ietat i p

XCoef FouH etat

⎛ ⎞≤ ⎜ ⎟⎜ ⎟⎝ ⎠

Page 204: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe E : Démonstrations d'expressions pour la vérification des propriétés

184

Enfin, rappelons que si le système est unité-stable, le fait d'arriver dans un état quelconque et

de ne pas rester dans cet état doit être toujours faux. Par conséquence, pour un système unité-

stable l'expression suivante, que nous avons notée ushyp , doit être toujours fausse :

{ }1,1*

[ , ] 0 *i

i p

us etat etat etat etat Xhyp FouH Coef FouH etat FouH FouH

⎛ ⎞=⎜ ⎟⎜ ⎟⎝ ⎠

⎛ ⎞= ⋅ = ⋅ =⎜ ⎟⎜ ⎟⎝ ⎠

E.2 Expression pour la vérification des états interdits

1) Supposons un état à p sorties où le système solution de ces sorties est défini comme suit :

1 2

1 2

1 2

1 2

1 2

1 2

xp px x

x x xp p

x X x X xp Xp

F XF X F XG X G X G XH REP H REP H REP

⎧ ≤⎧ ⎧≤ ≤ ⎪⎪ ⎪ ⎪≤ ≤ ≤⎨ ⎨ ⎨⎪ ⎪ ⎪≤ ≤ ≤⎩ ⎩ ⎪⎩

L

Nous savons que xi iG X≤ ⇔ i xiX G≤ ⇔ i i xiX X G= ⋅ ( X[2.34]X⇔ X[2.41]X ⇔ X[2.35]X), alors

en utilisant X[2.44]X et ( X[3.1]X)nous avons

{ } { } { }1, 1, 1,

i i xi ii p i p i p

X X G X∈ ∈ ∈

⎛ ⎞ ⎛ ⎞ ⎛ ⎞⋅⎜ ⎟ ≤ ⎜ ⎟ ≤ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠

∏ ∏ ∏8

Nous savons en plus que ce système, cohérent, a une solution s'il est complet. De ce fait nous

avons que xi xi xiG F H= + . Ainsi, en sachant que xi i iF X X⋅ = car xi iF X≤ , nous avons

{ } { }1, 1,

( )i xi xi ii p i p

X F H X∈ ∈

⎛ ⎞ ⎛ ⎞+ ⋅⎜ ⎟ ≤ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

∏ ∏8

L'expression à droite de la relation d'ordre nous indique toutes les conditions avec lesquelles

l'état 1 2 pX X X⋅ L vaut 1 car le système est complet. Afin de n'obtenir que celles qui viennent

d'arriver dans l'état, il faut exclure celles qui sont déjà dans l'état. Par conséquence il faut

exclure l'expression à droite de la relation multipliée par l'état, comme suit :

{ } { } { } { }1, 1, 1, 1,

( ) ( )i xi xi i xi xi i ii p i p i p i p

X F H X F H X X∈ ∈ ∈ ∈

⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞+ ⋅ + ⋅⎜ ⎟ ≤ ⎜ ⎟ ⋅ ⎜ ⎟ ⋅ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠

∏ ∏ ∏ ∏8

Enfin, en utilisant X[2.63]X il est possible de démontrer que pour un système complet

{ } { } { }1, 1, 1,

( ) ( )0*xi xi i xi xi i i

fmTOT i p i p i pF H X F H X X

hyp∈ ∈ ∈

⎛ ⎞ ⎛ ⎞ ⎛ ⎞+ ⋅ + ⋅= ⎜ ⎟ ⋅ ⎜ ⎟ ⋅ ⎜ ⎟=⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠

∏ ∏ ∏

{ }1,

0 *ii p

X∈

⎛ ⎞⇒ =⎜ ⎟⎜ ⎟⎝ ⎠

∏8

Page 205: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe E : Démonstrations d'expressions pour la vérification des propriétés

185

2) Pour un système incomplet et en considérant la complétude des systèmes de chaque sortie

avec les variables fxik , gxjk et hxjk qui respectent la cohérence du système, nous en déduisons

{ }{ } { }{ }1, 1,1, 1,( ) ( )xi xj xj j xi xj xj j

i p i pj p j pj i j i

f f h X F F H X∈ ∈∈ ∈

≠ ≠

⎛ ⎞ ⎛ ⎞⋅ + ⋅ ≤ ⋅ + ⋅⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

∑ ∑∏ ∏

Cela implique, d'après fmTOThyp et en utilisant X[2.63]X, que si 0 *fmTOThyp = alors 0 *fmhyp = .

Par conséquence 0 *fmhyp = est une condition nécessaire mais pas suffisante pour garantir

que l'état est inaccessible. Bref, pour garantir la cohérence d'une spécification par rapport à un

état interdit inaccessible, depuis un système incomplet, il faut vérifier que 0 *fmhyp = :

{ } { } { } { }1, 1, 1,1,

( ) ( )0* 0*xi xi i xi xi i i

i fm i p i p i pi p

f h X f h X XX hyp

∈ ∈ ∈∈

⎛ ⎞ ⎛ ⎞ ⎛ ⎞+ ⋅ + ⋅⎛ ⎞ = ⇒ = ⎜ ⎟ ⋅ ⎜ ⎟ ⋅ ⎜ ⎟=⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠⎜ ⎟

⎝ ⎠

∏ ∏ ∏∏8

E.2.1 Regroupement de la SF

1) Classification des spécifications

D'abord, identifier les relations de la SF par type. Les relations qui ne correspondent à un

de ces types doivent être transformées, afin de pouvoir les classifier en utilisant des

théorèmes. Par exemple,

1 2 1 21 2 3 4

3 4 3 4

( ) ( ) 0* ( ) ( )( ) ( ) ( ) ( ) 0*

( ) ( ) 0* ( ) ( )F u F X F u F X

F u F X F u F XF u F X F u F X

⎧⎧ ⋅ = ≤⎪ ⎪⋅ + ⋅ = ⇔ ⇔⎨ ⎨⋅ = ≤⎪ ⎪⎩ ⎩

en utilisant X[2.25]X et X[2.37]X ⇔ X[2.34]X

2) Premier groupement

Faire alors un premier groupement de la SF par type, en utilisant X[2.46]X.

3) Décomposition des spécifications

Nous allons décomposer (en utilisant X[2.47]X) les SF-T2 qui ont un état d'arrivée :

( , ) jF u X Z≤ . Par exemple, l'assertion A5 de l'exemple 3 :

_ __ _

_ _P depose P haute Avancer

P depose P haute Avancer DescendreP depose P haute Descendre

⎧ ⋅ ≤⎪⋅ ≤ ⋅ ⇔ ⎨⋅ ≤⎪⎩

4) Regroupement initial du système des sorties.

Regrouper les SF-T1 du système et les assertions du dernier résultat (en utilisant X[2.46]X).

Ce système décrit le comportement demandé à chaque sortie individuellement. Nous

appellerons ce système le système des sorties. Par exemple, les assertions A2 et A3 de

Page 206: Méthode de synthèse d'un contrôleur logique à partir des ...webserv.lurpa.ens-cachan.fr/ksup/files/MEDINA-2007-MSC.pdf · Sujet de la thèse : Méthode de synthèse d'un contrôleur

Annexe E : Démonstrations d'expressions pour la vérification des propriétés

186

l'exemple 1 :

{2) _2 3) _ _

3) _A Res plein Pomper

A A Res plein Bas vide PomperA Bas vide Pomper

⎧ ≤⎪ ⇔ ⋅ + ≤⎨≤⎪⎩

5) Regroupement initial du système du comportement global

Regrouper le reste des SF-T2: 1 2( , ) ( )F u X F X≤ . Si possible, utiliser X[2.46]X, tel que le

point 4, pour synthétiser ce système. La fonction 2 ( )F X de ces assertions, ne représente ni

une sortie ni un état. Nous appellerons ce système le système du comportement global.

6) Groupement de SF-T5

Séparer les assertions SF-T5 et les inclure aux systèmes précédents comme suit : a) dans le

système des sorties, les assertions définies à partir d'un REP d'une seule sortie et b) le reste

dans le système du comportement global. Les premières assertions sont donc des SF-T5

définies pour un REP d'une sortie et les dernières sont définies pour un REP d'un ou

plusieurs états.

7) Groupement des SF-T3 et SF-T4

Regrouper dans une relation d'égalité, en utilisant X[2.25]X, tous les SF-T3 et dans une autre

tous les SF-T4. Par exemple, les assertions A14, A15 et A16 de l'exemple 3 :

14) Re 0*15) 0* 0*16) 0*

A Avancer culerAvancer Reculer Avancer DescendreA Avancer Descendre

Reculer DescendreA Reculer Descendre

⎧ ⋅ =⎛ ⎞⎪ ⋅ + ⋅

⋅ = ⇔ =⎨ ⎜ ⎟+ ⋅⎝ ⎠⎪ ⋅ =⎩