Agenten
Agenten
Agenten
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