Modèle d`organisation multi-agent pour l`aide au travail coopér
Transcription
Modèle d`organisation multi-agent pour l`aide au travail coopér
Introduction aux méthodes d’analyse et de modélisation Emmanuel ADAM Institut des Sciences et Techniques de Valenciennes Le Génie Logiciel, Pourquoi ? • Apparu en 1968 pour – construire des logiciels fiables, – respecter les délais, – travailler en équipe, – décomposer la complexité, – assurer la qualité, – permettre la réutilisation, – ... Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Le Génie Logiciel pour des problèmes complexes • Ajouter un programmeur sans organisation ne fait que ralentir la mise en œuvre du projet. – Problème de nb de communications : (Loi de Brooks) – Problème de communication (compréhension) • malentendus, erreurs d’interprétation, ... Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Quelques définitions • le génie logiciel est l'art de spécifier, de concevoir, de réaliser, et de faire évoluer, avec des moyens et dans des délais raisonnables, des programmes, des documentations et des procédures de qualité en vu d'utiliser un ordinateur pour résoudre certains problèmes. [MC Gaudel & co, 96] • Le génie logiciel se caractérise par une approche rigoureuse et systématique de la construction de logiciels ne pouvant être maîtrisés par une seule personne. [JP Fournier 00] Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Les étapes de développement 1 - Analyse des besoins 2 - Spécification 3 - Conception 40% 40% 4 - Codage 5 - Intégration 20% 6 - Mise en œuvre 7 - Exploitation - Maintenance Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Analyse des besoins • Etude de faisabilité • Type d’analyse – orientée processus, orientée rôle, orientée données • Techniques d’acquisitions – entretiens, observations, questionnaires, ... Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Spécification (inspiré de IEEE Std 830 & [Jaulent 90]) • Première description du futur système (le quoi, Ce qu’il doit faire) – – – – – Les fonctions générales, Les caractéristiques des utilisateurs, Contraintes (développement, exploitation, maintenance), Interfaces (homme-machine, logiciel/matériel, logiciel/logiciel), Objets, entités constituant le système. • Garder une trace des différentes spécifications (justification) • Ne pas oublier le glossaire ! • Dans une annexe, placer les références aux documents utilisés • Ne pas faire de choix d’implémentation à ce niveau... Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Conception • Augmenter la spécification pour se rapprocher de l’implémentation, du codage • Conception Architecturale – Décomposer le système en sous-systèmes – Définir les interfaces, les liens entres les composants • Conception détaillée – Détailler le fonctionnement des composants • définir quelques algos, la représentation des données, ... Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Le codage et l’intégration • Ne représente que 15 à 20% du temps dans un projet complexe et bien structuré • Ne pas oublier de gérer les différentes versions des composants • L’intégration nécessite une bonne définition préalables des interfaces entre composants Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Les langages de programmation (1/2) • Programmation impérative – programmation structurée, – basé sur des algos, – ex : fortran, pascal, c, ADA, … • Programmation applicative – programmation fonctionnelle et déclarative, – programmation objet – ex : Lisp, Caml, Smalltalk, C++, Java, ... Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Les langages de programmation (2/2) • Programmation logique – issue de l’IA – ex : prolog, lisp, scheme… • Programmation orientée agent ? – Agent = objet autonome communicant Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Mise en œuvre • Porter le logiciel sur le système client • Vérifier l’adéquation avec le système visé – Validation • De manière générale, il faut tenter de valider à tout niveau (spécifications & conceptions) – test unitaires (composants) – test d ’intégration (logiciel complet) – test système (logiciel sur site) Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Les AGL: des outils d’aide • AGL = Atelier de Génie Logiciel – Atelier de modélisation • Une méthode n’existe que si elle est supportée par un outil – Atelier de développement • facilite la programmation (Visual Basic, Visual C++, ...) Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Atelier de modélisation Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Atelier de développement éditeur de code compilateur debugger éditeur d'interfaces homme-machine Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Les différents modèles de développement • Enchaînement des étapes – – – – Le modèle Le modèle Le modèle Le modèle cascade en V évolutif spirale Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Les différents modèles de développement • Le modèle cascade Faisabilité, cahier des charges Spécification Conception préliminaire Conception détaillée Codage Intégration Installation Exploitation & maintenance Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Les différents modèles de développement • Le modèle en V Faisabilité, cahier des charges Installation et tests systèmes Spécification Test d’acceptation Conception préliminaire Intégration et test d’intégration Conception détaillée Test unitaire Programmation Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Les différents modèles de développement • Le modèle incrémental (évolutif) Faisabilité, cahier des charges Validation Itération 2 Spécification Validation Conception détaillée Conception Vérification Conception détaillée Vérification Codage Codage Tests unitaires Itération 1 Vérification Intégration Tests unitaires Intégration Vérification Mise en œuvre Mise en œuvre Test Exploitation, Maintenance Revalidation Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Les différents modèles de développement • Le modèle spirale analyse de risque analyse de risque analyse de risque détermination des objectifs, des alternatives, des contraintes analyse de risque prototype opérationnel prototype1 prototype2 prototype3 plan général concepts du projet d'opération plan de développement plan d'intégration et de test simulation, modélisation, benchmark conception détaillée Validation des besoins Programmation et test unitaires validation de la conception Vérification Intégration et test Test Système Mise en oeuvre Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Les formalismes • Représenter le système (initial ou visé) • 4 types de modèle : – – – – modèle des données modèle des flux de données modèle de traitement modèle dynamique Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Quelques méthodes d’analyse, de spécification et de conception MERISE : orientée BdD OSSAD : organisation OMT : orientée objet UML CISAD : coopération vueglobale dusystèm e 1 3 2 4 1 2 3 SADT : méthode structurée MKSM : gestion des connaissances Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis MERISE • • • • • Orientée Base de données Cycle cascade Approche descendante Modélisation : données & activités, traitements Particularités : – modèles conceptuels, organisationnels, logique et physique Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis MERISE Modèle Conceptuel de Communication Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis MERISE Modèle Conceptuel des Données : Modèle Entité-Relation Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis MERISE Modèle Organisationnel des traitements Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis OMT : Object Modeling Technique • • • • • Orientée Objet Cycle spirale Approche descendante Modélisation : données, dynamique, traitements Particularités : – Méthode objet utilisée dans qqs entreprises avant l’apparition d’UML Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis OMT Modèle de données Dossier principal Dossier de circulation (DdC) - n° de dossier, - noms inventeurs, - mots clés Avis de brevetabilité (Avis) Dosssier Technique (DT) - Référence invention - avis correspond à - Référence invention - Domaine de l'invention - Etat de l'art - Caractéristiques de l'invention Projet de demande de brevet (Prj.Dmd) correspond à - Référence invention, - Résumé de l'invention, - Etat de l'art, - Description de l'invention Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis OMT Diagramme d’événements Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis OMT Diagramme d’état Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis OMT Diagramme de flux de données Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis UML : Unified Modelling Language • Langage, fusion des différentes méthodes orientées objets • supporté par des outils • +, cf. prochains cours Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis UML Cas d’utilisation Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis UML Scénario Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis UML Diagramme de séquence Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis SADT : Structured Analysis and Design Technique • • • • • Méthode structurée Cycle cascade Approche descendante Modélisation : données, activités Particularités : – Actigrammes fortement utilisés Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis SADT Actigrammes Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis SADT Datagrammes Projet de demande constituer le Dossier Technique (acteur 5) Dossier rédiger projet Technique de demande (acteur 4) remplir le dossier de circulation (acteur 4) dossier de vérifer circulation (acteur 2) donner un avis dossier vérifié lire (acteur 5) dossier lu compléter dossier revérifier le dossier complété (acteur 2) (acteur 3, acteur 4) avis de brevetabilité, recherche Dossier revérifié créer dossier principal (acteur 6) chercher dossier vérifier principal (acteur 1) Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis dossier principal vérifié OSSAD : Office Support System Analysis and Design • • • • • Méthode pour modélisation des organisations Cycle V Approche descendante Modélisation : activités, traitement, données Particularités : – 8 formalismes proposés ! Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis OSSAD Diagramme A1 Relations entre les fonctions de l’organisme parapher créer et remplir le dossier de circulation Avis de brevetabilité constituer le dossier technique Dossier Technique rediger et mettre en forme le projet de demande Projet de demande compléter copier et placer le projet dans le dossier principal Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Dossier de circulation Dossier principal OSSAD Acteur 1 Acteur 2 Acteur 3 Acteur 4 Acteur 5 Acteur 6 Diagramme A2 Matrice Activité/Rôle Constitution du dossier Rédaction du projet de demande Création du dossier de circulation Création du dossier principal Modification du dossier de circulation Modification du texte du brevet Modification et envoi du dossier principal Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis OSSAD Exemple de Diagramme D1 : Relations entre rôles acteur 2 Dossier de Circulation acteur 4 Dossier Technique Dossier de Circulation acteur 5 Dossier de Circulation demande n° n° dossier Dossier de Circulation Dossier de Circulation Dossier de Circulation acteur 6 Dossier Principal acteur 1 Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis acteur 3 OSSAD Exemple de diagramme D2 : Relations entre procédures Rôle 5 Dossier Technique Projet de demande Rédaction du projet de demande Création du dossier de circulation dossier de Circulation dossier de Circulation Création du dossier principal dossier de Circulation dossier principal Modification du dossier de circulation dossier de Circulation Modification et Classement du dossier pricipal Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis OSSAD Fiche représentant une tâche Fiche Tâche Nom de la tâche + (Id) : remplir Dossier de Circulation par acteur 4 (Ta402) (Decription) : Liens (arborescence) : / asc. (Procédure) Création du dossier de Circulation (Pr003) \ desc. (Opérations) Demander n° dossier (Op402), Remplir (Op403) Relations avec tâches : Rédaction du Projet / Acteur 4, Création du dossier principal / Acteur 6 par ressources entrantes Projet de demande (Doc001) par ressources sortantes Farde de Circulation (Doc002) Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis OSSAD Fiche représentant une donnée Fiche Ressource Nom de la ressource + (Id) : Projet de demande (doc001) (Decription) : projet de demande de dépôt de brevet Liens (arborescence) : / asc. (Super Ress.) néant \ desc. (Rubriques) référence invention, résumé, état de l'art, description de l'invention Relations avec opérations : Origine : Rédiger le projet de demande (Op451) Destination : Mettre en forme le projet (Op452) Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis OSSAD Diagramme d ’une procédure Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis CISAD : Cooperative Information System Analysis and design • Étend OSSAD en permettant la prise en compte de la coopération Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis CISAD Exemple de modèle descriptif de rôle adapté (type D1) Plan B Chef de service dossier Conditions Agent service prêt(1) Agent service prêt(2) demande Offre Client(1) Plan A Client(2) Plan C Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis CISAD Matrice de Grudin pour la modélisation des communications site 1 rôle A rôle B ... ... rôle A rôle B site imprévisible ... rôle A rôle B rôle A site 1 rôle B ... rôle A site ... rôle B Synchrone Asynchrone et moment Asynchrone et moment prévisible imprévisible ... rôle A site imprévisible rôle B ... Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis ... CISAD Exemple de modèles d’argumentation A : Constitution de l'ordre du jour régulateur Question Demande de sujet Participants à la réunion (n) options critères proposition sujet 1 justification proposition sujet 2 justification proposition sujet 3 justification C : Conversation / Débat régulateur Question Question sur le sujet Participants à la réunion (n) options proposition de solution 1 proposition de solution 2 critères arguments positifs arguments négatifs arguments positifs arguments négatifs Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis CISAD Un exemple de représentation de la conversation Demande de sujet Accord Convocation A : constitution Régulateur Participant de l'ordre du jour Acceptation Régulateur Sujet proposé Prise en compte Organisation d'une réunion Régulateur Validation de la réunion Accord pour répondre B : Convocation Participant des participants Réponse participation Accord pour participation Réunion Participant Exécution Démarrage sur un sujet Annonce de l'intérêt C : Conversation Régulateur Participant / Débat Prise en compte Demande d'évaluation Accord pour évaluer E : Evaluation de Régulateur Participant la réunion Prise en compte de la réponse Proposition de solution / résolution Avis sur la réunion Prépare une question Participant (1) Veut répondre D : Question / Réponse Prise en compte de la réponse Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Participant (n-1) Réponse MKSM : Methodology for Knowledge System Management • • • • • Méthode pour la gestion des connaissances Cycle V Approche descendante Modélisation : traitement, activités, données Particularités : – s’arrête à la modélisation du système réel, passe la main à OMT pour la spécification du système informatique. Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis MKSM Modèle du domaine: représentation d ’un processus événement déclencheur réception d'un bulletin d'avis positif Champ Actif département de propriété Industrielle Système Source acteur 5 Système Cible acteur 4 Flux Dossier Technique Action Source constitution d'un dossier technique événement déclencheur réception d'un dossier de circulation conséquence emission d'un projet de demande Champ Actif département de propriété Industrielle Système Source acteur 5 Action Source prendre connaissance des modifications sur la demande de brevet Action Cible rédaction d'un projet de demande conséquence emission d'un dossier de circulation Système Cible acteur 3 Flux Dossier de circulation Action Cible compléter le dossier de circulation Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis MKSM Modèle de concepts : Exemple d ’un réseau de concepts dossier principal dossier technique projet de demande référence à l'invention domaine de l'invention état de l'art caractéristiques de l'invention référence à l'invention résumé de l'invention état de l'art description texte texte texte texte texte texte texte texte Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis MKSM Modèle de tâches vérifier le dossier de circulation (par acteur 2) des corrections sont à apporter le dossier est correct retourner le dossier (à acteur 4) transmettre le dossier (à acteur 6) Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Autre modèle : le réseau de Petri • Outil mathématique pour la représentation de la dynamique de systèmes à événements discrets • Il existe de nombreuses extensions (temporisés, colorés, objets, …) Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis Conclusion • Il existe de nombreuses méthodes • Les méthodes doivent être choisies en fonction du besoin, du domaine • et surtout suite à une « bonne » analyse devant contenir TOUTES les informations utiles. • L’analyse est la base de tout projet, • Ne pas hésiter à coupler les méthodes si cela est nécessaire et de façon rigoureuse. Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis