g nie logiciel avanc e n.
Skip this Video
Loading SlideShow in 5 Seconds..
Génie Logiciel Avancée PowerPoint Presentation
Download Presentation
Génie Logiciel Avancée

play fullscreen
1 / 68
Download Presentation

Génie Logiciel Avancée - PowerPoint PPT Presentation

nico
103 Views
Download Presentation

Génie Logiciel Avancée

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Génie Logiciel Avancée et les profiles Application aux systèmes multi-agents : UML 2.0 • Élaboré par : • Mohamed Ali Jbéli • Safouane Azzabi

  2. Agenda • UML 2.0 • Profiles • Systèmes multi-agents • Les outils • Profile pour les SMA • Conclusion

  3. UML 2.0 Tendance ou révolution

  4. Histoire de copains Booch,Jacobsen and Rumbaugh

  5. 2003 Rumbaugh Booch Jacobson 1997 1998 1996 2002 2001 1967 Historique UML 2.0 (MDA) UML 1.4.1 UML 1.4 (actions sémantiques) UML 1.3 (extensibilité) UML 1.1 (OMG Standard) Fondement de l’OO (Nygaard, Goldberg, Meyer,Stroustrup, Harel, Wirfs-Brock, Reenskaug,…)

  6. Besoins -Infrastructure : Concepts de bases plus précis pour un meilleur support de la MDA-Superstructure : Personnalisation + Consolidation des concepts existant,-Langage de contraintes OCL : Alignement conceptuel parfait avec UML,-Standard d’échange de diagramme.

  7. Évolution -Sémantiques des modèles grandement précisées (éviter les problèmes d’interprétation) -Rendre possible la traduction d’un modèle UML en programmes compilables -Rapprochement des modèles des programmes (sans pour autant devoir programmer)

  8. Complete Level StateMachines StructuredClasses andComponents Activities Interactions DetailedActions Flows Intermediate Level Basic Level Structure • Langage noyau + Sous langages MOF Profiles OCL Basic UML(Classes, Basic behavior, Internal structure, Use cases…) UML Infrastructure

  9. Profiles Le compromis

  10. PH reached X start ControlPH MonitorPH Current PH enable stop disable RaisePH Input valvecontrol Les modèles : vue sceptique “…bubbles and arrows, as opposed to programs, …never crash” B. Meyer“UML: The Positive Spin”American Programmer, 1997

  11. Les modèles dansl’ingénierie • Avant de construire une réalisation... …on construit des modèles …et on en apprend   

  12. Les modèles dansl’ingénierie • Une représentation réduite de la réalité : • Objectif : Comprendre un système ou une solution complexeCommuniquer les idées à propos des problèmes et des solutionsConduire l’implémentations

  13. Caractéristiques d’un modèle • Abstrait • Compréhensible • Exacte • Indicatif • Faible coût Pour qu’il soit utile, un modèle doit avoir toutes ces caractéristiques

  14. . . . Problématique • Fossé sémantique due à: • Particularité des constructions actuelles, • Méthodes de constructions, • Effets d’échelle, • Influence de la météo… • Peuvent engendrer des problèmes graves.

  15. Du contemplatif au productif • Les modèles sont souvent utilisés pour • Réfléchir, Définir la structure gros grain, documenter • Ils sont alors contemplatifs • Ils ne permettent aucun gain significatif • Il faut alors qu’ils deviennent productifs • Permettre la génération automatique de code, de déploiement, …

  16. UML Productif ? • Par nature, un modèle UML ne peut pas être productif • Indépendance des langages, sémantique trop générale • Il faut donc spécialiser UML pour être productif • UML pour CORBA, UML pour EJB, UML pour RT, … • Il faut profiler UML

  17. Profiles Un profile est un dialecte d’UML dans une plateforme particulière ou un domaine donné.

  18. Profiles • Un profil UML permet de spécialiser UML • Un profil UML permet par exemple de préciser qu’une classe UML est en fait un EJB session • Un profil est composé de stéréotypes, de tagged value et de contraintes

  19. Stéréotypes • Un stéréotype se défini principalement sur les classes UML • Une classe stéréotypée porte la sémantique du stéréotype • Les stéréotypes sont fortement utilisés pour les générations

  20. Tagged Value • Les tagged value sont principalement utilisés pour ajouter des informations sur les classes • Une tagged value peut être vue comme un nouveau méta-attribut • Exemple de tagged value: • JavaName: le nom Java de la classe si différent du nom de la classe • EJBSessionType: le type d’EJB Session (Stateless, Stateful)

  21. Contraintes • Les contraintes sont utilisées pour exprimer des relations les stéréotypes et les tagged value • Les contraintes servent a exprimer la sémantique du profil • Exemple: • Toute classe stéréotypée « EJBRemoteInterface » doit être réalisée par une classe stéréotypé « EJBImplementationClass »

  22. Place des profiles Dans les 4 niveaux de la MDA, il n’y a pas de place pour les profiles. MOF M3 M2 UML CWM Profile M1 Model Profile model M0 Run time model

  23. Le méta modèle du profile UML

  24. Exemple Définition d’un simple profile EJB

  25. Démo

  26. Les outils Solution de facilité !

  27. Problématique Malgré la diversité des outils CASE, ils se partagent les mêmes fonctionnalités et les mêmes limitation concernant la définition des profiles.

  28. Spécifications • Respect des principes MDA • Transformation des modèles : XMI • Les contraintes : OCL • Support de UML 2.0 • La sémantique des diagrammes • Infrastructure et superstructure • API riches de méta-classes

  29. ArgoUML • Outil libre • Écrit en Java • Génération de fichier XMI • Supporte OCL • Ne supporte pas UML 2.0 • Possibilité d’ajout de stéréotypes, de tagged values et de contraintes • Incapable d’en avoir une vision générales Ce n’est pas un Éditeur de profiles!

  30. Ameos • Outil de la société Aonix • Génération de fichier XMI • Éditeur de profile • Respecte MDA : UML est considéré comme un profile • Pas d’interpréteur OCL • Pas d’API de méta-classes

  31. ObjecteeringUML • Outil de la société Softeam • Éditeur de profile • API riche de méta-classes • Langage J : analyse des modèles, génération de code, contraintes • Pas d’interpréteur OCL • Pas de génération de fichier XMI

  32. Démo

  33. Systèmes multi-agents Vers l’intelligence humaines

  34. Définitions • Systèmes dans lesquels des entités intelligentes (appelés agents) interagissent les uns avec les autres. • Un agent est une entité autonome (un programme ou un robot), intelligente (décision et apprentissage) et qui a des capacités sociales.

  35. Définitions • L’interaction entre les agents peut être coopérative ou individuelle. • Les agents peuvent se partager le même objectif ou se livrer à leurs propres intérêts.

  36. Caractéristiques • Chaque agent a une information, une capacité, plus ou moins compète, à résoudre un problème • Pas de commande globale du système • Données décentralisées • Calcul asynchrone

  37. Domaines d’application • Recherche & Développement • des langage de communication, • des protocoles de communication, • des architectures des SMA, • Gestion des catastrophes, • Communication Pear-To-Pear, • Génie Logiciel, • Télécommunication (Plus grand investisseur)

  38. Agents : Pourquoi ? • Simplifier l’informatique distribuée, • Gestionnaires de ressources. • Surmonter les problèmes des interfaces d’utilisateurs, • Assistants personnels qui s’adaptent à l’utilisateur.

  39. Classification(Nwana) • Mobilité : mobile ou statique, • Modèle de raisonnement : délibératif ou réactif, • Rôle : gestion ou information • Attributs idéales : autonomie, apprentissage et coopération.

  40. Classification(Nwana) Agents intelligents Agents collaboratifs évolutifs Coopèrent Apprennent Autonomes Agents collaboratifs Agents d’interfaces

  41. Quelque types d’agents • Agents collaboratifs • Agents d’interface • Agents mobiles

  42. Agents collaboratifs • Origine de la recherche sur les agents • Modulaires (interface, tâche, information), • Négocient pour résoudre des conflits, • Collaborent pour réaliser l’intégration d’informations, • Fournissent des solutions pour des problèmes de : • Trafic aérien, • Gestion des réseaux de télécommunication. • Protocole : Contract Net…

  43. Protocole

  44. Organisation

  45. Architecture Source: K. Sycara, Distributed Intelligent Agents, IEEE Expert 1996

  46. KQML • Protocole pour échanger de l’information entre agents. • Ensemble riche de types de messages et de significations à but performatif. • Tout ce qui est nécessaire à la compréhension du message est inclus dans le message lui-même.

  47. Agents d’interface • Supportent et fournissent l’assistance, • Coopèrent avec l’utilisateur, • Encapsulent une forme d’apprentissage • Observation et imitation de l’utilisateur, • Réception de feedback, • Instructions implicites, • Conseils de la part d’autres agents.

  48. Architecture

  49. Agents mobiles • Peuvent migrer d’une machine à une autre, • Avantage pratique et non pas fonctionnel : • Réduire le coût de la communication, • Informatique asynchrones, • Applications : • Extraction d’informations distribuées, • Routage dans les réseaux de télécommunication.

  50. Architecture