01.03.2014 Aufrufe

9 Agentenorientierte Softwareentwicklung - Universität Stuttgart

9 Agentenorientierte Softwareentwicklung - Universität Stuttgart

9 Agentenorientierte Softwareentwicklung - Universität Stuttgart

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Softwaretechnik II<br />

ST II<br />

§ 9 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

Lernziele<br />

– Wissen, was ein Agent ist<br />

– Die agentenorientierte Denkweise verstehen<br />

– Die Konzepte der agentenorientierten <strong>Softwareentwicklung</strong> kennen<br />

– Die Vorgehensweise bei der agentenorientierten <strong>Softwareentwicklung</strong><br />

verstehen<br />

– Unterscheiden können, für welche Probleme Agenten geeignet sind<br />

Literatur<br />

– M. Luck, R. Ashri, M. D‘Inverno: Agent-Based Software Development,<br />

Artech House Publishers, 2004<br />

– R. Kühnle: Agentenbasierte <strong>Softwareentwicklung</strong>, Methode und<br />

Anwendungen, Addison-Wesley, 2001<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 404


Softwaretechnik II<br />

ST II<br />

§ 9 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

9.1 Herausforderungen bei komplexen technischen Systemen<br />

9.2 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

9.3 <strong>Agentenorientierte</strong> Methoden<br />

9.4 Agentensysteme – Aufbau, Struktur und Implementierung<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 405


9.1 Herausforderungen bei komplexen technischen Systemen<br />

ST II<br />

Herausforderungen bei komplexen technischen Systemen 1<br />

Beispiel Produktionssysteme<br />

Zylinderkopffertigung<br />

Farbherstellung<br />

– Werkstücke durchlaufen einzelne<br />

Maschinen<br />

– Maschinen führen verschiedene<br />

Fertigungsschritte aus<br />

Herausforderungen:<br />

– Fehler in einer Maschine<br />

• Ausfall der gesamten Linie?<br />

– Hinzufügen oder Modifikation einer<br />

Maschine<br />

• Manuelle Anpassung der<br />

Steuerungssoftware erforderlich?<br />

– Neue Werkstücke und Produkt-<br />

Varianten<br />

• Neuentwicklung der<br />

Steuerungssoftware erforderlich?<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 406


9.1 Herausforderungen bei komplexen technischen Systemen<br />

ST II<br />

Herausforderungen bei komplexen technischen Systemen 2<br />

Beispiel Verkehrssysteme<br />

– Automatischer Fahrbetrieb<br />

– Automatische Streckenvergabe und<br />

Fahrplanverwaltung<br />

Herausforderungen:<br />

– Ausfall eines Streckenabschnitts<br />

• Dynamische Umleitung der<br />

Zugverbindung möglich?<br />

– Ausfall eines Zuges<br />

• Automatische Fahrplananpassung<br />

und Neudisposition von Zügen<br />

möglich?<br />

– Einführung neuer Verbindungen / Züge<br />

• Überarbeitung der Fahrpläne<br />

erforderlich?<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 407


9.1 Herausforderungen bei komplexen technischen Systemen<br />

ST II<br />

Herausforderungen bei komplexen technischen Systemen 3<br />

Beispiel Energiemanagement<br />

– Sicherheitsrelevante elektronische Systeme<br />

brauchen zuverlässige Energieversorgung<br />

– Verteilung der verfügbaren Energie auf<br />

einzelne Verbrauchersteuergeräte<br />

– Bei Bedarf Abschaltung von Verbrauchern<br />

durch Batteriesteuergerät<br />

Herausforderungen:<br />

– Zentrale Batteriesteuergeräte „Single<br />

Point of Failure“<br />

• Redundante Auslegung ist teuer<br />

– Dezentrale Energieverteilung durch alle<br />

Verbrauchersteuergeräte<br />

• Bisher keine Softwarelösung für<br />

diesen Ansatz<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 408


9.1 Herausforderungen bei komplexen technischen Systemen<br />

ST II<br />

Herausforderungen bei der <strong>Softwareentwicklung</strong><br />

Anforderungen bei den Beispielen:<br />

– Höhere Robustheit, Fehlertoleranz und Flexibilität<br />

Herausforderung:<br />

– Entwicklung flexibler und anpassungsfähiger Systeme<br />

Struktur<br />

Gesamtverhalten<br />

Ressourcen- und Leistungsverteilung<br />

Aufgabenverteilung<br />

– Änderungen von Struktur und Verhalten sind nicht immer vorhersehbar<br />

Abhängig von Umgebung des Systems<br />

Abhängig von aktueller Situation<br />

Ziel: Entwicklung von Systemen, die in der Lage sind, sich entsprechend<br />

der aktuellen Situation selbst zu organisieren<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 409


Frage zu Kapitel 9.1<br />

ST II<br />

Frage zu Kapitel 9.1<br />

Welche Herausforderungen gibt es bei <strong>Agentenorientierte</strong>r<br />

<strong>Softwareentwicklung</strong>?<br />

Antwort<br />

f<br />

f<br />

Komplexe Datenstrukturen<br />

<br />

Das Verhalten des Systems in der Entwurfsphase ist nicht vorhersehbar<br />

Komplexe Anforderungen<br />

<br />

Anpassungsfähige und flexible Systeme<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 410


Softwaretechnik II<br />

ST II<br />

§ 9 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

9.1 Herausforderungen bei komplexen technischen Systemen<br />

9.2 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

9.3 <strong>Agentenorientierte</strong> Methoden<br />

9.4 Agentensysteme – Aufbau, Struktur und Implementierung<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 411


9.2 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

ST II<br />

Nachteile heutiger Denkweise zur <strong>Softwareentwicklung</strong><br />

<strong>Softwareentwicklung</strong> für Automatisierungssysteme heute<br />

• Funktionsorientiert, ablauforientiert, zustandsorientiert, objektorientiert<br />

Struktur und Verhalten der Software im Entwurf fest vorgegeben<br />

• Funktionalität der Systemelemente<br />

• Beziehungen zwischen Systemelementen<br />

Statisches Modell der Software<br />

• Alle möglichen Situationen im Entwurf berücksichtig<br />

Hohe Abhängigkeit zwischen Systemelementen<br />

• Bsp.: Ausfall eines Elements<br />

a) Entweder Alternative im Entwurf definiert<br />

b) oder Ausfall der Funktion<br />

Ziel: Softwaresysteme, die auf Situationen reagieren können, die nicht<br />

konkret im Entwurf vorgesehen sind<br />

• Z. B. Sensorausfall<br />

• Z. B. Dynamisch alternativer Ablauf<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 412


9.2 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

ST II<br />

Wie entwickelt man Software agentenorientiert?<br />

Problem-<br />

Beschreibung<br />

Analyse / Entwurf<br />

Modell<br />

Implementierung<br />

Softwaresystem<br />

1. Zerlegung<br />

und Abstraktion<br />

– Zerlegung in autonome Agenten<br />

– Abstraktion auf Basis<br />

agentenorientierter Konzepte<br />

2. Strukturierung<br />

– Strukturen werden nicht<br />

explizit vorgegeben<br />

– Beschreibung möglicher Beziehungen<br />

durch Interaktionsmodelle<br />

Die agentenorientierte <strong>Softwareentwicklung</strong> besteht aus<br />

<strong>Agentenorientierte</strong><br />

Konzepte<br />

Basieren auf<br />

<strong>Agentenorientierte</strong><br />

Methoden<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 413


9.2 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

ST II<br />

<strong>Agentenorientierte</strong> Konzepte (1)<br />

– Agent:<br />

Softwareeinheit mit definiertem Ziel<br />

Autonomes Verhalten zur Erreichung des Ziels<br />

Interaktion mit Umgebung und anderen Agenten<br />

Dauerhafte Beibehaltung des inneren Zustandes<br />

– Grundkonzepte der agentenorientierten Denkweise<br />

Kontrolle über<br />

Zustand und<br />

Verhalten<br />

Hohe Abstraktion<br />

(z.B. Verhandlung)<br />

Zustand und Verhalten<br />

Autonomie<br />

Interaktion<br />

Kapselung<br />

Anpassungsfähigkeit<br />

Mobilität<br />

Zielorientierung<br />

Aktivität<br />

•Ziele vorgegeben<br />

•Bestimmt Verhalten<br />

•Ggf. anpassbar<br />

Proaktivität (vorausschauendes<br />

Verhalten,<br />

Eigeninitiative<br />

•Fortlaufender Kontrollfluss<br />

•Unabhängig von Aktivierung<br />

Persistenz<br />

Reaktivität (Umwelt wahrnehmen<br />

und reagieren)<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 414


9.2 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

ST II<br />

<strong>Agentenorientierte</strong> Konzepte (2)<br />

Was bedeutet eigentlich Autonomie?<br />

Recht, eine geforderte Leistung entsprechend der aktuellen Fähigkeiten<br />

zu erbringen<br />

• vollständig – partiell – gar nicht<br />

Möglichkeit, innerhalb des Einflussbereiches selbstständig zu handeln<br />

Einschränkung der Autonomie möglich<br />

• Erfüllung von übergreifenden Anforderungen<br />

Unterschied zur Objektorientierung (höhere Abstraktionsebene)<br />

Objekt<br />

– Kapselung von<br />

Identität („wer“)<br />

Zustand („was“)<br />

Verhalten („wie“)<br />

– Keine Kontrolle über Aufruf<br />

Agent<br />

– Zusätzlich Kapselung von<br />

Freiheitsgrade „wann“<br />

der Aktionswahl „mit wem“<br />

und Interaktion „ob überhaupt“<br />

– Anfrage statt Aufruf<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong><br />

415


9.2 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

ST II<br />

<strong>Agentenorientierte</strong> Konzepte (3)<br />

Wie finden Interaktionen bei Agenten statt?<br />

– Herkömmliche Software<br />

Interaktion auf syntaktischer Ebene<br />

Funktionsaufrufe zwischen Funktionen<br />

Botschaften zwischen Objekten<br />

Aufruf beinhaltet Bedeutung<br />

– Agenten: flexible Interaktionen<br />

Interaktion auf semantischer Ebene<br />

Austausch von Nachrichten<br />

Z.B. Anfrage, Informationsweitergabe,<br />

Angebot, Anmeldung<br />

– Bedeutung als Teil der Nachricht<br />

Objekt1<br />

Get_Sensorwert ()<br />

Objekt2<br />

Get_Sensorwert<br />

Komm.<br />

Agent1<br />

(request<br />

sender: Agent1<br />

receiver: Agent2<br />

Content: query(Sensor)<br />

Komm.<br />

Agent2<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 416


9.2 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

ST II<br />

Einsatzgebiete für agentenorientierte <strong>Softwareentwicklung</strong><br />

– Dezentrale Systeme<br />

Natürlich verteilt, modular<br />

– Strukturell veränderbare Systeme<br />

Nicht alle Strukturinformation zur Entwurfszeit bekannt<br />

Struktur ändert sich dynamisch<br />

Bsp.: Automatisierungsanlagen, Transportsysteme, Handelssysteme<br />

– Systeme mit komplexen, variablen Abläufen<br />

Bsp.: Produktionssysteme, Roboter, Flugleitsysteme<br />

– Kooperative Systeme<br />

Umfangreiche Koordinationsprozesse erforderlich<br />

Bsp.: E-Commerce, Informations-Management, Energiemanagement<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 417


Frage zu Kapitel 9.2<br />

ST II<br />

Frage zu Kapitel 9.2<br />

Warum kann derzeit die Steuerung von Echtzeitautomatisierungssystemen<br />

nicht agentenorientiert entwickelt werden?<br />

Antwort<br />

f<br />

f<br />

<br />

<br />

<br />

<br />

<br />

<br />

Struktur und Verhalten der Software im Entwurf vorgegeben<br />

Umfangreicher Code<br />

Statisches Modell der Software<br />

Parallele Tasks<br />

Abhängigkeit zwischen Systemelementen<br />

Hohe Zeitanforderungen an die Interaktion zwischen Teilsystemen<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 418


Softwaretechnik II<br />

ST II<br />

§ 9 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

9.1 Herausforderungen bei komplexen technischen Systemen<br />

9.2 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

9.3 <strong>Agentenorientierte</strong> Methoden<br />

9.4 Agentensysteme – Aufbau, Struktur und Implementierung<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 419


9.3 <strong>Agentenorientierte</strong> Methoden<br />

ST II<br />

<strong>Agentenorientierte</strong> Methoden<br />

– Unterstützung der Schritte zwischen Problembeschreibung und<br />

Implementierung<br />

– Zusätzliche Konzepte für Analyse & Entwurf<br />

Unterstützung der agentenorientierten Grundkonzepte<br />

Z.B. Rollenanalyse, Use Cases, Zielanalyse<br />

Schwerpunkte auf Interaktion und Verhalten<br />

– Viele unterschiedliche Methoden<br />

Verschiedene Analysekonzepte<br />

und Vorgehensweisen<br />

Verschiedene Notation<br />

Teilweise industrielle Erfahrungen<br />

GAIA<br />

PASSI<br />

MaSE<br />

Agent-UML<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 420


9.3 <strong>Agentenorientierte</strong> Methoden<br />

ST II<br />

<strong>Agentenorientierte</strong> Analyse - Vorgehen<br />

Hilfsmittel zur agentenorientierten Betrachtung eines Sachverhalts<br />

1. Zielhierarchieanalyse<br />

Überführung der Anforderungen<br />

in detaillierte Ziele<br />

2. Rollenanalyse<br />

Position + Verantwortlichkeit<br />

(Aufgaben) eines Elements<br />

Gruppierung kohärenter Ziele zu Rollen<br />

Rollen haben konkrete Aufgaben<br />

Teilziel 1<br />

Rolle A<br />

Teilziel 1<br />

Gesamtziel<br />

Teilziel 2<br />

Teilziel 2.1 Teilziel 2.2<br />

Rolle B<br />

Teilziel 2, 2.2<br />

Aufg.1 Aufg. 2 Komm. Aufg. 3<br />

3. Agentenidentifikation<br />

Agenten = aktive Elemente im System<br />

Aufgaben und Entscheidungsträger<br />

Übernahme einer oder mehrerer Rollen<br />

Agent<br />

Rolle A<br />

Rolle B<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 421


9.3 <strong>Agentenorientierte</strong> Methoden<br />

ST II<br />

<strong>Agentenorientierte</strong> Analyse – Beispiel<br />

1. Ziele<br />

1. Überwache Pumpsystem und informiere Personal<br />

1.1 Überwache Temperatur<br />

und melde Ereignisse<br />

1.2 Überwache Druck<br />

und melde Ereignisse<br />

1.1.1<br />

Überwache<br />

Grenzwerte<br />

1.1.2<br />

Überwache<br />

Schwankung<br />

1.1.3<br />

Informiere<br />

Personal<br />

...<br />

Rollen<br />

Agenten<br />

GrenzwertWächter<br />

1.1.1<br />

Ermittle<br />

Temperatur<br />

Prüfe<br />

Bereich<br />

Temp.Melder<br />

1.1<br />

Melde<br />

Grenzwert- Ereignis<br />

überschreitung<br />

Monitoring-<br />

Agent<br />

Grenzwertwächter<br />

Temperaturmelder<br />

Personal<br />

Zeige An<br />

Ereignismelder<br />

1.1.3<br />

Informiere<br />

Personal<br />

Ergeignismeldung<br />

Alarm-<br />

Agent<br />

Ereignismelder<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 422


9.3 <strong>Agentenorientierte</strong> Methoden<br />

ST II<br />

<strong>Agentenorientierte</strong>r Entwurf (1)<br />

1. Beschreibung des agenteninternen Ablaufs<br />

Z.B. mit Zustandsdiagrammen<br />

Zustandsänderung des<br />

Pumpsystems<br />

[Sicherheitscheck OK]<br />

Zustandsänderung des<br />

Pumpsystems<br />

[Sicherheitscheck OK]<br />

S<br />

sicherer Zustand<br />

Sicherheitscheck<br />

Zustandsänderung<br />

[Sicherheitscheck nicht OK]<br />

unsicheren Zustand melden<br />

Zustandsänderung[Sicherheitscheck OK]<br />

unsicherer Zustand<br />

Sicherheitscheck<br />

E<br />

E<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 423


9.3 <strong>Agentenorientierte</strong> Methoden<br />

ST II<br />

<strong>Agentenorientierte</strong>r Entwurf (2)<br />

2. Beschreibung des Aufbaus der Agenten<br />

Z.B. mit Klassendiagrammen<br />

Agent<br />

(from JADE)<br />

<br />

Pumpsystem<br />

AGENT TYPE : String<br />

version : String = 1.0<br />

Pumpsystem()<br />

shutdown()<br />

setup()<br />

register_WithAMS()<br />

register_WithDF()<br />

SimpleBehaviour<br />

(from JADE)<br />

OneShotBehaviour<br />

(from JADE)<br />

Behaviour<br />

(from JADE)<br />

CompositeBehaviour<br />

(from JADE)<br />

CyclicBehaviour<br />

(from JADE)<br />

<br />

Anweisung zum Pumpsystem senden<br />

<br />

Pumpsystemanforderung empfangen<br />

<br />

Temperatur überwachen<br />

Anweisung zum Pumpsystem senden()<br />

start Task()<br />

Pumpsystemanforderung empfangen()<br />

start Task()<br />

Temperatur überwachen()<br />

start Task()<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 424


9.3 <strong>Agentenorientierte</strong> Methoden<br />

ST II<br />

<strong>Agentenorientierte</strong>r Entwurf (3)<br />

3. Beschreibung der Interaktionen zwischen Agenten<br />

Z.B. mit Sequenz- oder Aktivitätsdiagrammen<br />

Pumpsystemanforderung<br />

senden<br />

Pumpsystemanforderung<br />

empfangen<br />

Temperatur<br />

überwachen<br />

HW-Schnittstelle Anweisung<br />

zum Pumpsystem empfangen<br />

Anweisung zum<br />

Pumpsystem senden<br />

4. Beschreibung der Kommunikation zwischen Agenten<br />

1. Sprache (Nachrichtenformat)<br />

2. Interaktionsprotokoll<br />

3. Ontologie<br />

Festlegung der Bedeutung des Nachrichteninhalts<br />

Gemeinsamer Wissensbereich der Agenten<br />

Applikationsabhängig<br />

Z.B. „Sensor“ hat „Messwert“<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 425


Frage zu Kapitel 9.3<br />

ST II<br />

Frage zu Kapitel 9.3<br />

Welche Aktivitäten gehören zur agentenorientierten Analyse<br />

Antwort<br />

<br />

Ermittlung der Ziele des Systems<br />

f<br />

f<br />

Beschreibung der agentenorientierten Abläufe<br />

<br />

Ableitung der Rollen<br />

<br />

Identifizierung der Agenten<br />

Beschreibung der Interaktion zwischen Agenten<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 426


Softwaretechik II<br />

ST II<br />

§ 9 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

9.1 Herausforderungen bei komplexen technischen Systemen<br />

9.2 <strong>Agentenorientierte</strong> <strong>Softwareentwicklung</strong><br />

9.3 <strong>Agentenorientierte</strong> Methoden<br />

9.4 Agentensysteme – Aufbau, Struktur und Implementierung<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 427


9.4 Agentensysteme – Aufbau, Struktur und Implementierung<br />

ST II<br />

Implementierung von Agenten<br />

AO-Konzepte<br />

Eigenschaften<br />

Problem-<br />

Beschreibung<br />

Analyse / Entwurf<br />

Modell<br />

Implementierung<br />

Softwaresystem<br />

– Wie können agentenorientierte Konzepte implementiert werden?<br />

Autonomie<br />

Trennung von Nachrichtenaustausch<br />

und -verarbeitung<br />

Abstrakte Interaktionen<br />

Verhandlungen<br />

Flexible Interaktionen<br />

und Beziehungen<br />

Ziele<br />

Proaktivität<br />

Kommunikation über Protokolle<br />

Verzeichnisdienste zum dynamischen<br />

Aufbau von Beziehungen<br />

Bedingungen, Regelbibliothek<br />

Interne Aktivierung, eigener Thread<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 428


9.4 Agentensysteme – Aufbau, Struktur und Implementierung<br />

ST II<br />

Aufbau eines Agenten<br />

– Aufbau des Agenten muss agentenorientierte Konzepte realisieren<br />

– Agent beinhaltet:<br />

Abbild der relevanten Umgebung<br />

Ziele<br />

Mögliche Aktionen<br />

Umgebungsmodell<br />

Verhaltensregeln<br />

Fähigkeiten<br />

Agent<br />

Umgebungsmodell<br />

Ziele<br />

Ziele<br />

Ziele<br />

Fähigkeiten<br />

Verhalten<br />

Wahrnehmung<br />

Beeinflussung<br />

U<br />

m<br />

g<br />

e<br />

b<br />

u<br />

n<br />

g<br />

– Architektur Agent: Einzelne Module z.B. für<br />

Kommunikation, Auftragsverarbeitung, Entscheidung, Verhandlung<br />

Interne Parallelität<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 429


9.4 Agentensysteme – Aufbau, Struktur und Implementierung<br />

ST II<br />

Aufbau von Agentensystemen<br />

– Agentensystem muss Agenteninteraktion und Agentenlebenszyklus<br />

unterstützen:<br />

Wissen über die Existenz anderer Agenten in der Umgebung<br />

Bekanntgabe der Fähigkeiten aller Agenten<br />

Kommunikationsmedium<br />

– Standard für Systemarchitektur von Agentensystemen<br />

Auskunftsdienst<br />

(White pages):<br />

Bezeichner und<br />

Kommunikationsadressen<br />

aller<br />

Agenten<br />

Kommunikationsinfrastruktur<br />

Agent<br />

Agent<br />

Management<br />

System<br />

Directory<br />

Facilitator<br />

Message Transport System<br />

Weitere<br />

Agentensysteme<br />

Auskunftsdienst<br />

(Gelbe-Seiten):<br />

• Anmelden<br />

eigener Dienste<br />

• Ermitteln der<br />

Dienste anderer<br />

Agenten<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 430


9.4 Agentensysteme – Aufbau, Struktur und Implementierung<br />

ST II<br />

Implementierung von Agenten<br />

– Verschiedene Möglichkeiten der Implementierung<br />

<strong>Agentenorientierte</strong> Programmiersprachen<br />

Konventionelle Programmiersprachen<br />

Agenten Frameworks / Plattformen<br />

Agenten Frameworks und Plattformen<br />

– Meist in herkömmlichen Programmiersprachen implementiert (Java)<br />

– Umfangreiche Hilfsmittel zur Implementierung<br />

Agentenerzeugung, Life-Cycle Management und Persistenz<br />

Bibliotheken für verschiedene Verhaltensstrategien<br />

Agentenkommunikation: Sprachen (z.B. ACL), Protokolle<br />

Agenteninteraktion: Verzeichnisdienste (Gelbe Seiten)<br />

– Laufzeitumgebung<br />

z.B. Agent-0<br />

z.B. Jade, Leap<br />

Je besser die Implementierungsumgebung agentenorientierte<br />

Konzepte unterstützt, desto einfacher ist die Implementierung<br />

Film: Agenten<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 431


Frage zu Kapitel 9.4<br />

ST II<br />

Frage zu Kapitel 9.4<br />

Was sind Bestandteile eines Agenten?<br />

Antwort<br />

f<br />

<br />

<br />

<br />

<br />

<br />

Umgebungsmodell<br />

Message Transport System<br />

Verhaltensregeln<br />

Fähigkeiten<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 432


Vorbereitungsfragen<br />

ST II<br />

Vorbereitungsfragen zu § 9<br />

Frage 1: Methoden (SS 04)<br />

Nennen Sie einen funktionalen Unterschied zwischen den Methoden PASSI und GAIA<br />

Frage 2: <strong>Agentenorientierte</strong> Entwicklung (SS 05)<br />

In welchen Anwendungsbereichen ist die agentenorientierte Entwicklung nicht sehr sinnvoll?<br />

Begründen Sie Ihre Aussage.<br />

© 2013 IAS, <strong>Universität</strong> <strong>Stuttgart</strong> 433

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!