20.12.2013 Aufrufe

Agenten

Agenten

Agenten

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Übung 11 (Theorie zur AOSE)<br />

Klassische SE<br />

Beim Entwurf der Software werden<br />

alle mögliche Reaktionen des<br />

Systems (auf die Stimulies aus der<br />

Umgebung) überlegt und<br />

berücksichtigt (statisches<br />

Systemverhalten)<br />

<strong>Agenten</strong>orientierte<br />

Softwareent-wicklung<br />

(AOSE)<br />

Hier wir ein System entworfen, das<br />

das „selbst entscheidet“, auf<br />

welche Weise es durch sein<br />

Verhalten die Entwurfsziele am<br />

besten erfüllt<br />

©IAS AOSE-Teil1<br />

1


Übung 11 (Theorie zur AOSE)<br />

<strong>Agenten</strong>orientierte Softwareentwicklung (AOSE)<br />

Gegenstand der agentenorientierten Softwareentwicklung sind Konzepte,<br />

Methoden, Vorgehensweisen und Werkzeuge für die Erstellung von<br />

agentenorientierter Software. Darunter versteht man Software, deren Struktur und<br />

Funktionalität unter dem Blickwinkel einer Menge von <strong>Agenten</strong> betrachtet wird.<br />

Konzept der <strong>Agenten</strong><br />

In der agentenorientierten Softwareentwicklung ist das Konzept des <strong>Agenten</strong><br />

eine abgrenzbare Softwareeinheit mit einem definierten Ziel. Ein Agent<br />

versucht, dieses Ziel durch autonomes Verhalten zu erreichen und interagiert<br />

dabei kontinuierlich mit seiner Umgebung und anderen <strong>Agenten</strong><br />

<strong>Agenten</strong>system<br />

Ein <strong>Agenten</strong>system besteht aus einzelnen <strong>Agenten</strong>, bei dem diese flexibel<br />

miteinander interagieren, autonom und reaktiv handeln und gegebenenfalls<br />

dabei eigene Ziele proaktiv verfolgen.<br />

©IAS AOSE-Teil1<br />

2


Übung 11 (Theorie zur AOSE)<br />

Grundkonzepte der agentenorientierten Denkweise (1)<br />

Kapselung:<br />

Zustand und Verhalten sind in einer Einheit, dem <strong>Agenten</strong>,<br />

zusammengefasst.<br />

Zielorientierung:<br />

Ein Agent orientiert sein Verhalten an einem bestimmten Ziel, das er zu<br />

erreichen versucht. Ziele können entweder vom Entwickler vorgegeben<br />

sein (z.B. den eigenen Zustand dauernd zu optimieren) oder zur<br />

Ausführungszeit von einem Benutzer in Form eines Auftrages übertragen<br />

werden.<br />

Reaktivität:<br />

Reaktivität (Reaktionsfähigkeit) ist die Fähigkeit, die Umwelt<br />

wahrzunehmen und angemessen auf sie zu reagieren.<br />

©IAS AOSE-Teil1<br />

3


Übung 11 (Theorie zur AOSE)<br />

Grundkonzepte der agentenorientierten Denkweise (2)<br />

Autonomie:<br />

Autonomie bedeutet die Kontrolle über den internen Zustand und das<br />

Verhalten. Dies bedeutet zum einen, dass das Verhalten, mit dem ein<br />

Agent auf externe Stimulationen reagiert, im Wesentlichen durch den<br />

<strong>Agenten</strong> selbst bestimmt wird und nicht von „außerhalb“ festlegbar ist. Zum<br />

anderen ist Autonomie die Voraussetzung für Proaktivität.<br />

Proaktivität:<br />

Proaktivität bedeutet die Fähigkeit, ohne direkten Einfluss von außen,<br />

zielgerichtet und vorausschauend zu handeln (Eigeninitiative).<br />

Voraussetzung für Proaktivität ist die Existenz von Zielen (siehe<br />

Zielorientierung).<br />

©IAS AOSE-Teil1<br />

4


Übung 11 (Theorie zur AOSE)<br />

Grundkonzepte der agentenorientierten Denkweise (3)<br />

Interaktion:<br />

<strong>Agenten</strong> treten auf hohem Niveau in gegenseitige Wechselwirkung. Hohes<br />

Niveau bedeutet zum Beispiel verteilte Planungs- und<br />

Problemlösungsprozesse wie Verhandlungen. Die Basis für die<br />

Interaktionen zwischen <strong>Agenten</strong> ist ein zu Grunde liegender<br />

organisatorischer Kontext. <strong>Agenten</strong> interagieren miteinander, um entweder<br />

individuelle Ziele zu erreichen, oder um Abhängigkeiten untereinander zu<br />

handhaben.<br />

Persistenz:<br />

Ein Agent verfügt über einen fortlaufenden Kontrollfluss, der unabhängig<br />

von externer Aktivierung ist – also die Fähigkeit, seinen inneren Zustand<br />

während seines Lebenszyklus beizubehalten.<br />

©IAS AOSE-Teil1<br />

5


Übung 11 (Theorie zur AOSE)<br />

<strong>Agenten</strong>orientierte Methoden<br />

• Unterstützung der Schritte zwischen Problembeschreibung<br />

und Implementierung<br />

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

– Unterstützung der agentenorientierten Grundkonzepte<br />

– Z.B. Rollenanlyse, Use Cases, Zielanalyse<br />

– Schwerpunkte auf Interaktion und Verhalten<br />

• Viele unterschiedliche<br />

Methoden<br />

– Verschiedene<br />

Analysekonzepte und<br />

Vorgehensweisen<br />

GAIA<br />

PASSI<br />

MaSE<br />

Agent-UML<br />

– Verschiedene Notation,<br />

teilweise UML-<br />

Erweiterungen<br />

– Teilweise industrielle<br />

Erfahrungen<br />

Analyse<br />

Grobentwurf<br />

Feinentwurf<br />

Implementierung<br />

©IAS AOSE-Teil1<br />

6


Übung 11 (GAIA)<br />

GAIA<br />

‣ GAIA ist ein Ansatz zur Analyse und Entwurf von<br />

<strong>Agenten</strong>systemen<br />

‣ Das Ziel ist die agentenorientierte Strukturierung der<br />

Anforderungen<br />

‣ Besteht aus Modellen für<br />

• Analyse der Anforderungen<br />

• Design der Software<br />

M. Wooldridge, N. R. Jennings, and D. Kinny: „The Gaia<br />

Methodology for Agent-Oriented Analysis and Design”, Journal of<br />

Autonomous Agents and Multi-Agent Systems. 3(3):285-312. (2000)<br />

©IAS AOSE-Teil1<br />

7


Übung 11 (GAIA)<br />

Beziehungen zwischen GAIA‘s Modellen:<br />

Anforderungen<br />

Analyse<br />

Rollenmodell<br />

Entwurf<br />

<strong>Agenten</strong>modell<br />

Servicemodell<br />

Interaktionsmodell<br />

Bekanntschaftsmodell<br />

©IAS AOSE-Teil1<br />

8


Übung 11 (GAIA)<br />

Abstrakte und konkrete Konzepte in GAIA:<br />

Abstrakte Konzepte<br />

•Rollen<br />

• Rechte<br />

• Zuständigkeiten<br />

• Protokolle<br />

• Aktionen<br />

•Ablauf<br />

• Sicherheit<br />

Konkrete Konzepte<br />

• <strong>Agenten</strong>-Typen<br />

• Dienste (Services)<br />

• Bekanntschaften<br />

©IAS AOSE-Teil1<br />

9


Übung 11 (GAIA – Analyse)<br />

Konzepte der Analyse<br />

System<br />

Rollen<br />

Interaktion<br />

Zuständigkeiten<br />

Rechte<br />

Sicherheit<br />

Ablauf<br />

©IAS AOSE-Teil1<br />

10


Übung 11 (GAIA – Analyse)<br />

Konzepte der Analyse<br />

Analyse<br />

‣ Festlegung der Ziele<br />

‣ Rollenmodell (zur Strukturierung durch Definition von Rollen und<br />

deren Verantwortungen / Rechten)<br />

‣ Interaktionsmodell (zur Beschreibung der Abhängigkeiten und<br />

Beziehungen der einzelnen Rollen und zur Definition<br />

Kommunikationspfade)<br />

©IAS AOSE-Teil1<br />

11


Übung 11 (GAIA – Analyse)<br />

Template for Role Model<br />

Role Schema:<br />

Description:<br />

Protocols and Activities:<br />

Permissions:<br />

• reads:<br />

• changes:<br />

• generates:<br />

Responsibilities:<br />

•Liveness:<br />

•Safety:<br />

©IAS AOSE-Teil1<br />

12


Übung 11 (GAIA – Entwurf)<br />

Template for Interaction Model<br />

[Protocol’s name]<br />

[Inputs]<br />

[Initiator]<br />

[Responder]<br />

[Description]<br />

[Outputs]<br />

• Description<br />

• initiator<br />

• responder<br />

• inputs<br />

• outputs<br />

Beschreibung<br />

Rolle<br />

Rolle<br />

Ausführer<br />

Antwortende<br />

Informationen des Auslösers<br />

Informationen des Beantworters<br />

©IAS AOSE-Teil1<br />

13


Übung 11 (GAIA – Entwurf)<br />

Operatoren für die Ablauf-Beschreibung<br />

Operator<br />

Interpretation<br />

x . y<br />

x | y<br />

x followed by y<br />

x or y occurs<br />

x* x occurs 0 or more times<br />

X+ x occurs 1 or more times<br />

x ω<br />

x occurs innitely often<br />

[x]<br />

x || y<br />

x is optional<br />

x and y interleaved<br />

©IAS AOSE-Teil1<br />

14


Übung 11 (GAIA – Entwurf)<br />

Entwurf<br />

Ziel: Entwurf einzelner <strong>Agenten</strong> durch eine genaue<br />

Spezifikation<br />

Was soll erreicht werden?<br />

‣ Systemziel mit <strong>Agenten</strong> erreichen (WIE)<br />

‣ Zuordnung der Aufgaben zu <strong>Agenten</strong> (WER)<br />

‣ KEINE Entscheidung über Implementierung<br />

©IAS AOSE-Teil1<br />

15


Übung 11 (GAIA – Entwurf)<br />

Konzepte des Entwurfs<br />

‣ <strong>Agenten</strong>modell<br />

(System-<strong>Agenten</strong> identifizieren,<br />

Zuordnung der Rollen zu <strong>Agenten</strong>,<br />

Abbildung mehrerer Rollen in einem<br />

<strong>Agenten</strong>, Verteilung einer Rolle auf<br />

mehrere <strong>Agenten</strong>)<br />

‣ Servicemodell<br />

(welche Dienste bieten die <strong>Agenten</strong> an?)<br />

‣ Bekanntschaftsmodell (Kommunikation zwischen <strong>Agenten</strong><br />

beschreiben, Flaschenhals in der<br />

Kommunikation?))<br />

©IAS AOSE-Teil1<br />

16


Übung 11 (GAIA – Entwurf)<br />

Agent Model<br />

Agent Type 1<br />

+<br />

Agent Type 2<br />

1..10<br />

Role 1 Role 2<br />

Role 3 Role 4<br />

©IAS AOSE-Teil1<br />

17


Übung 11 (GAIA – Entwurf)<br />

Service Model<br />

Service<br />

Inputs<br />

Outputs<br />

Pre-condition<br />

Post-condition<br />

©IAS AOSE-Teil1<br />

18


Übung 11 (GAIA – Entwurf)<br />

Acquaintance Model (Bekanntschaftsmodell)<br />

Agent Type 1<br />

Agent Type 4<br />

Agent Type 2<br />

Agent Type 3<br />

Agent Type 5<br />

©IAS AOSE-Teil1<br />

19


Übung 11 (GAIA – Entwurf)<br />

Operatoren für die Ablauf-Beschreibung<br />

Bezeichner<br />

n<br />

m .. n<br />

Bedeutung<br />

Es existiert genau eine Instanz<br />

Es existieren zwischen m und n<br />

Instanzen<br />

* Es existiert entweder 0 oder mehrere<br />

Instanzen<br />

+ Es existiert 1 oder mehrere<br />

Instanzen<br />

©IAS AOSE-Teil1<br />

20

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!