• Aucun résultat trouvé

II.3 Génération des scénarii de reconfiguration par un système expert

II.3.4 Représentation de la connaissance par des règles

II.3.4.2 Règles de construction

II.3.4.2.a Principe et constitution générale des règles de construction

Les règles de construction concrétisent des savoir-faire du concepteur réseau. Ces règles matérialisent des actions génériques opérées par l’ingénieur lorsqu’un certain nombre de conditions sont remplies. Elles vont construire la configuration du réseau en cherchant à connecter des équipements entre eux : des sources avec des barres ou des barres avec

d’autres barres. Ces connexions se feront par les fermetures des contacteurs définies par les

chemins de construction. La constitution générique d’une règle de construction formulée en langage naturel est illustrée par la Figure II-23.

PARTIE CONDITIONS (SI)

Condition.1 Un équipement x

Condition.2 Un équipement y

Condition.3 Il y a un chemin de construction w reliant les équipements x et y

Condition.4 Des conditions supplémentaires sur les caractéristiques des équipements x et y

PARTIE ACTIONS (ALORS)

Action.1 Connecter l’équipement x à l’équipement y en fermant les contacteurs du chemin de construction w

Action.2 Modifier les attributs de l’équipement x

Action.3 Modifier les attributs de l’équipement y

Figure II-23 Organisation générique d’une règle de construction

Les conditions n°1 et n°2 définissent deux équipements x et y que nous souhaitons

connecter. Ces deux équipements ont des attributs et sont représentés par des numéros de nœuds stockés dans « identifiantGraphe ». La condition n°3 définit génériquement s’il

existe un chemin de construction entre les 2 équipements x et y. A cet effet, nous utilisons l’objet de classe « NB_CHEMINS_CONSTRUCTION » pour connaître le nombre de chemins de

construction reliant x et y. S’il en existe plusieurs, alors le nombre de configurations générées est multiplié par le nombre de chemins. Enfin, la condition n°4 définit avec plus de détails les conditions sous lesquelles x et y ont le droit d’être connectés.

Si les quatre conditions sont vérifiées et que la règle est lancée, cette dernière va exécuter les opérations suivantes. L’action n°1 actualise les attributs des objets représentant la configuration (« SOLUTION et SOLUTION_BIS ») en fermant les contacteurs reliant les 2

équipements. Tandis que les actionsn°2 et n°3 changent respectivement les attributs de x et y. Enfin il est à noter que s’il existe plusieurs chemins de construction entre les 2 équipements à connecter alors le système expert va créer autant de configurations que de chemins de construction.

Pour illustrer les différents concepts, nous montrons un exemple détaillé dans la partie suivante.

II.3.4.2.b Exemple de règle de construction

Le codage en CLIPS d’une règle de construction permettant d’alimenter une barre AC par une source AC (ici un VFG) est fourni Figure II-24. Les deux équipements sont installés sur des côtés avion différents. La règle est nommée « » et

son niveau de priorité est défini à 1000. Avant de décrire la règle, il est important de signaler que l’instruction « ?v » désigne la variable « v ».

Si nous analysons la règle, nous retrouvons les deux parties : conditions et actions. La partie conditions est constituée des éléments suivants :

Condition n°1. L’équipement x est un objet de type « SOURCE ». L’attribut

« identifiantReseau » nous apprend que c’est une source « AC PRINCIPALE ». La

variable « ?n1 » indique le numéro du nœud de ce générateur et « ?c1 » le côté avion.

Condition n°2. L’équipement y est un objet de type « BARRE ». Par l’intermédiaire de

l’attribut « identifiantReseau », nous savons que c’est une barre AC, alimentant des

charges techniques. Comme pour la source, le numéro de nœud et le côté avion sont exprimés respectivement par les variables « ?n2 » et « ?c2 ».

Condition n°3. Le test visant à savoir s’il existe un chemin de construction entre la source

et la barre est réalisé par 2 éléments : l’objet « NB_CHEMINS_CONSTRUCTION » et une

instruction testant que le nombre de chemins de construction modélisé par la variable « ?Nc » n’est pas nul. A noter que le chemin doit appartenir au sous-réseau de type AC : « (type AC) ».

Condition n°4. Enfin les 2 dernières instructions vérifient respectivement que la source

n’alimente pas plus 2 barres : « (test (< ?t 2)) »), et que la source et la barre sont

bien situées sur des côtés différents : « (test (neq ?c1 ?c2)) ».

(defrule ALIMENTATION_BARRE_AUTRE_COTE

(declare (salience ((1000))

?source <- (object (is-a SOURCE) (identifiantReseau AC PRINCIPALE ?) (identifiantGraphe ?n1)

(nbBarreAlimentee ?t) (coteAvion ?c1) (etatSource ON))

?barre <- (object (is-a BARRE) (identifiantReseau AC technique ?) (identifiantGraphe ?n2)

(coteAvion ?c1)

(etatBarre non-alimentee))

(object (is-a NB_CHEMINS_CONSTRUCTION) (type AC) (departGraphe ?n1) (arriveeGraphe ?n2) (valeur ?Nc)) (test (> ?Nc 0)) (test (< ?t 2)) (test (neq ?c1 ?c2))

(object (is-a NB_SOLUTIONS) (valeur ?Ns))

=>

(construction_solution ?Ns ?Nc ?n1 ?n2))

(send (instance-name ?source) put- nbBarreAlimentee (+ ?t 1))

(send (instance-name ?barre put-etatBarre alimentee)) VFG B (AC) C1 C2 Non alimentée Langage CLIPS Côté avion 1 Côté avion 2 CONDITION N°1 CONDITION N°2 CONDITION N°3 ACTION N°1 ACTION N°2 ACTION N°3 C1 C2 C3 0 0 0 C3 VFG B (AC) C1 C2 Alimentée C1 C2 C3 1 1 0 C3 VFG B (AC) C1 C2 Alimentée C1 C2 C3 1 0 1 C3 Configuration n°1 Configuration n°1 Configuration n°2 ON ON ON

NOM & PRIORITE

CONDITION N°4

PARTIE

CONDITIONS

PARTIE ACTIONS

Vue schéma électrique

Quant à la partie actions de la règle, les opérations sont les suivantes :

Action n°1. La fonction « construction_solution » est lancée. Elle prend en entrée 4 arguments : le nombre de solutions « ?Ns », le nombre de chemins de construction « ?Nc

», les numéros de nœud des équipements à connecter « ?n1 » et « ?n2 ». Puisqu’il existe 2

de chemins de construction permettant de connecter la source à la barre : {C1, C2}, {C1, C3}. La fonction « construction_solution » génère 2 configurations

correspondant aux 2 chemins de construction.

Action n°2. La variable « ?t » modélisant le nombre de barres alimentées par la source est incrémenté d’une unité.

Action n°3. La barre est maintenant considérée comme « alimentée ».

II.3.4.2.c Intérêt de la décomposition en sous-réseaux pour les règles de construction

Par l’intermédiaire d’un exemple, nous montrons l’avantage du découpage du réseau selon les types de tension distribuée (AC, DC). La règle de construction vue précédemment visant à alimenter une barre AC par une source AC est reprise et appliquée sur le réseau de la Figure II-25. Sur ce schéma, deux modélisations sont représentées : avec et sans sous-réseaux. Dans notre exemple, nous considérons que la règle de construction souhaite alimenter B2 par VFG1. Selon les 2 types de modélisation, 2 choix apparaissent :

 SANS les sous-réseaux, le chemin reliant VFG1 à B2 via les sommets B1, TRU1, B4, B5, TRU2 serait sélectionnable. Or, la fermeture des contacteurs associés à ce chemin ne permet pas physiquement d’alimenter B2. Ce chemin ne devrait pas être sélectionné.

 AVEC les sous-réseaux, nous pouvons contraindre la règle de construction à ne sélectionner que des chemins faisant partie du sous-réseau AC. Ceci permet de garantir que tout chemin sélectionné permettra physiquement d’alimenter B2 par VFG1. Les chemins passant par la partie DC ne pourront pas être sélectionnés.

VFG 1 VFG 2 APU GEN B1 B2 B3 TRU 1 TRU 2 B4 B5 A C1 C4 C7 C8 C5 C3 C2 C10 C9 C11 C13 C12 C6 SANSdécomposition du réseau AVECdécomposition du réseau VFG 1 VFG 2 APU GEN B1 B2 B3 TRU 1 TRU 2 B4 B5 A C1 C4 C7 C8 C5 C3 C2 C10 C9 C11 C13 C12 C6 PARTIE AC PARTIE DC

Chemin de construction pouvant être sélectionné

Figure II-25 Chemin sélectionnable avec une modélisation : SANS décomposition du réseau / AVEC décomposition du réseau – Connexion de VFG1 avec B2