introduction - Université de technologie de Troyes

Transcription

introduction - Université de technologie de Troyes
3e Conférence Francophone de MOdélisation et SIMulation “Conception, Analyse et Gestion des Systèmes Industriels”
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
UNE NOUVELLE APPROCHE POUR LE DEVELOPPEMENT D’OUTILS
D’ANALYSE ET D’AIDE A LA DECISION.
José-Luis PERPEN
Laboratoire d’Informatique Appliquée
Université de Pau et des Pays de l’Adour avenue de l’Université
BP 576
64012 Pau Cedex, France
Mél : [email protected]
RESUME : La maîtrise des phases de conception et d’exploitation de systèmes constitue un enjeu économique
important pour l’industrie. L’utilisation d’outils, faisant largement appel à la modélisation et à la simulation, est
devenue indispensable. Parce que les problèmes rencontrés ne sont jamais identiques et qu’il est constamment
nécessaire d’améliorer les méthodes de résolution, de nombreux outils spécifiques doivent encore être développés.
L’objectif de cet article est de présenter une nouvelle approche pour la construction rapide d’outils d’analyse et d’aide
à la décision, performants et évolutifs.
MOTS-CLES : Modélisation objet, points de vue, développement interactif, système de production.
1.
INTRODUCTION
Au cours des dernières décennies, la compétition entre
les industries manufacturières s'est considérablement
accrue, entraînant des exigences de plus en plus fortes
sur la qualité des produits, leur prix et leur délai de
fabrication.
Pour accélérer et fiabiliser les étapes du cycle de
développement de produits, de nombreux outils
d’analyse et d’aide à la décision ont été développés. La
diversité des systèmes existants ainsi que l’évolution
des techniques de production conduisent aux
développements répétés de nouveaux outils.
L’ingénierie simultanée impose de nouvelles
contraintes sur ces outils. Il devient maintenant
nécessaire de trouver des solutions, à un problème
donné, compatibles avec les contraintes issues de
domaines annexes. Les outils doivent par conséquent
coopérer.
De nombreux groupes pluridisciplinaires de recherche
se forment autour de l’étude d’une modélisation plus
précise et plus complète des systèmes de production.
Leur objectif est de fournir aux industries des outils
pour améliorer la production et mieux réagir face aux
perturbations. La complexité des systèmes étudiés rend
peu probable l’obtention directe d’une modélisation
fédératrice entièrement satisfaisante. Il est donc
indispensable de prévoir l’évolution des outils
développés.
2.
POSITIONNEMENT DE L’ETUDE
Le développement direct d’une application métier
intégrant une modélisation complète et précise d’un
système de production et pouvant résoudre l’ensemble
des problèmes rencontrés est irréaliste. Une des
solutions envisageable est de permettre la coopération
entre différentes applications autour d’un même
objectif. L’utilisation de technologies comme CORBA,
COM, EJB ou autre peut être une solution intéressante
pour la connexion entre différentes applications
existantes. Cette solution est avantageuse lorsqu’il
s’agit de réutiliser les fonctionnalités de composants
complexes comme un outil de CFAO, un tableur, etc..
Cependant, cette approche ne constitue pas une
solution entièrement satisfaisante dans la mesure où
elle n’offre pas une modélisation globale des
connaissances et limite considérablement les
possibilités d’adaptation et d’évolution des outils
produits. Les méthodes de résolution de problèmes
ainsi que les modèles utilisés doivent pouvoir évoluer
au cours du temps, au fur et à mesure que de nouveaux
besoins se précisent.
L’objectif de nos travaux de recherche est de définir
une nouvelle approche pour la construction rapide
d’outils d’analyse et d’aide à la décision, performants,
évolutifs et coopérants. Cette approche s’appuie sur le
développement d’un nouveau type de système
(Système de Gestion des Connaissances Techniques)
facilitant la modélisation et la résolution de problèmes.
Notre approche peut être placée à la frontière du génie
logiciel et de l’ingénierie des connaissances. Comme
pour ces deux approches, elle consiste à fournir un
modèle pour la représentation des connaissances à
partir duquel les méthodes de résolution de problèmes
pourront être programmées. Le modèle utilisé, nommé
OMT-K (Perpen, 2000), s’apparente aux modèles
OMT et UML (Fowler, 1997) utilisés en génie logiciel.
Cependant, il intègre, en outre, un certain nombre de
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
concepts existants dans des modèles issus des
recherches en ingénierie des connaissances comme les
modèles terminologiques, KL-one (Brachman et
Schmoltze, 1985) ou à base de frames, KRL (Bobrow
et Winograd, 1977), FRL (Roberts, 1977) et SHIRKA
(Rechenmann, 1989).
Un premier aspect différencie clairement notre
approche des approches existantes. Le travail de
programmation ne s’effectue pas avec un éditeur de
texte mais avec un outil graphique, le S.G.C.T.. Il
existe de nombreux outils de développement utilisant
une interface graphique pour la construction du modèle
d’une application. Rational Rose (Quantrani, 1998) est
un environnement graphique de modélisation
permettant la construction de modèles UML. Le
principe est de générer à partir de la description UML
le squelette de l’application. Le logiciel O2 (Cattell,
1994) utilise le même dispositif pour la construction
des schémas de bases de données orientées objets. En
ingénierie des connaissances, les systèmes tel que
Ontolingua (Farquhar, 1997), WebMap (Gaines et
Shaw, 1995), KSSO/NEXTRA (Einstadt , 1991),
WebOnto (Domingue, 1998) offrent un ensemble
d’outils pour la visualisation et le partage de modèles
sur Internet. Le principal objectif de ces outils est de
faciliter la visualisation et l’édition des ontologies d’un
domaine. KSSO (Gaines, 1993), dispose d’un
environnement hypermédia et utilise des techniques
d’exploitation de grille et un algorithme d’induction
ID3 et C4.5 pour la formalisation de connaissances à
partir d’interviews et d’articles.
Contrairement à ces outils, le rôle du S. G.C.T. n’est
pas uniquement la construction graphique du modèle
de connaissances pour préparer le code du programme
ou pour tester le modèle de représentation. L’interface
fournie par le S.G.C.T. participe activement à la
construction du modèle de connaissances en gérant les
contraintes
implicites
du
modèle
OMT-K.
Actuellement, notre approche ne permet pas la
formalisation de connaissances à partir de documents
informels. Cependant, nous avons pu vérifier que la
construction dynamique d’application métier facilite le
travail de modélisation jusqu'à favoriser les
développements par des experts non informaticiens.
Le projet PROTEGE (Eriksson, 1999), développé
actuellement à l’université de Stanford, offre une
approche similaire pour la modélisation de
connaissances. Le logiciel PROTEGE 2000 fourni un
environnement graphique convivial, permettant la
modélisation du domaine en utilisant la notion de
classes/instances. Cependant, cet environnement
n’intègre pas de contrôle sur la cohérence des modèles
saisis, ce qui est le cas avec notre S.G.C.T.. De plus,
l’approche utilisée pour le développement dans
PROTEGE 2000 est une approche par composants. Le
principe retenu pour l’évaluation de paramètres est
d’établir des liens entre les données du modèle et des
composants génériques pour le calcul (PSM, ProblemSolving Methods). Les classes ainsi que les attributs de
ces classes (nommé slots) n’intègrent pas la notion de
méthodes pour l’évaluation, ce qui limite les
possibilités tant au niveau de la représentation des
connaissances qu’au niveau de la résolution de
problèmes.
Le deuxième aspect original de notre approche est lié
aux fonctionnalités incluses dans les applications
construites.
• Un environnement graphique qui permet
l’évaluation des méthodes liées aux objets modélisés.
• Un système d’aide à la définition des besoins
interactif qui utilise des techniques basées sur la
propagation de contraintes et le raisonnement à base de
cas pour la construction d’objets complexes.
• Des interfaces graphiques qui s’adaptent
automatiquement au domaine de compétence de
l’utilisateur pour la visualisation et la manipulation des
objets modélisés.
• Pour finir, un générateur de documentation en
ligne (HTML) qui présente les descriptions associées à
l’ensemble des connaissances modélisées.
Dans les paragraphes suivants, nous présentons les
différents concepts utilisés dans notre approche pour la
modélisation des connaissances et pour leur mise en
œuvre, puis différents domaines d’application étudiés.
3.
MODELISATION PROPOSEE
Pour modéliser les connaissances utilisées dans les
différents domaines de la productique, il est
indispensable de disposer d’un modèle de
représentation à la fois puissant et facile d’accès aux
experts des domaines considérés.
Notre approche est basée sur un nouveau modèle
baptisé OMT-K (Perpen, 2000). Ce modèle reprend les
principes des modèles OMT et UML, qui sont parmi
les plus utilisés actuellement. Nous présentons, dans les
paragraphes suivants, l’ensemble des concepts utilisés
dans OMT-K.
3.1
Définition d’une classe
Plusieurs concepts sont utilisés pour la définition d’une
classe. L’utilisateur doit saisir pour chaque classe :
• Un nom
• Une liste de classes
parentes
• Une liste d’attributs
• Une description HTML
• Une liste de méthodes
• Une liste d’attributs
associés
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
Comme tout élément de modélisation, une classe
dispose d’un identifiant interne, défini à sa création.
Remarque : Les attributs associés permettent la
définition de “ Classes Associations ”. Contrairement
aux modèles objets ou Entité/Relation, l’association ne
se limite pas à relier uniquement les identifiants de
classes ou d’entités. Nous généralisons la notion
d’association en autorisant la liaison de tout attribut de
la base de connaissances.
3.2
Définition d’un attribut
La définition d’un attribut prend une place importante
dans notre approche. Tous les attributs d’une classe
sont définis de la manière suivante :
•
Un nom
• Une description
HTML
• Un type
Standard
(Texte, Entier,..)
Défini dans la base
(Matière, Machine,..)
• Un format
(instance ou classe)
•
Un modèle
• Une ou plusieurs sources
de valeurs
•
Un attribut parent
3.2.1
Définition d’un modèle
L’environnement PROTEGE 2000 se limite à un
nombre de valeurs égale à 1 ou infini. Cela nous
semble trop restrictif pour la modélisation de
connaissances, notamment dans le domaine de la
mécanique où de nombreuses matrices sont utilisées
pour stocker les caractéristiques de matériaux. Nous
proposons maintenant une vision plus large, en
définissant la notion de modèle pour un attribut.
• “ 1 ” correspond à une valeur unique pour
l’attribut.
• “ (N) ” correspond à une liste de N valeurs. Si N =
-1 alors la liste est infinie.
• “ {N} ” correspond à un ensemble de N valeurs ne
contenant donc pas de doublons.
• “ [N1,N2,N3,..,Nn] correspond à la description de
matrice de n dimensions. “ [5] ” est par exemple une
liste triée de 5 éléments. “ [5, 2] ” correspond à une
matrice 5x2. “ [-1, -1] ” affichera un tableau de taille
infinie.
3.2.2
Définition des sources de valeurs
Cinq types de sources peuvent être définis pour
identifier les valeurs admissibles pour l’attribut. Des
combinaisons de ces cinq types de sources sont
autorisées.
Une liste de valeurs figée ou non : L’utilisateur peut
créer ou choisir parmi les valeurs correspondantes au
type de l’attribut, celles qui sont acceptables (ex : pour
la forme d’une plaquette (attribut de type “ Texte ”), les
valeurs seront “ ronde ”, “ carrée ”, et..).
Un autre attribut : Les valeurs possibles seront alors les
valeurs définies pour cet attribut (ex : l’outil actif d’une
machine à commande numérique doit appartenir aux
outils du magasin).
Une liste de contraintes : Si aucune source n’est
définie, une ou plusieurs contraintes peuvent l’être
pour restreindre les choix possibles parmi l’ensemble
des valeurs compatibles avec le type de l’attribut. (Ex :
l’attribut “ Puissance Broche Maxi ” de type “ Réel ”
peut être contraint par “ > 0 ”)
Un attribut équivalent : Pour faciliter la modélisation et
aussi la gestion automatique des contraintes et des
calculs de similitude, il est possible de définir des
équivalences entre attributs (ex : la matière d’un outil à
plaquette est équivalente à la matière de la plaquette
utilisée). La valeur de cette attribut sera alors celle de
l’attribut.
Une méthode d’évaluation : Pour finir, la valeur d’un
attribut peut directement être fournie à l’aide de la
définition d’une méthode de calcul (voir définition
d’une méthode §3.3).
3.2.3
Définition d’un attribut parent
Un attribut peut surcharger un autre attribut
appartenant à la même classe ou à l’une des classes
mères de celle-ci. Deux types de surcharges sont
possibles :
La définition d’un attribut parent permet de surcharger
les restrictions sur la ou les valeurs de cet attribut. (Ex :
la matière de la partie active, pour un outil à plaquette,
est équivalente à la matière de la plaquette utilisée.
Pour modéliser un outil nous pouvons définir, dans un
premier temps, une classe “ Outil ” possédant un
attribut de type “ Matière ”, nommé “ Matière partie
active ”. Sur la classe “ Outil à plaquette ” héritant de
la classe “ Outil ”, il est alors possible de définir un
nouvel attribut surchargeant l’attribut “ Matière partie
active ”. Nous pouvons, ensuite, utiliser la notion
d’attribut équivalent afin que la valeur de cet attribut
soit celle de la matière de la plaquette utilisée par
l’outil.
Pour améliorer la gestion des points de vue utilisateurs
ainsi que la visibilité des modélisations construites,
nous avons mis en place un autre mécanisme de
surcharge, celui-ci moins commun. Le principe est
d’utiliser la notion d’attribut parent pour la
décomposition et le raffinement des concepts
modélisés. Prenons, cette fois, le cas d’une classe
“ Activité ” ayant comme attribut une liste de
ressources. Pour une activité d’usinage, ces ressources
peuvent être précisées. L’attribut “ Ressources ” peut
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
être surchargé dans la classe “ Opération d’usinage ” en
trois attributs l’un contenant une “ Machine ”, l’autre
un “ Outil ” et le dernier une “ Pièce ” ; chacun de ses
trois éléments étant bien entendu défini comme des
ressources pour la cohérence globale de la
modélisation.
3.3
Définition d’une méthode
Contrairement à l’environnement PROTEGE 2000, il
est possible de définir des méthodes pour les classes,
l’évaluation d’attribut, et l’évaluation de contraintes.
Une méthode est définie par :
Un nom
•
•
Une description HTML
• Une contrainte
d’utilisation
•
MISE EN ŒUVRE DES MODELES
Pour la mise en œuvre des modèles, nous avons
travaillé sur l’étude de solutions techniques permettant
de passer directement de la modélisation des
connaissances à une application exploitable. Nous
décrivons ici les moyens utilisés pour l’implémentation
des modèles OMT-K, leur utilisation ainsi que les
aspects liés à la gestion des points de vue utilisateurs.
L’implémentation des modèles
Une méthode parente
Un code C++
3.3.1
Définition d’une méthode parente
Comme pour un attribut, une méthode d’une classe
peut avoir une méthode parente dont elle sera une
surdéfinition ; la méthode parente désignée jouant ici le
rôle de méthode virtuelle.
3.3.2
Définition d’une méthode parente
Bien qu’il soit possible de récupérer l’identifiant d’un
attribut et d’accéder par le programme à ses propriétés,
en règle générale, les utilisateurs veilleront à prendre
comme attributs en entrée les attributs strictement
nécessaires au calcul. Si une méthode nécessite
l’attribut “ Puissance Broche Maxi ”, défini dans la
classe “ Machine ”, il est inutile de récupérer un
attribut désignant la classe “ Machine ”. En effet, cette
classe peut être amenée à évoluer et il serait alors
nécessaire de modifier la méthode programmée.
3.4
4.
4.1
•
• Une liste d’attributs en
entrée et en sortie
classe association : par exemple, pour imposer la prise
en compte de l’attachement entre l’outil et la machine.
Définition d’une contrainte
Notre avons montré qu’il était possible de définir des
contraintes sur la valeur d’un attribut. Les contraintes,
que nous définissons ici, sont plus des contraintes liées
à la résolution de problèmes qu’à la modélisation des
connaissances, bien qu’elles fassent partie intégrante de
la modélisation. Ces contraintes supplémentaires
pourront être activées ou désactivées en fonction des
problèmes à résoudre et de la qualité des solutions
recherchées. Deux types de contraintes peuvent être
utilisés avec OMT-K.
Le premier concerne l’application de contraintes sur les
attributs de la base de connaissances. Par exemple :
puissance de broche maximale d’une machine
inférieure de 10% à la puissance de coupe nécessaire à
une opération.
Le deuxième type de contraintes est lié à l’existence
d’une instance dans une classe et notamment dans une
Le S.G.C.T. dispose d’une interface graphique
permettant la saisie des modèles OMT-K décrivant le
système étudié. Les interfaces graphiques nécessaires à
la gestion des instances issues de la modélisation sont
générées dynamiquement par le S.G.C.T, intégrées à
celui-ci et directement utilisables.
Contrairement aux approches utilisées en ingénierie
des connaissances, nous n’effectuons pas une analyse
de cohérence sur la modélisation finale avec une
analyse du code obtenu. Le S.G.C.T. est basé sur une
approche préventive qui consiste à guider l’utilisateur
afin d’éviter le choix de valeurs incohérentes vis à vis
de la modélisation en cours de construction. Cette
cohérence est aussi vérifiée lors de chaque
modification. Des menus déroulants contextuels
montrent les valeurs acceptables en fonction des
opérations effectuées. Le système peut interagir avec
l’utilisateur lorsqu’une modification du modèle ou des
données conduit à des incohérences.
La sauvegarde des modèles et des données saisies
s’appuie sur un système de base de données classique.
Les tables peuvent donc être facilement partagées sur
le réseau avec d’autres S.G.C.T. ou des outils existants.
4.2
L’utilisation des modèles
Nous avons étudié un certain nombre de modules
génériques afin de fournir directement à partir des
modèles saisis une aide efficace à la résolution de
problèmes.
4.2.1
Evaluation des méthodes
Dans un premier temps nous avons travaillé sur un
module dédié à l’évaluation des méthodes définies dans
les objets modélisés. L’approche utilisée est
sensiblement la même que pour les systèmes experts à
base de règles. Le module développé est basé sur un
moteur d’inférences chargé de retrouver les paramètres
nécessaires à l’évaluation d’une méthode. Il utilise
comme base de fait un contexte contenant les objets
étudiés. Les règles sont les méthodes de calcul liées
aux attributs. Les entrées de la méthode sont les
prémisses d’une règle et les sorties sont les
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
conclusions. Ce module interagit avec l’utilisateur pour
renseigner les valeurs manquantes dans le contexte
initial. L’utilisateur peut choisir de renseigner la valeur
manquante et enrichir la base de connaissances ou
prendre une valeur temporaire pour effectuer ces
calculs. Si la valeur manquante est liée à un objet
absent du contexte, l’utilisateur peut choisir d’ajouter
un objet complet au contexte. Dans ce cas, l’utilisateur
pourra faire appel à deux modules spécialement étudiés
pour l’aide à la configuration de solutions.
4.2.2
Recherche d’objets existants
Le premier offre la possibilité de rechercher, dans la
base, les objets correspondants à un objet partiellement
renseigné. Le principe est basé sur une mesure de
similarité utilisant la logique floue. Dans l’exemple
suivant, nous décrivons une méthode pour mesurer la
similarité entre la rugosité d’une pièce et celle
souhaitée.
ressemblance par deux critères qui sont les degrés de
possibilité et de nécessité.
Une mesure globale de ressemblance sur plusieurs
caractéristiques peut être obtenue en effectuant le
calcul d’une similitude globale. Le calcul a été étudié
sur la base des travaux de Dubois et Prade (Dubois et
Prade, 1988). Plutôt que l’utilisation d’un poids décrit
par un réel appartenant à l’intervalle [0,1], nous avons
mis en place la notion de rang que l’utilisateur pourra
affecter à chaque caractéristique recherchée. Le poids
utilisé pour le calcul de la similarité globale est
déterminé de la façon suivante :
Soit rangPi le rang de la ième caractéristique de l’objet,
alors le poids wi, de la ième caractéristique, est tel que :
wi =1−
(rang P −1)
i
max(rangP )
i
i =1,...,n
L’utilisation de la notion de rang, en lieu et place du
poids, nous semble permettre un classement plus rapide
et plus intuitif des attributs en fonction de leur
importance dans la recherche d’un objet similaire.
1
µ
π
Rugosité
en µm
0
2
4
Deux nouvelles distances sont alors définies pour la
similarité globale d1 et d2. Elles correspondent
respectivement à la nécessité et à la possibilité globales
de similarité.
supu∈U min(µ(u),π (u) )
N = infu∈U max(µ(u),1−π(u))
d1 = min max(1−wi,si)
i =1,...,n
Figure 1. Similarité entre deux rugosités.
d 2 = min max(1− wi,s'i )
i =1,...,n
Π=
Nous définissons la fonction d’appartenance µ qui
traduit l’appartenance au critère “ est proche de ” et
une distribution de possibilité π traduisant la différence
entre les deux rugosités. Π et N donnent les degrés de
possibilité et de nécessité de similitude entre la rugosité
de la pièce testée et la rugosité demandée.
La logique floue permet d’affiner la notion de
similitude deux caractéristiques. Dans cet exemple, la
fonction d’appartenance µ choisie, traduit que la
similarité est grande, si la différence entre les deux
rugosités est inférieure à 1 µm, et qu’elle diminue
jusqu'à être nulle pour une différence dépassant les 5
µm. Il est aussi possible pour la rugosité demandée de
prendre un intervalle de valeur ou une variable floue.
Dans ce cas, la distribution de possibilité π prendra la
forme d’un créneau ou d’un trapèze.
La logique floue permet aussi d’homogénéiser la
mesure de ressemblance sur un ensemble de
caractéristiques différentes, en résumant cette
Avec S’j et Si les degrés de possibilité et de nécessité
de similarité locale pour la ième caractéristique.
Une étude antérieure sur cette même mesure de
similarité a permis de tester la fiabilité des résultats
obtenus (Perpen, 1996). L’utilisation de cette technique
sur des objets complexes modélisés avec OMT-K a
conduit à l’élaboration d’un premier algorithme
prenant en compte la structure objet de notre
modélisation (Ruet, 1999).
Il semble important de noter que l’utilisation de ce
module de recherche d’objets similaires impose
toutefois, pour chaque classe élémentaire (c.-à-d. celles
représentant des concepts de base), la définition d’une
méthode fournissant les degrés de possibilité
correspondant à une mesure locale de similitude.
4.2.3
Génération et/ou validation d’objets
L’intérêt de ce module est d’assurer une coopération
dynamique entre les différentes connaissances issues
de domaines divers. La construction, par exemple, d’un
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
objet de type opération d’usinage pour la fabrication
d’une pièce donnée impose la sélection d’un outil et
d’une machine adaptés. Le rôle du module, défini ici,
est de proposer directement aux utilisateurs les
composants adéquats à placer dans l’opération, en
tenant compte de toutes les contraintes liées à ceux-ci.
La complexité des composants à construire et des
calculs dépendra des contraintes imposées, au départ,
par l’utilisateur du système. L’approche utilisée pour
identifier les composants acceptables est issue
d’importants travaux de recherche sur les méthodes de
résolution de problème par satisfaction de contraintes
(Monteiro, 1999).
Un problème de satisfaction de contraintes (CSP) est
composé d'un ensemble X de n variables X1, X2,…, Xn
et d'un ensemble de m contraintes C1, C2,…, Cm.
Chaque variable prend sa valeur dans son domaine
respectif dom(X1), dom(X2),… Chaque contrainte est
composée d'un sous-ensemble {Xi, …,Xq} de X et
d’un sous-ensemble du produit cartésien dom(Xi) x…x
dom(Xq), qui spécifie (en extension ou en intention)
quelles valeurs des variables Xi, …,Xq sont
compatibles avec la contrainte. Sur la figure 2, nous
présentons un exemple de CSP contenant quatre
variables et trois contraintes.
X1
X2
V1
V2
V3
V4
X3
C2
C1
C3
V13
V14
V15
V16
C2
X1 X3
V1 V9
V1 V10
V3 V11
Pour résoudre le CSP ainsi obtenu, nous nous sommes
basés sur l’algorithme DnGAC4 (Bessière, 1991). Cet
algorithme, efficace sur des contraintes discrètes, doit
être perfectionné pour permettre, aussi, la prise en
compte de contraintes continues.
Le module dédié à la recherche d’objets existants et le
module pour la génération, ou la validation, d’objets
pourront, à terme, être utilisés consécutivement. Le
premier pour rechercher rapidement une première
solution sous la forme d’un objet déjà existant dans la
base, et le second pour vérifier la cohérence entre les
valeurs des attributs récupérés avec l’objet et le
contexte global de l’étude. La correction d’éventuelles
erreurs pourrait alors être effectuée par le module de
satisfaction de contraintes, après l’élimination des
attributs incriminés. La réévaluation de ces attributs
fournira alors une solution adaptée au contexte de
travail. A terme, le couplage entre ces deux modules
doit pouvoir conduire à l’obtention d’un module
fournissant
un
mécanisme
presque
complet
d’apprentissage par le raisonnement à partir de cas.
Si les différents algorithmes étudiés ont fait l’objet de
nombreux tests très prometteurs, un travail important
de développement est encore à effectuer pour mettre en
place toutes les interfaces graphiques nécessaires à une
mise en œuvre concrète des solutions proposées.
4.3
X4
V9
V10
V11
V12
C1
X1 X2
V1 V5
V2 V5
V3 V7
V5
V6
V7
V8
entre les attributs d’une même classe et par les liens
entre différentes classes par le biais de contraintes sur
leurs attributs ou d’association entre ces attributs.
C3
X2 X3 X4
V5 V9 V13
V7 V11 V14
V8 V12 V14
Figure 2. Description d’un CSP
La résolution d’un CSP consiste à restreindre les
domaines de chaque variable en appliquant
successivement les contraintes définies. La même
méthode peut être employée pour vérifier la validité
d’une solution chaque domaine ne contenant cette fois
qu’une valeur.
Notre approche est basée sur l’assimilation d’une
modélisation OMT-K à un problème de satisfaction de
contraintes. Les classes élémentaires, ne comportant
qu’un attribut, jouent le rôle de domaine. Les
contraintes sont matérialisées par les liens intrinsèques
La gestion des points de vue
La coopération de plusieurs experts, de domaines
différents, impose une modélisation répondant aux
besoins de chaque acteur métier. Suivant son domaine
de compétence et sa fonction, chacun possède une vue
propre des objets liés au système à modéliser. Le
modèle OMT-K, à travers des concepts comme
l’héritage multiple et la surcharge d’attributs et de
méthodes, permet de réaliser une modélisation
regroupant ces différents points de vue.
La fédération des différents points de vue au niveau des
modèles construits est nécessaire mais non suffisante
pour une coopération efficace des différents acteurs. Le
S.G.C.T. qui sert à capitaliser les connaissances métiers
doit aussi permettre une gestion efficace de l’accès à
l’information.
Chaque expert ayant participé à l’élaboration d’une
modélisation globale des connaissances doit pouvoir
retrouver dans l’application réalisée une représentation
claire des objets associés à son domaine de
compétence. Cette représentation doit masquer toutes
les caractéristiques liées à des domaines annexes et
n’appartenant pas au domaine en cours.
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
Dans un même domaine, plusieurs utilisateurs peuvent
avoir des fonctions ou des niveaux de compétences
différents. Des erreurs de manipulation ou la saisie de
valeurs incorrectes pour les attributs d’un objet peuvent
fausser les futurs résultats fournis par le système. Le
repérage de ces erreurs peut être très tardif. La
possibilité, offerte par le système, de sauvegarder
plusieurs versions de la base de connaissances n’est pas
suffisante dans ce cas. Pour fiabiliser le système il est
indispensable de contrôler l’accès aux informations
contenues dans la base.
Pour permettre une gestion efficace des différents
points de vue, nous avons défini deux classes par
défaut, la classe “ Domaine ” et la classe
“ Utilisateur ”. La classe “ Utilisateur ” dispose
d’attributs représentants les droits d’accès en lecture,
écriture et exécution. Ces attributs ont pour valeur, une
ou plusieurs classes “ Domaine ”. Des hiérarchies de
domaines et d’utilisateurs peuvent être mises en place à
partir des classe “ Domaine ” et Utilisateur ”. Chaque
concept modélisé peut alors être associé à un ou
plusieurs domaines. Lors de la génération des
interfaces graphiques, le S.G.C.T. prendra en compte
ces différents éléments pour fournir à chaque utilisateur
un accès adapté aux modèles, aux données et aux
méthodes développées.
5.
DOMAINES D’APPLICATION
Un des premiers domaines d’application de notre
approche de développement a été la résolution de
problèmes de configuration d’usinages. Les
informations nécessaires à la résolution de ce type de
problèmes sont de natures diverses et font intervenir
plusieurs domaines de compétence. Un modèle OMTK comportant une vingtaine de classes a été défini en
collaboration avec des experts en méthode de
fabrication (Perpen, 1999b). Ce modèle contient la
description d’une opération d’usinage, des types de
machines et d’outils utilisés et intègre les contraintes
liant ces différents paramètres.
Contrairement à une approche classique de
développement, la réalisation de l’application basée sur
cette modélisation a été effectuée en un temps record.
Le temps passé entre la fin de la première modélisation
et la version finale de l’outil n’a pas dépassé trois
semaines. L’implémentation du modèle étudié a été
réalisée par un non informaticien à l’aide d’un premier
prototype de S.G.C.T. développé avec l’A.G.L.
CAS.CADE en partenariat avec la société MATRADATAVISION (Perpen, 1999a). Bien que notre
modélisation ne soit pas exhaustive, elle pourra être
complétée sans remise en cause de l’ensemble des
connaissances saisies.
Dans le but d’élargir les champs d’application de notre
S.G.C.T., nous travaillons actuellement sur un nouveau
prototype développé pour les plates-formes Windows
NT et Linux. Celui-ci intègre les différents concepts de
modélisation présentés dans cet article et, pour certains,
absents dans le premier prototype. Basé sur un MétaModèle C++ plus élaboré, il devrait intégrer une
gestion automatique des mécanismes de réservation de
ressources et un module pour la construction et
l’analyse automatique de réseaux d’activités
modélisées avec OMT-K. L’objectif de ces travaux
étant de permettre la modélisation de systèmes de
production complexes mais surtout d’en simuler le
fonctionnement. L’intérêt étant grâce à notre approche
de disposer d’une application utilisant des objets
pouvant progressivement évoluer pour être plus proche
des modèles réels.
6.
CONCLUSION
A travers différents concepts liés à la modélisation, à
l’opérationnalisation, et à la gestion des points de vue,
nous avons décrit les différents aspects de notre
approche. Notre objectif est de favoriser une meilleure
coopération des divers domaines de compétence autour
d’une modélisation unique pouvant rapidement être
enrichie. Le développement interactif d’applications
métier évolutives est un axe de recherche important
pour l’industrie comme pour les laboratoires de
recherche. Cette approche représente une solution
efficace pour la capitalisation des connaissances
métier. Des travaux importants de recherche et de
développement doivent encore être menés pour
permettre une simulation directe de systèmes de
production complets. Les études menées et les travaux
en cours montrent des résultats très encourageants.
REFERENCES
Bessière C., 1991. Arc-consistency in dynamic
constraint satisfaction problems. Proceedings of the
10th AAAI, California, p. 221-226.
Bobrow D. G., Winograd T. W., 1977. An Overview of
KRL, a Knowledge Representation Language.
Cognitive Science, 1(1), pp. 3-46.
Brachman R. J., Schmoltze J. G., 1985. An overview of
the KL-ONE knowledge representation language.
Cognitive science, 9, p. 171-216.
Cattell R. G. G., 1994. Object Data Management.
Addison Wesley.
Domingue J., 1998. Tadzebao and WebOnto:
Discussing, Browsing, and Editing Ontologies on
the Web. 11th Knowledge Acquisition for
Knowledge-Based Systems Workshop, Banff,
Canada.
Dubois D. et Prade H., 1988. Théorie des possibilités.
2ème éd. Paris : Masson.
Eisenstadt M., 1991. Review of the KSSO/NEXTRA
Knowledge Aquisition Tool for the VITAL Project.
HCRL Technical Report.
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
Eriksson H., Fergerson R., W., Shahar Y., Musen M.,
A., 1999. Automatic Generation of Ontology
Editors. Twelfth Banff Knowledge Acquisition for
Knowledge-based systems Workshop, Banff,
Alberta, Canada.
Farquhar A., Fikes R., Rice J., 1997. The ontolingua
server : a tool for collaborative ontology
construction. International Journal of HumanComputer Studies, 46, p. 707-728.
Fowler, M., Scott, K., Biich, G., 1997. Uml Distilled:
Applying the Standard Object Modeling Language,
Addison-Wesley Pub Co.
Gaines B. R, Shaw M. L. G., 1993. Eliciting
Knowledge and Transferring It Effectively to a
Knowledge-Based System. IEEE Transactions on
Knowledge and Data Engineering, 5(1), p. 4-14.
Gaines B., and Shaw M., 1995. WebMap: Concept
Mapping on the Web. Proc. 4th WWW conference,
Boston (MA US).
Monteiro T., Perpen J.L. et Geneste L., 1999.
Configuring a machining operation as a constraint
satisfaction problem. In International Conference on
Computational Intelligence for Modelling Control
and Automation, Vienne : Austria.
Perpen J.-L., Le Raisonnement A Partir de Cas et la
résolution de problèmes en Productique. Etat de l'art
et propositions, Mémoire de DEA, laboratoire
GRAI, université de Bordeaux I, 1996.
------------------------------------------------------------------
Perpen J.-L., Geneste L., Noyes D.,1999a. KASKOO :
un système d'aide à l'acquisition et à la manipulation
de connaissances orientées objets. 3ème Congrès
International de Génie Industriel, Montréal :
Canada, 1, pp. 639-648.
Perpen J.-L., Garnier F., Dessein G., 1999b.
Formalisation de la connaissance pour le choix des
configurations d'usinage. 14ième Congrès Français de
Mécanique, CDROM, ISBN 2-84088-040-7,
Toulouse.
Perpen J.-L., 2000. Définition et réalisation d’une
application orientée objets pour la maîtrise du
processus de coupe. Thèse à l’ENIT Université de
Bordeaux I, spécialité en Mécanique, 10 Janvier
2000.
Quantrani T., 1998. Visual Modeling with Rational
Rose and UML. Reading, MA : Addison-Wesley.
Rechenmann F., 1989. SHIRKA : un modèle de
connaissance centré- objets, rapport interne,
laboratoire ARTEMIS/IMAG, Grenoble, France.
Ruet M., Geneste L., Perpen J.-L., 2000. Raisonnement
à partir de cas dans une structure de capitalisation
des connaissances orientée objet. Atelier de
Raisonnement à Partir de Cas (RàPC 2000),
Toulouse.

Documents pareils