Au Seigneur Dieu Tout Puissant L éternel mon
berger
A la mémoire de ma mère feu Rebecca
DJUIKOM Qui n a pas vécu assez longtemps Pour encadrer ses
enfants
A mon père Charles MOGHOMAYE Qui n a jamais
ménagé d efforts Pour l éducation de ses enfants
A la mémoire de mon oncle feu Albert
FOTSO Je dédie ce mémoire
lailfflefflge
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation1.png)
Ce mémoire a été réalisé au
sein du Laboratoire d Informatique du Multimédia et Applications de l
Ecole Polytechnique du Cameroun pendant le premier semestre de dans le cadre du
mémoire d ingénieur de conception en informatique Les bases de ce
travail proviennent de l Université du Québec A Montréal
depuis l année
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation2.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation3.png)
J aimerai ici rendre gloire au Seigneur Dieu Tout
Puissant pour la grâce qu il m a accordée tout au long de mes
études ainsi que pour celle à venir
Je remercie particulièrement le P Janine
MAGNIER pour avoir accepté d apporter sa caution scientifique
à ce travail en tant que Présidente du jury
Qu il me soit ici permis d exprimer ma gratitude aux
enseignants D Eric BADOUEL D Guillaume KOUM qui ont bien voulu
apporter leur caution scientifique à ce travail en acceptant d
être membres du jury
Je souhaite à tous les étudiants de disposer d
encadreurs comme D Claude TANGHA et D Roland YATCHOU Leurs
disponibilités leurs promptitudes leurs critiques et leurs conseils ont
beaucoup guidé la réalisation de ce travail qui est beaucoup plus
le reflet du leur
Je n oublierai pas d adresser un merci tout aussi particulier
au P Roger NKAMBOU et à M Raphaël NBOGNI pour
avoir initié le projet et pour le suivi de celui ci
Je tiens à témoigner toute ma reconnaissance a
ceux qui depuis toujours ont oeuvré pour mon épanouissement
intellectuel la famille MOGHOMAYE Charles Chantal Julienne Alexis Mary et
Joël
A tous mes camarades de la promotion GI compagnons de
bataille durant les cinq
dernières années je souhaite à tous de
réussir dans leurs carrières professionnelles
A tous les membres du LABORIMA à qui je
souhaite de savoir tirer le meilleur de ce laboratoire et d oeuvrer pour son
rayonnement
A tous ceux Michel YOUMBI Solange MAGNE La famille KENGNE
Herve DONFACK Ghislain NGANTCHAHA Pierre Marie OUM SACK Yves WANKO Hervé
FONDJA Achille TCHAPI Gérard KOM qui se reconnaîtront dans ce
travail et dont l apport a été considérable pour sa
réalisation
MM
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation4.png)
La complexité sans cesse croissante des applications
logicielles amène le génie logiciel à rechercher
constamment de nouvelles méthodologies pour construire des logiciels
faciles d utilisation et supportant l évolutivité Ces
méthodologies à l instar du processus générique
Rational Unified Process RUP de Rational Software elles mêmes
très complexes définissent très souvent des approches de
modélisation et des manières de travailler Les outils CASE
proposent une assistance à la façon de modéliser mais peu
d outils s intéressent au déroulement des activités du
processus Ce déroulement est essentiellement guidée par une
kyrielle de documents fournis par les auteurs de la méthodologie
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation5.png)
Une approche basée sur l utilisation d un
Système Multi Agents SMA d agents intelligents pour assister le
développeur dans la réalisation de ses logiciels en lui
fournissant le How To Do Knowledge la connaissance sur le comment
faire est une solution idoine Nous proposons ici la réalisation d un
Système Multi Agents d Assistance à la Modélisation SM
AM Notre système s intéresse essentiellement à l
assistance au développeur pendant les disciplines d Expression des
Besoins et d Analyse Conception du processus générique de
développement RUP
L aperception de ce système a nécessité d
identifier dans le processus générique RUP les
éléments pouvant permettre d assister le développeur dans
l utilisation du processus Ensuite il a fallu formaliser ces
connaissances et les implémenter dans une Base de Connaissances du
Processus de Développement BCPD générique RUP Cette
formalisation a suivi la spécification SPEM Software Process
Engineering Metamodel de l Object Management Group OMG un méta
modèle pour la représentation des processus d ingénierie
logicielle
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation6.png)
Cette BCPD est ensuite exploitée avec efficience par le
SMA qui dispose des éléments d assistance pour assister
effectivement le développeur dans son travail en utilisant aussi la
connaissance sur le profil du développeur profiling Elle
constitue le blackboard de nos agents
Mots Clés Assistance Génie Logiciel SMA RUP Base de
Connaissances
&MW
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation7.png)
The increasing complexity of software applications has caused
the software industry to constantly seek new methodologies in order to build up
easily usable software which supports evolutivity These methodologies which
include the generic process Rational Unified Process RUP of Rational
Software are themselves very complex and very often define a way of modelling
and a way of working Whereas the CASE tools propose an assistance to the way of
modelling little tools give a regard to the way of working throughout the RUP
This way of working is primarily given by a great number of documents provided
by authors of methodology
An approach is using a Multi Agents System MAS where
intelligent agents assist the developer in the realization of his software by
providing him the How To Do Knowledge the how to do knowledge We
propose here a Multi Agents System for Modeling Assistance MASMA Our system
primarily assists the developer during the RUP s disciplines of Requirements
and Analysis Design
The construction of this system has required the
identification of elements which can allow assistance to developer throughout
the process Then it was necessary to formalize these knowledges and to
implement them in a Knowledge Base of Development Process KBDP RUP This
formalization follows SPEM Software Process Metamodel Engineering
specification of the Object Management Group OMG a meta model for the
representation of the software process engineering
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation8.png)
This KBDP is exploited by the MAS which has knowledge in
assistance to assist indeed the developer in his work by also using knowledge
on his profile profiling It represents the blackboard of our agents
Keywords Assistance Software Engineering MAS RUP Knowledge
Base
»WI§
DEDICACES i
REMERCIEMENTS i
RESUME ii
ABSTRACT iii
Sommaire iv
Table des Illustrations vi
TABLEAUX vii
Sigles et Abreviations vii
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation9.png)
CaA??e« 1 Introduction
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation10.png)
I Contexte
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation11.png)
II Description du projet CIAO
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation12.png)
III Notre apport dans le projet CIAO
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation13.png)
IV Plan du mémoire
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation14.png)
CaA??eEE 11 Problématique
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation15.png)
I Un processus d ingénierie logicielle une introduction
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation16.png)
I Définition
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation17.png)
I Avantages d un processus
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation18.png)
I Le cycle de développement
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation19.png)
I UML dans le processus de développement
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation20.png)
II Expression des besoins
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation21.png)
II Problème
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation22.png)
II Position du produit
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation23.png)
II Spécification supplémentaires
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation24.png)
III Approches existantes
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation25.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation26.png)
III NATURE
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation27.png)
III CPCE
III Argo Project
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation28.png)
III ALF Project
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation29.png)
III ArgoUML
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation30.png)
III WayPointer
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation31.png)
IV Analyse
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation32.png)
V Conclusion
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation33.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation34.png)
CaA??e« 111 Méthode et concepts
I Concevoir un SM AM La méthode
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation35.png)
II Présentation des concepts
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation36.png)
II RUP Un processus générique
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation37.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation38.png)
II L assistance
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation39.png)
II Un Système Multi Agents
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation40.png)
II Une Base de Connaissance du Processus de
Développement
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation41.png)
III Conclusion
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation42.png)
CEApnna lV Modélisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation43.png)
I Outils de Modélisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation44.png)
II Les ontologies de domaine et de tâches du RUP
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation45.png)
II RUP Ontologies de domaine
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation46.png)
II RUP Ontologies des tâches
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation47.png)
III Le Système Multi Agents d Assistance à la
Modélisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation48.png)
III Vision du système
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation49.png)
III Expression des Besoins
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation50.png)
III Acteurs et Rôles
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation51.png)
III Modèle générique
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation52.png)
III Scénario
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation53.png)
III Cas d Utilisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation54.png)
III Architecture du système
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation55.png)
III Réalisation des Cas d Utilisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation56.png)
III Diagrammes de Classes
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation57.png)
III Prototype de l interface utilisateur
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation58.png)
III Conclusion
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation59.png)
CRapnea V Réalisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation60.png)
I Outils de réalisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation61.png)
II Une Base de Connaissances du Processus de
Développement RUP
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation62.png)
III Un SMA pour l exploitation de la BCPD
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation63.png)
IV Une Assistance au développeur avec le SM AM
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation64.png)
IV Présentation de l interface
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation65.png)
IV Déroulement du scénario
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation66.png)
V Conclusion
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation67.png)
Canp?e« Vl Conclusion
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation68.png)
I Synthèse
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation69.png)
II Critiques propres
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation70.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation71.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation72.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation73.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation74.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation75.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation76.png)
III Perspectives BIBLIOGRAPHIE WEBOGRAPHIE GLOSSAIRE ANNEXE A
Le Meta Modele SPEM ANNEXE B Acceder au site RUP ANNEXE C La BCPD RUP
vaum le ima??a?»
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation77.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation78.png)
Figure Architecture de CIAO SI
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation79.png)
Figure Le processus d ingénierie logicielle
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation80.png)
Figure La Boite Noire du RUP
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation81.png)
Figure Présentation schématique de RUP selon
axes RUP
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation82.png)
Figure Classification de Nwana HSN
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation83.png)
Figure Architecture BDI
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation84.png)
Figure Formats d échange et formalismes
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation85.png)
Figure La pyramide des niveaux de modélisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation86.png)
Figure Modèle conceptuel de SPEM SPEM
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation87.png)
Figure RUP Concepts et liens entre les concepts
Figure La structure du processus RUP Rôles
Activités et Artefacts Figure Analyse Conception RUP
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation88.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation89.png)
Figure Expression des exigences RUP
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation90.png)
Figure Schéma de fonctionnement
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation91.png)
Figure Acteurs du système
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation92.png)
Figure Activité de l Agent Activité
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation93.png)
Figure BCPD Modèle des Cas d Utilisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation94.png)
Figure Processus Modèle des Cas d Utilisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation95.png)
Figure SMA Modèle des Cas d Utilisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation96.png)
Figure Composants du système
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation97.png)
Figure SMA Structure
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation98.png)
Figure Classes persistantes du SM AM
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation99.png)
Figure Déroulement de l interface del
application
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation100.png)
Figure SM AM Interface
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation101.png)
Figure Créer le projet sous Rational
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation102.png)
Figure Exporter le projet sous Rational
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation103.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation104.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation105.png)
Figure Importer Figure Nouveau Figure
Nouveau Figure Nouveau Figure Adopter un rôle
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation106.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation107.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation108.png)
Figure Sélectionner une itération
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation109.png)
Figure Sélectionner un groupe d
activité
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation110.png)
Figure Créer un acteur
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation111.png)
Figure Vue du projet
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation112.png)
Figure Explications
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation113.png)
Figure Rapport
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation114.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation115.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation116.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation117.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation118.png)
Figure Contrôles Figure Process Structure
de SPEM Figure Dependancies de SPEM Figure Exemple RUP
site
ia1311a??
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation119.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation120.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation121.png)
Tableau Comparaison des différentes approches
Tableau Rôles Artefacts Activités du RUP Tableau Les
agents formalisme BDI
81??Bt BU alliBe?Uhit
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation122.png)
Agent Working Group
Base de Connaissances du Processus de Développement
Computer Assist Software Engineering
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation123.png)
Conception Intelligemment Assistée par Ordinateur des
Systèmes d Information
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation124.png)
Foundation of Intelligent Physical Agents
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation125.png)
Laboratoire d Informatique du Multimédia et
Applications
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation126.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation127.png)
Object Constraint Language Object Management Group Rational
Unified Process Système Multi Agents
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation128.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation129.png)
SMA d Assistance a la Modélisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation130.png)
Software Process Engineering Metamodel
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation131.png)
Unified Modelling Language
chapitre 1
I Contexte
Ce projet s inscrit dans le cadre d un projet global
dénommé CIAO SI Conception Intelligemment Assistée par
Ordinateur des Systèmes d Information Ce projet a été
initié par le Groupe Infotel et le laboratoire GDAC Gestion
Diffusion et Acquisition des Connaissances de l Université du
Québec A Montréal UQAM Il est réalisé en
partenariat avec le Laboratoire d Informatique du Multimédia et
Applications LABORIMA de l Ecole Nationale Supérieure
Polytechnique de Yaoundé depuis deux ans
II Description du projet CIAO
Les projets de génie logiciel sont confrontés
très souvent à un problème récurrent celui de
produire et maintenir des logiciels de complexité élevée L
application des méthodologies de développement de logiciels
paraît nécessaire pour garantir un minimum de qualité des
logiciels produits C est ainsi que de nombreuses méthodologies ont
été développées durant les trois dernières
décennies Seulement les méthodologies les plus complètes
présentent elles mêmes une complexité certaine due au
nombre élevé d artefacts exigés aux règles de la
méthodologie et à leurs processus plutôt compliqués
à mettre en oeuvre Il ne fait plus de doute que le développeur a
aujourd hui besoin de plus d assistance qu avant que ce soit face à la
complexité grandissante des problèmes à résoudre ou
à celle des méthodologies de développement
utilisées dans les différents projets
CIAO SI vise l étude de faisabilité la
conception et la mise en oeuvre d un système permettant d offrir une
assistance au concepteur pendant le processus de développement de
logiciels et de capitaliser l expérience acquise avec le
développement d applications en constituant une mémoire de
modèles de conception réutilisables
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation132.png)
CIAO SI NGA utilise une approche Case Based Reasonning
CBR raisonnement à base
de cas qui préconise la résolution de nouveaux
problèmes par adaptation des solutions viables aux problèmes
similaires déjà résolus
CIAO SI comporte sept modules
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation133.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation134.png)
La gestion des ontologies Ce module consiste à
spécifier les ontologies du domaine d application et ceux du processus
de développement puis construire les bases de connaissances
associées au domaine d application ainsi qu aux deux processus de
développement MERISE et RUP
La gestion des cas Il s agit de définir la
structure d un cas en prenant en compte toutes les étapes d un processus
de développement et permettre la création et la mise à
jour des cas
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation135.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation136.png)
L exploitation des cas Permet de mettre en oeuvre des
techniques d indexation et de recherche des cas
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation137.png)
L adaptation des cas On spécifie et on
construit un système pour l adaptation des cas Le système
pourrait être constitué d un agent spécialisé dans l
adaptation des cas et d un agent interface
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation138.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation139.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation140.png)
L intégration Il s agit d intégrer les
sous systèmes déjà construits gestion des cas recherche
des cas adaptation des cas en vue de produire la première version
utilisable prototype du système CIAO SI
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation141.png)
La gestion de l assistance A pour but de
spécifier concevoir et construire un système pour l assistance du
concepteur pendant le processus de développement
La réutilisation du code La finalité est d
étendre le système CIAO SI à la réutilisation au
niveau du code source
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation142.png)
Figure 1 Architecture de CIAO-SI
Deux étudiants ont déjà eu à
travailler respectivement dans la gestion et l exploitation des
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation143.png)
cas la mise en oeuvre des ontologies du domaine d application
III Notre apport dans le projet CIAO
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation144.png)
Nous intervenons primordialement dans la gestion des ontologies
du processus de
développement générique RUP par
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation145.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation146.png)
La réalisation d une ontologie des tâches
spécifiant les tâches et liens entre tâches pour les
différentes disciplines du cycle de développement
associées au RUP
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation147.png)
La réalisation d une ontologie de domaine
spécifiant les concepts et liens entre concepts manipulés dans
les différentes disciplines du cycle de développement
associées au RUP
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation148.png)
La construction de la Base de Connaissances du Processus de
Développement BCPD générique RUP
Une simulation de l exploitation de la BCPD avec un SMA Ceci
passe par la mise en oeuvre d un Système Multi Agents d Assistance
à la Modélisation SM AM
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation149.png)
Notre approche consiste à fournir une assistance au
déroulement du processus de
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation150.png)
développement spécialement pour les disciplines d
Expression des Besoins d Analyse Conception du RUP Il s agit de suivre et
assister le développeur pendant la modélisation en s assurant qu
il suit un processus donné
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation151.png)
C est ainsi que nous proposons de construire un Système
Multi Agents d Assistance a la Modélisation SM AM lire SM two
AM Nous partons du fait que la connaissance utile au développeur
peut être représentée sous forme de best practices de
guides de méthodologies et autres SM AM doit fournit cette connaissance
SM AM vient combler l isthme entre la pléiade de documents et les outils
CASE UML La suite de ce rapport spécifiera plus en détail le SM
AM
IV Plan du mémoire
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation152.png)
Notre travail se subdivise en six chapitres Un aperçu
global de notre travail peut être
obtenu en ajoutant à la lecture de l introduction et de la
conclusion celle des résumes fournis au début de chaque
chapitre
Dans le second chapitre nous introduisons les notions
fondamentales sur des processus
d ingénierie logicielle afin de mieux
appréhender la problématique Cette dernière nous
amène à présenter des projets et solutions existantes ou
envisagées Nous terminons par une analyse de ces différentes
solutions afin de mieux élaborer la nôtre
Le troisième chapitre présente la
méthodologie adoptée Après avoir introduit le
processus générique RUP il spécifie les
méthodes d assistance à utiliser Puis fournit des notions
générales sur les SMA et leur application à notre contexte
Enfin l ingénierie des connaissances incluant des éléments
d ontologie et le méta modèle SPEM Software Process
Engineering Metamodel standard de l OMG Object Management Group
pour la spécification des processus d ingénierie logicielle sont
présentés succinctement
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation153.png)
Des modèles de notre système sont
présentés au chapitre quatre Nous commençons
par
la modélisation du métier du processus d
ingénierie logicielle RUP qui aboutit à la BCPD Puis la
modélisation expression des exigences analyse conception du SM AM qui
utilise la BCPD pour assister le développeur
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation154.png)
Le chapitre cinq s intéresse davantage à l
implémentation de la BCPD et du SM AM
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation155.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation156.png)
Une conclusion des discussions et des perspectives au
chapitre six viennent clôturer
le travail réalisé
Le lecteur trouvera dans les annexes une présentation
beaucoup plus détaillée du méta modèle SPEM Il y
trouvera également un moyen d accéder au site du processus
générique RUP pour une représentation des ontologies et
enfin l implémentation de notre base de connaissances
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation157.png)
came« ii la013161??ille%
|
Il faut que l imagination prenne trop pour que la
pensée ait assez Gaston Bachelard
|
|
La problématique ne saurait être bien
assimilée sans des notions sur les processus d ingénierie
logicielle ce chapitre commence par présenter les concepts clés d
un processus d ingénierie logicielle Puis le problème posé
à savoir l assistance au développeur avec un Système Multi
Agents est étayé avec quelques exigences logicielles liées
à l application elle même et au projet CIAO
Un état de l art des initiatives et des solutions
existantes se rapportant à la problématique est ensuite
réalisé Nous y présentons notamment les projets NATURE
CPCE Argo ArgoUML ALF et WayPointer
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation160.png)
Nous fournissons enfin une analyse des solutions existantes
par rapport au travail que nous allons à réaliser Une conjecture
nous permet de repréciser le contexte de l analyse
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation161.png)
I Un processus d'ingénierie logicielle -- une
introduction
1.1 Définition
Un processus est un ensemble d étapes partiellement
ordonnées destinées à réaliser des objectifs dans
le génie logiciel le but est de construire un produit logiciel ou mettre
en valeur ceux qui existent déjà Un processus définit
qui rôles fait quoi artefacts quand workflow le
faire et comment activités réaliser certains
objectifs
Un processus d ingénierie logicielle fournit une
description de l ensemble des activités à réaliser pour
transformer les besoins de l utilisateur nouveaux ou changeants en
système logiciel
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation162.png)
Figure 2 Le processus d'ingénierie
logicielle
1.2 Avantages d'un processus
Un processus d ingénierie logicielle est
intéressant dans le développement d un système
informatique à plus d un titre à savoir
· Chaque membre de l équipe de développement
comprend quel est son rôle dans le développement du produit
· Les développeurs comprennent mieux leur
participation dans le développement et leur contribution par rapport aux
autres développeurs
· Les dirigeants et responsables comprennent mieux l
avancement du travail de chacun grâce aux différents
modèles produits
· Le processus permet de mesurer lors de la phase de
lancement les risques liés au projet et de mesurer à chaque
itération les écarts entre ce qui est prévu et la
réalité
1.3 Le cycle de développement
L enchaînement des activités et des phases qui
mènent à la réalisation d une version du logiciel s
appelle cycle de développement Le cycle de vie est un enchaînement
de plusieurs cycles de développement Le cycle de développement
comprend généralement quatre phases d un point de vue de pilotage
du projet KMP
·
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation163.png)
La phase d Etude d opportunité qui prend acte
de la naissance du projet et définit sa portée L objectif
réel étant de prendre la décision de réaliser ou de
ne pas réaliser le projet sur la base d orientations
générales claires
· La phase d Elaboration est comparable
à une activité de recherche et de développement dans le
monde industriel Elle permet de finaliser l analyse du problème de
construire l architecture du système de traiter les risques majeurs du
projet et de finaliser le plan de développement
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation164.png)
· La phase de Construction permet de
compléter le développement logiciel et de fournir une version
opérationnelle pour la phase de transition
· La phase de Transition concerne la mise en
oeuvre chez les utilisateurs d une version opérationnelle non
finalisée du logiciel
D un point de vue des activités le cycle de
développement représente l enchaînement des
activités élémentaires qui se
déroulent dans le cadre d une itération Ces activités sont
le planning de l itération l analyse la conception le code et le test l
évaluation et la préparation de version
1.4 UML dans le processus de développement
UML OMG est un langage de modélisation unifié qui
tient une place importante dans la
communication au sein des équipes de
développement I Jacobson définit un processus d ingénierie
logicielle comme un processus de construction de plusieurs modèles
allant du modèle des besoins au modèle du code et du test Les
modèles UML ont été largement adoptés dans l
industrie du génie logiciel pour la communication et la production des
résultats
La vue générale des processus d ingénierie
logicielle définie ci dessous nous permettra de mieux assimiler la
problématique qui suit
Il Expression des besoins
11.1 Problème
Le développement de logiciels de complexité
croissante s avère de plus en plus difficile aujourd hui Les
développeurs apprennent continuellement les pratiques des nouvelles
méthodologies de développement en les appliquant à leurs
projets Ces méthodologies elles même d une complexité sans
cesse croissante ne fournissent des résultats qu après plusieurs
années d expérience dans divers autres projets et une adaptation
conséquente au type de projet Les développeurs doivent donc
apprendre en parcourant la kyrielle de documents qui accompagnent ces
méthodologies ce qui entraîne souvent des retards dans les projets
ou de mauvaises interprétations des concepts de la méthodologie
utilisée Les équipes de développeurs sont également
confrontées au récurrent problème de savoir qui fait
quoi et comment dans l équipe
Eu égard à ceci il se pose le problème
de savoir comment assister les équipes de développement en
définissant les rôles qui les activités
quoi et le workflow comment et en leur permettant d adapter la
méthodologie choisie à leurs projets Et surtout en les dispensant
d un énorme background dans le développement pour produire des
logiciels de qualité En conséquence un certain nombre de
problèmes prévalent à savoir
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation165.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation166.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation167.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation168.png)
Comment assister et guider activement le
développeur pendant la modélisation avec le RUP méthodes d
assistance
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation169.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation170.png)
Quelles connaissances nécessaires peuvent
être manipulées par un système d assistance à la
modélisation Comment peuvent elles être représentes
conceptualisation et formalisation des connaissances
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation171.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation172.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation173.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation174.png)
Comment permettre au développeur d adapter RUP
à son projet adaptation du processus
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation175.png)
Comment gérer et réutiliser la connaissance du
processus RUP BCPD et SMA
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation176.png)
Comment aider le développeur à suivre le
workflow en exploitant les best practices du RUP
Au vu de la problématique ci dessus
spécifiée nous proposons donc de construire un Système
Multi Agents d Assistance à la Modélisation dans
le cas du processus générique RUP
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation177.png)
SM AM
11.2 Position du produit
SM AM est destiné aux développeurs et aux
équipes de développement Ceux ci ont très souvent besoin d
être guidés activement autant que possible dans leur travail
quotidien c est à dire assistés et conseillés
guidés et contrôlés activement SM AM est une application
basée sur un Système Multi Agents qui assiste et guide les
équipes de développeurs dans la capacité à
appliquer le processus d ingénierie logicielle générique
RUP pour les disciplines d Expression des Besoins d Analyse Conception des
Systèmes d Information SI SM AM exploite la
généricité du processus de développement RUP pour
permettre au développeur de configurer le processus et l appliquer
à son type de projet Notre produit fournit une assistance
stratégique et un guidage globaux au niveau du flot d activités
il fournit également une assistance et un guidage locaux pendant le
déroulement de chaque activité Cette assistance est
essentiellement proactive
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation178.png)
SM AM fournira la connaissance nécessaire à l
équipe de développement pour l adoption des rôles et la
réalisation des activités Il permettra le suivi du workflow et
des best practices Il s agit donc de concevoir un système qui sera
perçu comme un collaborateur un véritable partenaire par les
développeurs Cela revient à mettre à la disposition du
développeur un système qui contribue à l efficacité
et à l approfondissement de sa réflexion avec également
une possibilité de délégation pour certaines tâches
Notre assistance portera essentiellement sur la manière de
travailler A way of working
11.3 Spécification supplémentaires
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation179.png)
SM AM est un assistant au développement logiciel Il
fournit la connaissance nécessaire au développeur en termes de
best practices de guides de méthodologie et autres Il est capable de
raisonner sur les connaissances du Processus de Développement pour aider
le développeur à réaliser ses objectifs SM AM devrait donc
assister le développeur en capturant les éléments d une
base de connaissances en basant son raisonnement sur ces connaissances et en
appliquant les éléments de ces connaissances à la
construction du système en cours de développement
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation180.png)
SM AM est un outil d aide pour le développeur Pour
remplir cette fonction de façon efficiente et substantielle il est
nécessaire pour lui de
· Comprendre la méthodologie il s agit de savoir
quels sont les artefacts à produire les règles de la
méthodologie le processus de développement de la
méthodologie les tâches les activités
·
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation181.png)
Comprendre les objectifs du développeur Un projet a
généralement des objectifs globaux Cependant chaque
développeur participant au projet aura des objectifs propres
basés sur les objectifs globaux du projet Le développeur adopte
un Rôle pour réaliser une Activité qui produira un Artefact
R A A ces notions de rôle d activité et d artefact doivent
être comprises par l assistant qui assiste le développeur
· Il doit savoir comment produire des artefacts pour le
système savoir quand appliquer ses connaissances spontanément
fournir au développeur des informations spécifiques Ceci peut se
faire sur la base des activités l assistant sachant quand le
développeur doit procéder à une activité
donnée peut anticiper sur un besoin d aide Les connaissances sont
appliquées aux artefacts pour les affiner selon les règles de la
méthode
En outre SM AM devra pouvoir
· Etre intégrée à l environnement CIAO
global
· Permettre les échanges avec les outils CASE UML en
permettant l importation et l exportation au format standard XMI
· Interagir avec les outils de support de tâches de
modélisation et d implémentation outils CASE EDI
·
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation182.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation183.png)
Raisonner dans un contexte particulier directement ou en
dialoguant avec le développeur
·
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation184.png)
Etre personnalisable pour prendre en compte le type de projet ou
encore le domaine de l application
· Permettre de mettre à jour la base de
connaissances
Le problème étant clairement
défini il s agit dans le paragraphe suivant de recenser les
différentes approches de solutions existantes
III Approches existantes
Plusieurs travaux ont été réalisés
en vue de l assistance à la production de logiciels Nous
présentons ici les plus importants
111.1 NATURE
Les premiers travaux sur l assistance aux méthodes de
modélisation ont débuté avec le projet NATURE PR
et son environnement MENTOR SRG qui démontre la
faisabilité de la modélisation orientée décision
pour le support aux méthodes NATURE utilise une approche d utilisateur
unique en faisant abstraction de l espace de travail des rôles et de tous
les aspects organisationnels liées au développement
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation185.png)
111.2 CPCE
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation186.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation187.png)
L approche CPCE du laboratoire LORIA de l
Université Nancy avec Jacques Lonchamp LON a vise à
construire un noyau d environnement paramétré par des
modèles de procédés qui fournit assistance et guidage
actif à ses utilisateurs
Grâce à une approche hybride orientée
tâche au niveau global et orientée décision au niveau local
le système peut s adapter à une large gamme d applications de
conception collective Le premier prototype de CPCE permet de piloter
essentiellement des inspections collectives de code
Le projet CPCE propose une assistance et guidage
stratégique au niveau du flot d activités et une assistance et un
guidage tactique concernant les décisions à prendre pendant une
activité spécifique Il propose également un approche
intégrant quatre vues la vue orientée tâche workflow
view la vue orientée décision problem solving view
la vue oriente produit artifact view et la vue organisationnelle
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation188.png)
Ce premier prototype va faire évoluer le projet vers un
nouvel autre qui le fait passer sous le giron du CNRS Centre National de
Recherches Scientifique français le projet Argo qui
généralise CPCE pour l assistance à la méthode et
à la coopération
111.3 Argo Project
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation189.png)
L objectif général du projet Argo est de
construire un noyau d environnement LON b centré processus fournissant
une assistance et une guidance active a ses utilisateurs
Il utilise une approche hybride de modélisation
orientée tâche et orientée décision cette approche
peut être paramétrée pour supporter une plus large gamme d
activités de conception Il préconise comme son
prédécesseur quatre vues la vue tâche la
vue organisation la vue produit et la vue processus
111.4 ALF Project (1987 - 1992)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation190.png)
Nacer Boudjlida et al de l Université de Loria
présentent dans ALF ALF un framework
pour construire des environnements de génie logiciel
centrés processus Ce projet avait pour objectif de fournir des
facilités pour supporter les activités de développement de
logiciels
Il se propose de rompre avec la mécanique des
environnements de génie logiciel en proposant des éléments
pour des environnements beaucoup plus orientés activités et
objectifs de l utilisateur Il fournit deux fonctionnalités remarquables
à savoir une assistance intelligente à l utilisateur et la
possibilité pour l utilisateur de paramétrer son environnement
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation191.png)
111.5 ArgoUML
ArgoUML est un projet Open Source fondé par Jason
Robbins à l Université de Californie en Irvinie ArgoUML guide
dans le workflow d un processus qui n a pas encore été
défini ou plutôt qui manque de standard
Il s apparente également à un outil CASE UML
avec une surcouche assistance essentiellement axée sur les critiques
dans la manière de modéliser Il vise à long terme une
assistance complète au développeur pendant le processus de
développement
Poiseidon for UML reprend et étend les concepts
de ArgoUML c est la version commerciale d ArgoUML
Néanmoins ils n utilisent pas un Système Multi
Agents à l instar de la dernière initiative dans le domaine
WayPointer de Jaczone
11 1.6 WayPointer
WayPointer est défini par JAB comme une
application personnelle de productivité basée
sur les agents intelligents qui supportent un
développeur individuel dans la modélisation avec le langage UML
WayPointer permet de définir les objectifs en termes d artefacts qui
peuvent être spécifiés ou affinés à la
demande et il fournit un support proactif et des conseils sur la
réalisation des objectifs définis WayPointer assiste le
développeur dans la modélisation des cas d utilisation l analyse
et la conception
1V Analyse
Les projets CPCE et Argo se sont particulièrement
intéressés à la collaboration Ils définissent des
méthodes d assistance et de guidage stratégiques et tactiques
assez intéressantes Néanmoins les prototypes fournis encore
incomplets ne sont pas à la hauteur de la modélisation ou
plutôt des objectif à atteindre De plus ils utilisent des
méthodologies propres pas encore assez répandues dans le
génie logiciel
Le projet ALF resté au niveau de la
spécification des méthodes d assistance et de paramétrage
n est pas appliqué à un processus particulier Il demeure un
framework qui peut s adapter à toutes les méthodologies
ArgoUML et Poseidon for UML s apparentent à des outils
CASE UML avec une assistance consistant à critiquer le travail du
développeur Ils disposent également de vues destinées
à répartir le travail du développeur Ces projets n en sont
pas encore à leur phase terminale qui consistera à pousser un peu
plus loin pour assister le développeur dans la réalisation d un
logiciel avec un processus clairement défini
http argouml tigris org http www gentleware com http www
jaczone com
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation192.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation193.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation194.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation195.png)
WayPointer est beaucoup plus intéressant du fait qu il
utilise un SMA pour assister le développeur pendant les phases d
expression des exigences et d analyse conception Il pêche au niveau du
fait que son processus qui est une adaptation du processus
générique RUP n est pas assez représentatif il dispose de
sept activités sur la trentaine des disciplines concernées De
plus la version disponible ne gère pas les rôles du processus Elle
est payante et surtout ne fournit pas de format d échange standard si ce
n est avec les outils de Rational Software
Bien que ne satisfaisant pas complètement à nos
besoins des concepts disparates de ces projets seront utilisés pour
notre application notamment l assistance stratégique et active l
orientation tâches et décision des deux premiers Les
éléments d assistance du projet ALF seront également
utilisés Puis les concepts de WayPointer nous seront d une grande
utilité quant à la construction de nos agents Nous mettrons l
accent sur la réutilisabilité en tenant compte du contexte qui
est le projet CIAO
|
Application
|
Processus de modélisation
|
Assistance
|
Configuration du processus
|
Réutilisation Imp Exp Format
|
SMA
|
|
Oui
|
Inconnu
|
Contrôle
|
Non
|
Non Non
|
Non
|
|
Oui
|
Inconnu
|
Contrôle
|
Non
|
Non Non
|
Non
|
|
Non
|
Non
|
Guidage Explication Contrôle
|
Non
|
Non Non
|
Non
|
|
Oui
|
Inconnu
|
Critiques
|
Non
|
Oui Oui XMI
|
Non
|
|
Oui
|
Dérivation du RUP
|
Explication Contrôle
|
Non
|
Non Oui XMI
|
Oui
|
|
Oui
|
RUP
|
Guidage Explication Contrôle
|
Oui
|
Oui Oui XMI
|
Oui
|
|
Tableau 1 Comparaison des différentes
approches
V Conclusion
Ce chapitre a présenté tour à tour des
notions fondamentales sur un processus d ingénierie logicielle la
problématique posée l existant dans le domaine puis une critique
de cet existant Nous allons maintenant poser les bases de notre approche pour
la résolution du problème
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation196.png)
cmarnifts ooo eiIf001I If UMM
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation197.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation198.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation199.png)
Pour faire de grandes choses il ne faut pas être un si
grand génie il ne faut pas être au dessus des hommes il faut
être avec eux Montesquieu Sur l homme
La problématique définie au chapitre
précédent impose notre approche méthodologique Assister et
guider activement le développeur pendant le processus nécessite
de passer en revue les différentes méthodes d assistance à
utiliser par notre SMA Identifier les éléments du processus
générique RUP et les formaliser fait appel aux ontologies pour la
construction de la BCPD Gérer et réutiliser la connaissance
nécessite de construire la BCPD et le SMA qui l exploitera
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation200.png)
Une présentation succincte du processus
générique RUP permet une plus grande clairvoyance dans la suite
du travail La définition des éléments d assistance vient
guider celle du SMA Nous concluons avec un distinguo des différents
formalismes de représentation et une présentation de la
spécification SPEM conforme au formalisme retenu UML OCL
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation201.png)
I Concevoir un SM2AM : La méthode
Nous nous proposons en premier lieu d identifier et de
formaliser les éléments du RUP pouvant permettre d assister un
développeur Ceci sera suivi par la représentation cette base en
utilisant une spécification donnée en l occurrence la
spécification SPEM qui intègre le formalisme UML OCL
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation202.png)
Ensuite nous entrevoyons utiliser un agent interface pour
gérer les interactions avec le développeur et des agents
intelligents pour assister dans le déroulement du processus RUP sur un
projet particulier Nous disposerons d agents spécialisés dans le
déroulement du workflow l adoption des rôles et la
réalisation des activités avec des connaissances
particulières sur le processus fournies par la base de connaissances du
RUP que nous aurons préalablement construite Les agents intelligents
seront munis de croyances sur un projet faits représentant l état
courant Ils consommeront ces faits pour atteindre leurs objectifs suivre un
projet suivre un workflow suivre un rôle suivre une activité en
réalisant les plans Guider Expliquer et Contrôler Les plans sont
réalisés par l évaluation des règles sur le
processus disponibles dans la BCPD en tenant compte des faits Ces plans
modifient le tableau noir représenté par le projet en cours Les
agents communiquent par l envoi de messages et collaborent afin d atteindre l
objectif commun qui est l assistance Au niveau de celle ci l application devra
fournir guidage actif en guidant en fournissant des explications et en
contrôlant le travail Le développeur pourra également
prendre des notes La BCPD RUP devra contenir les ontologies de tâches et
de domaine
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation203.png)
La suite de ce travail va présenter le processus d
ingénierie logicielle RUP les éléments d assistance des
notions sur les SMA des notions d ontologie et une description de la
spécification SPEM
Il Présentation des concepts
11.1 RUP : Un processus générique
Le Rational Unified Process est une
méthodologie de développement de logiciels qui a
été mise en oeuvre par les auteurs d UML C est le dernier
paradigme de la longue lignée de méthodologies de
développement communément adoptées dans le génie
logiciel C est également un produit RUP de Rational Software qui
accompagne le processus RUP
Deux facteurs principaux ont contribué au
développement de cette méthodologie la complexité
croissante des produits logiciels et le temps de livraison des produits sur le
marché devenu un facteur critique dans le succès de ceux ci
JBR
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation204.png)
RUP préconise l adoption d un certain nombre de
meilleures pratiques pour un développement logiciel moderne GAP
permettant de réduire les risques inhérents au
développement de nouveaux logiciels Ces bonnes pratiques sont
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation205.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation206.png)
Développer itérativement
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation207.png)
Gérer les exigences
Développer à base d architecture de
composants
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation208.png)
Modéliser visuellement UML
Evaluer continuellement la qualité
Gérer les changements
Ces bonnes pratiques sont mises en oeuvre par la
définition des rôles des disciplines des
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation209.png)
activités et des artefacts tels que
présentés sur la boîte noire du RUP Figure
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation210.png)
Figure La Boite Noire du RUP
Le RUP est un processus itératif qui définit
quatre phases pour les projets de
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation211.png)
développement logiciels A travers le temps le projet
comprend les phases de Lancement d Elaboration de Construction et de Transition
Chaque phase contient une ou plusieurs itérations où des
exécutables peuvent être produits Durant chaque itération l
effort est orienté vers des activités de disciplines
différentes à des niveaux de détail divers La Figure
présente une vue générale du RUP
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation212.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation213.png)
Figure 4 Présentation schématique de RUP
selon 2 axes IRUP03 02]
Les phases d expressions des besoins et d analyse et
conception sont celles qui nous intéressent car elles constituent les
disciplines principales pour la modélisation Nous les détaillons
ci dessous
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation214.png)
Expression des Besoins
L objectif principal de l expression des besoins est de
décrire ce que le système est censé faire et permettre au
développeur et au client de trouver un terrain d entente le premier sur
ce qu il doit réaliser le second sur ce qu il doit recevoir Pour arriver
à cela il est nécessaire d organiser et de documenter les
fonctionnalités requises ainsi que les contraintes Tout ceci est
réalisé en utilisant les cas d utilisation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation215.png)
Analyse Conception
L analyse la conception doivent pouvoir montrer comment le
système sera réalisé à la phase d
implémentation Elles produisent un modèle de conception et
optionnellement un modèle d analyse Le modèle de conception
consiste en un ensemble de classes de conception structurées en packages
de conception et sous systèmes avec des interfaces bien définies
représentant ce qui deviendra des composants pendant l
implémentation
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation216.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation217.png)
Le RUP est un exemple de framework de processus TP qui a
bénéficié d une longue
expérience dans les différents projets L
identification des concepts clés du RUP nous permet
|
Microarchitecture qu on peut étendre ou
réutiliser
|
|
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation219.png)
de ressortir un bon nombre de caractéristiques
inhérentes à ce processus dont la disponibilité des outils
guides fait de lui aujourd hui un processus en pleine croissance Notamment RUP
gère très tôt les risques en développant rapidement
une première version du système qui permet de définir l
architecture du système Il ne gère pas un ensemble fixe de
spécifications à la phase de lancement mais permet de les affiner
et les compléter au cours du projet Le processus ne met pas un accent
particulier sur la production de documents mais se prête à une
automatisation des différentes tâches associées La
qualité du logiciel produit par RUP se mesure au degré de
satisfaction du client RUP est assez générique pour être
appliqué à une large gamme de développement de logiciels
et de projets
11.2 L'assistance
Un méta modèle pour la modélisation des
processus d ingénierie logicielle est proposé par N
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation220.png)
BOU puis amélioré par celui ci dans ALF Ce
méta modèle est orienté déroulement du processus
pour l assistance au développeur Il propose des fonctionnalités
de travail du système réaliser une tâche observer et
contrôler monitoring et des fonctionnalités d assistance au
développeur guider coaching prendre une initiative expliquer et
apprendre
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation221.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation222.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation223.png)
Une dimension de l assistance est l initiative d après NIT
une assistance peut
être active ou passive Une autre dimension concerne le
degré d automatisation un système d assistance peut agir
automatiquement et exécuter des tâches pour l utilisateur proposer
les prochaines actions possibles et fournir des informations Une autre
dimension est le fait que le système d assistance doit être
adaptatif ou adaptable il doit pouvoir s adapter lui même aux besoins de
l utilisateur et l utilisateur doit pouvoir l adapter
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation224.png)
L assistance au développeur peut être
catégorisée comme le suggère LON a en
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation225.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation226.png)
Une façon de modéliser A way of modeling
où on dispose d un ensemble de
concepts de modélisation fondamentaux pour capturer la
connaissance sémantique sur un problème et sa solution avec un
ensemble de vues et de notations pour présenter cette information
Une façon de travailler à travers le processus
A way of working le processus décrit
le modèle a construire quand et comment le construire
avec un ensemble de règles pour prendre des décisions de
modélisation
Le premier type d assistance est assez répandu avec les
outils case UML le second beaucoup
moins répandu fera l objet de l assistance que nous
proposons dans la suite Nous proposons une assistance qui consiste à
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation227.png)
Contrôler les initiatives du développeur et le
guider lorsqu il ne se conforme pas au processus
Faire jouer au système un rôle actif c est
à dire lui permettre de prendre des initiatives constructives pour
réaliser les activités au gré du développeur
prendre des initiatives de correction pour vérifier la consistance
lorsque des prescriptions sont violées
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation228.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation229.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation230.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation231.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation232.png)
Guider les développeurs en leur fournissant les
facilités suivantes
Quoi faire après pour informer l utilisateur sur
les activités à réaliser en considérant l
état courant du processus
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation233.png)
Comment faire quelque chose qui fournit un type de
chemin pour réaliser un
objectif comme produire des artefacts
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation234.png)
Comment est ce que quelque chose marche pour aider dans
la réalisation des activités
Analyser l impact d une action donc évaluer ses
conséquences spécialement pour les actions qui peuvent modifier
des éléments de modèle
Résumer ce qui a été fait et
comment l état courant du système a été atteint
Expliquer une initiative du système à l utilisateur
Apprendre en observant le développeur et ses
actions
Ces éléments d assistance seront pris en compte
par notre SMA pour assister le développeur
Nous décrivons ci dessous un SMA
11.3 Un Système MuIti-Agents
La venue des SMA a été bénéfique
à beaucoup de disciplines en leur permettant de construire des
applications distribuées intelligentes et robustes Un SMA peut
être défini comme un ensemble d agents qui collaborent et
coopèrent afin d atteindre leurs buts respectifs ou communs Nous n irons
pas ici donner une définition d un agent il existe une kyrielle de
documents dans la littérature à ce sujet et il est très
difficile de donner une définition complète Retenons juste qu un
agent assiste et supplée un humain dans sa tâche et que tout le
monde s accorde beaucoup plus sur les caractéristiques
intrinsèques d un agent que sur leur définition
Les agents se distinguent généralement des
autres systèmes logiciels par leur habileté à interagir
intelligemment dans un sens constructif avec les autres agents ou les hommes De
plus leurs ressources et services ne sont pas directement accessibles mais
invoquées par des requêtes
11.3.1 Un agent : caractéristiques de I'AWG
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation235.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation236.png)
L AWG caractérise un agent par ses
propriétés en l occurrence être capable d agir sans une
intervention extérieure directe autonomie communiquer avec son
environnement et les autres agents interactivité pouvoir
modifier son comportement par l expérience adaptabilité
ne pas réagir uniquement à son environnement mais être
orienté objectifs proactivité avoir un état
formalisé par une connaissance et communiquer avec les autres agents en
utilisant un langage symbolique intelligence être capable de
choisir une action suivant ses objectifs et sa connaissance
rationalité être capable de réaliser une
activité dans un environnement partagé avec d autres agents
coordination et enfin être apte à collaborer avec les autres
agents pour réaliser un but commun collaboration
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation237.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation238.png)
L AWG AWG propose également des éléments de
caractérisation d un agent
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation239.png)
intelligent Son état doit être formalisé
par une connaissance les croyances les buts les désirs les intentions
les plans les hypothèses et il doit être capable d agir sur cette
connaissance Il doit pouvoir examiner ses croyances et ses désirs former
ses intentions planifier les actions qu il réalisera sous certaines
hypothèses et éventuellement agir sur ses plans Il doit enfin
pouvoir communiquer avec d autres agents en utilisant un langage symbolique L
AWG AWG propose aussi des éléments de caractérisation d un
agent interactif Un agent interactif peut communiquer avec son environnement et
d autres entités Il réagit en observant les
événements de son environnement Il coordonne ses actions avec
celles des autres agents du système en coopérant avec ceux ci
11.3.2 Les agents : classification de Nwana
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation240.png)
propose dans HSN une
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation241.png)
classification des agents tels que présentés
à la Figure Il définit trois attributs des agents à savoir
la coopération l autonomie et l adaptation Il combine la
coopération et l adaptation ainsi que la coopération et l
autonomie pour avoir une
autre caractéristique des agents la
collaboration Les agents interfaces
Figure 5 Classification de Nwana (HSN 96]
résultent de l autonomie et de l adaptabilité
Enfin les agents intelligents viennent fédérer tous ces
attributs
11.3.3 Architecture du SMA : Le formalisme BD1 (Croyances --
Désirs - 1ntentions)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation242.png)
L architecture BDI Beliefs Desires Intentions associe
aux agents des croyances sur l environnement et les autres agents les
désirs ou les objectifs à réaliser ainsi que les
intentions ou plans à exécuter pour réaliser les
désirs L environnement influe sur les croyances de l agent ces croyances
permettent de réaliser des objectifs en utilisant les plans
préalablement définis Ces plans modifient l environnement et le
tableau noir qu ils utilisent également
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation243.png)
![](Realisation-dun-systeme-multi-agents-dassistance-a-la-modelisation244.png)
Figure 6 Architecture BD!
Nos agents doivent disposer de connaissances sur le processus
générique de développement RUP Ceci justifie le fait que
nous donnions des notions relatives aux ontologies afin d implémenter
une BCPD RUP
|