1 / 44

Agentenbasierte Softwareentwicklung

Agentenbasierte Softwareentwicklung. Referent: Theodor Foerster. Gliederung. Einführung Motivation Beispiel Konzepte Methodik Ausblick & Fazit. Einführung. Bestimmte Anforderungen Inhärente Verteilung Eingeschränkte Umgebungssicht => System von Agenten. Motivation .

Download Presentation

Agentenbasierte Softwareentwicklung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agentenbasierte Softwareentwicklung Referent: Theodor Foerster Agentenbasierte Softwareentwicklung

  2. Gliederung • Einführung • Motivation • Beispiel • Konzepte • Methodik • Ausblick & Fazit Agentenbasierte Softwareentwicklung

  3. Einführung • Bestimmte Anforderungen • Inhärente Verteilung • Eingeschränkte Umgebungssicht => System von Agenten Agentenbasierte Softwareentwicklung

  4. Motivation • Einheitliche Entwicklungsmethodik • Synergien nutzen => Vorteile von Frameworks Agentenbasierte Softwareentwicklung

  5. Gliederung • Einführung • Motivation • Beispiel • Konzepte • Methodik • Ausblick & Fazit Agentenbasierte Softwareentwicklung

  6. Virtueller Fußball • Server als Simulator • Agenten als Spieler • Simulator kümmert sich um reale Spielverhältnisse • Agenten können sich absprechen • Vizeweltmeister RoboCup 98 (Simulation) Agentenbasierte Softwareentwicklung

  7. Weitere Beispiele • Assistent zur Nutzung verteilten Know-hows • Schwindelmex • Dezentralisiertes, flexibles Job-Shop-Scheduling Agentenbasierte Softwareentwicklung

  8. Gliederung • Einführung • Motivation • Beispiel • Konzepte • Methodik • Ausblick & Fazit Agentenbasierte Softwareentwicklung

  9. Gemeinsamkeiten • Nachrichtenaustausch • Ähnliche Gliederung der Komponenten Konzepte für • Analyse • Entwurf • Implementierung Agentenbasierte Softwareentwicklung

  10. Analyse - Bestandteile • Steuerungsmodul • Wissensbasis • Interaktionmodul • Ausführungsmodul • Managementschnittstelle Agentenbasierte Softwareentwicklung

  11. Bestandteile - Steuerungsmodul • Regelt Kommunikation • Konfiguriert den Agenten • Enthält Entscheidungsalgorithmus • Vorteil: Komponenten müssen nicht alle anderen kennen • Nachteil: Eingeschränkter Informations- und Steuerungsfluss Agentenbasierte Softwareentwicklung

  12. Bestandteile - Wissensbasis • Dreigeteilt in • Fähigkeiten und Handlungsvarianten • Aktuelle Umgebungsinformationen • Ziele • Spezialinformationen • Wissensbasis beeinflusst Entscheidungen Agentenbasierte Softwareentwicklung

  13. Bestandteile - Interaktionsmodul • Sendet/empfängt Umgebungsinformationen • anwendungsspezifische Aufgaben Agentenbasierte Softwareentwicklung

  14. Bestandteile - Ausführungsmodul • Führt verpflichtende Aktionen aus • Kapselt Aktionsausführung von Aktionsauswahl • Enthält Parallelisierungstrategie Agentenbasierte Softwareentwicklung

  15. Bestandteile - Managementmodul • Enthalten wenn kein klarer Ablauf erkennbar • Für geordneten Ablauf zuständig • Einstellungen Agentenbasierte Softwareentwicklung

  16. Analyse - Datenstrukturen • Umgebungsinformation • Handlungsaufforderung • Situation • Aktion • Plan • Fähigkeit • Handlungsvariante • Ziel • Verpflichtung • Aktivität Agentenbasierte Softwareentwicklung

  17. Übersicht Datenstrukturen Agentenbasierte Softwareentwicklung

  18. Analyse - Algorithmen • Aktualisierung der Umgebungsinformation • Auswahl der nächsten Aktion • Ablaufsteuerung Agentenbasierte Softwareentwicklung

  19. Übersicht Algorithmen Agentenbasierte Softwareentwicklung

  20. Analyse - Systemsicht • Adresse • Identifikation • Nachricht • Umgebungsinformation & Handlungsaufforderung • Protokoll • Kommunikationsregeln Agentenbasierte Softwareentwicklung

  21. Entwurf - Bestandteile • Steuerungsmodul • Wissensbasis • Interaktionsmodul • Ausführungsmodul • Managementschnittstelle Agentenbasierte Softwareentwicklung

  22. Beispiel - Wissensbasis Agentenbasierte Softwareentwicklung

  23. Entwurf - Datenstrukturen • Umgebungsinformation • Liste aus Attribut-Werte-Paaren • Request • Parameter, Priorität, Endtermin • Capabilities • Namen, Parametername, Wertebereich, Bearbeitungsdauer, uvm. • ... Agentenbasierte Softwareentwicklung

  24. Entwurf - Algorithmen • Aktualisierung der Umgebungsinformation • Entsprechender Parameter in die Wissensbasis • Auswahl der nächsten Aktion • Ablaufsteuerung • Managt einzelne Tasks (stop, run,...) Agentenbasierte Softwareentwicklung

  25. Entwurf - Systemsicht • Adresse • Host, port, ID • Nachricht • Sender, Empfänger, Typ, Inhalt • Protokoll • z.B. Beziehung von Nachrichtentyp und Rolle Agentenbasierte Softwareentwicklung

  26. Implementierung • Verschiedene Kommunikationstechniken • Datenschutz und –sicherheit • Parallelität • Frage der Programmiersprache • Java (OOP) vs. Prolog (logisch) Agentenbasierte Softwareentwicklung

  27. Aspekte • Konzepte variieren nach Fragestellung • Speziell zu beachtende Gebiete • Wissensrepräsentation • OOP • Agententechnik generell Agentenbasierte Softwareentwicklung

  28. Gliederung • Einführung • Motivation • Beispiel • Konzepte • Methodik • Ausblick & Fazit Agentenbasierte Softwareentwicklung

  29. Methodik - Begriffe • Agent • Verteilte Softwaresysteme • Software-Entwicklung • Analyse und Entwurfsmuster • Frameworks Agentenbasierte Softwareentwicklung

  30. Begriffe - Framework • Anpassbare Menge an abhängigen Klassen • Wiederverwendbare Abstraktion • Framework enthält • Konzepte • Schnittstellen • Invarianten der Interaktion • Ablaufsteuerung • Basis-Implementierung Agentenbasierte Softwareentwicklung

  31. Begriffe - Framework Makro Architektur „Erst lose, dann starr“ Agentenbasierte Softwareentwicklung

  32. Strukturierung des Framework • Abhängig von der Programmiersprache • In Schichten gegliedert • Konzeptschicht • Standardschicht • Variantenschicht • Implementierung kann in jeder Schicht ansetzen Agentenbasierte Softwareentwicklung

  33. Framework - Bestandteile • Standardschicht: abstrakte Klassen der Komponenten • Variantenschicht: Kommunikation & Wissensmanagement Agentenbasierte Softwareentwicklung

  34. Framework - Datenstrukturen • Standardschicht: z.B. Aktionsauswahl & Speicherung der Umgebung • Variantenschicht: Aktion & Handlungsvarianten Agentenbasierte Softwareentwicklung

  35. Framework - Algorithmen • Standardschicht: abstrakte Ablaufsteuerung • Variantenschicht: z.B. Planauswahl Agentenbasierte Softwareentwicklung

  36. Framework - System • Unterstützt Zusammenspiel mehrerer Agenten • Enthält Analysefunktionen • Kann Kooperationspläne abspeichern Agentenbasierte Softwareentwicklung

  37. Entwicklungsmethoden • Agentenorientierte Analyse • Theoriebasierte Konstruktion • Entwickeln mit Mitteln der Logik • BDI-Agenten • Modellierung durch Skripts • uvm. Agentenbasierte Softwareentwicklung

  38. Entwicklungsmethoden • Unterscheidung: • Herangehensweise • Ausgangspunkt • Eingesetzte Mittel • Phasen (Analyse, Entwurf,…) • Sichtweise Agentenbasierte Softwareentwicklung

  39. Agenten & Java • Agenten benötigen keine Vererbung • Als Implementierungssprache geeignet • Es existiert noch kein auf Java abgestimmtes Framework Agentenbasierte Softwareentwicklung

  40. Bestehende Frameworks in Java • AgentBuilder (www.agentbuilder.com) • ABE • Intelligent Agent Factory • JACK Agentenbasierte Softwareentwicklung

  41. Gliederung • Einführung • Motivation • Beispiel • Konzepte • Methodik • Ausblick & Fazit Agentenbasierte Softwareentwicklung

  42. Ausblick • Framework muss in konkreten Projekten bestehen • Zusammenspiel von Agenten & Java ausführlicher evaluieren => Praktikum: Verteiltes Programmieren von Agentensystemen  Agentenbasierte Softwareentwicklung

  43. Fazit • Entwicklungsmethode für Agentensysteme • Eignung in Projekten? Agentenbasierte Softwareentwicklung

  44. Ende Fragen?!? Literatur: Kühnel, Ralf; Agentenbasierte Softwareentwicklung, Addison Wesley Http://www.ki.informatik.hu-berlin.de Agentenbasierte Softwareentwicklung

More Related