JanusVortrag von Rene Kassel1
GliederungGrundlagenAgenten allgemeinMultiagentensystemCRIO metamodelJanus ProjectAllgemeinesLebenszyklus eines Agenten in JanusStarten eines AgentenAgent-to-Agent Direct Communication2
GliederungPraktische BeispieleMyAgentMarket-Like-CommunityBoidsAntColonySchlusswort3
1. Grundlagen4
1.1 Agenten Allgemein  "Ein Agent ist ein Computersystem das sich in einer bestimmten Umgebung befindet und welches fähig ist, eigenständige Aktionen in dieser Umgebung durchzuführen, um seine (vorgegebenen) Ziele zu erreichen."5
1.1 Agenten Allgemein  Einsatz von Agenten:E-CommerceInformationsrechercheSimulationErledigen von RoutineaufgabenAgententypen:Reaktive AgentenAdaptive AgentenKognitive Agenten6
1.2 MultiagentensystemGehört zum Forschungsgebiet der Künstlichen IntelligenzIst ein System aus mehreren gleichartigen oder unterschiedliche spezialisiert handelnden AgentenLösen gemeinsam ein ProblemBeschäftigen sich damit, wie autonome, verteilte und „intelligente“ Systeme als Einheit ihr spezifisches Wissen, ihre Ziele, Fähigkeiten und Pläne abstimmen, um koordiniert zu handeln oder Probleme zu lösen7
1.3 CRIO-metamodelCRIO: Capacity, Role, Interaction and OrganizationOrganisationSammlung von RollenRollenstehen in einengemeinsamenKontextKontext: gemeinsames Wissen, soziale Regeln und NormenZiel: gemeinschaftliche Erfüllung einer AufgabeRollenist struktriertes VerhaltenZiel einer Rolle ist zur Erfüllung von Aufgaben einer Organisation beizutragenInterne Rolle (Common Role)Externe Rolle (BoundaryRole)8
1.3 CRIO-metamodelInteraktionDynamische, nicht vorher bekannte Abfolge von EreignissenRollen reagieren je nach ihrem Verhalten auf die EreignisseKapazität / Capacity:hier frei übersetzt mit Fähigkeitabstrahiert know-how von einer konkreten Realisierung9
2. Janus-Project 10
2.1 Allgemeinesbeschäftigt sich mit Modellierung und Simulation von komplexen Systemenbesonders „holonicmultiagentsystems“Janus ist eine Multiagentenplattform zur Implementierung von Mutliagentenin Java 1.5 geschriebenbasiert auf dem CRIO metamodelSchwerpunkt: Unterstützung und Implementation von Rollen und Organisation bei Agenten 11
2.2 Lebenszyklus eines AgentenJeder Agent in Janus durchlebt verschiedene LebenszyklenDiese sind:ActivateLiveEnd12
2.2 Lebenszyklus eines Agenten13
2.3 Starten eines Agenten14
2.4 Agent-to-Agent CommunicationOne-to-One-CommunicationMöchte ein Agent eine Nachricht an einen anderen Agenten senden wird folgenden Methode verwendet:AgentAddresssendMessage(Message message, AgentAddressagents)One-to-Many CommunicationMöchte ein Agent eine Nachricht an viele senden wird folgenden Methode verwendetvoidbroadcastMessage(Message message, AgentAddressagents) 15
3. Praktische Beispiele 16
3.1 MyAgentZeigt ein selbst implementiertes einfaches Beispiel, wie man einen Agenten startet und welchen Zustand er besitztfür die Erstellung war MAVEN nötigMAVEN = Build-Management-Tool 17
3.2 Market-Like-Communityzeigt die Implementierung von  Rollen als first-class entitybenutzt das CRIO-MetamodellImplementiert mit der Janus-PlatformBeispiel zeigt eine Marktähnliche GemeinschaftGrundlagen:Ist ein Beispiel für den Inlands-Reisemarkt es gibt 3 einfache Agententypen:einen Client (Kunde)einen Broker (Makler)4 Provider (Anbieter)Client möchte das beste Reiseangebot bekommen18
3.2 Market-Like-CommunityVorgang:Sendet Vorschlag an CBrokerCBroker leitet an PBroker weiterPBroker schickt Information an alle verfügbaren ProviderPbroker wählt beste Alternative und teilt diese den Client mitDer beste Provider und der Client treten in Kontakt, um Bestellung abzuschließen19
3.2 Market-Like-CommunityOrganisationenDas Beispiel hat 3 Organisationen, jede davon besitzt 2 RollenPurchase (Kauf)Providing (Bereitstellung) Contracting (Vertragsnehmer))Für Beispielszenario wird also benötigt:3 Agententypen3 Organisationen6 Rollen20
3.2 Market-Like-Community21
3.3 Boidswurde 1986 als ein Computer Modell vorgeschlagen, dass koordinierte Tierbewegung simuliert, wie Vogel- oder Fischschwärme wird häufig in der Computergrafik genutzt, die eine realistische Darstellung von Vögeln oder anderen Lebewesen liefern sollendie 3 einfachen Verhaltensregeln:Separation (Trennung)Alignment (Angleichen)Cohesion (Zusammenhalt) 22
3.3 Boids23
3.4 AntColonydas Beispsielzeigt die Simulation eines Ameisenstaates mit Hilfe eines Multiagentensystemsdies liefert eine mögliche Implementierung von BOIDSDas AntColony Prinzipeine einzelne Ameise hat kein globales Wissen über die Aufgaben, die sie ausführt Die Aktionen basieren auf lokalen Entscheidungen und sind meist nicht vorhersehbarDas intelligente Verhalten entsteht durch die Selbstorganisation und indirekten Kommunikation zwischen den Ameisen24
3.4 AntColonyDefinition der Umweltdie Umwelt ist in ein Raster zerlegtjede Zelle des Raster kann eine Kolonie, eine Pheromon oder eine Nahrungsquelle seinIn dem Beispiel gibt es 2 Typen von Pheromonen:Das „Food-Pheromon“  gibt die Richtung der Nahrungsquelle anDas „Colony-Pheromon“  die gibt Richtung der Ameisenkolonie an25
3.4 AntColonyDefinition der AntColony OrganisationDie Organisation besteht aus 2 Rollen:Patroller:Läuft zufällig durch die Kolonie und verstreut das „Colony Pheromon“Kehrt zur Kolonie zurück, wenn er denkt, das seine Pheromone auf die Hälfte des Ursprungswertes gesunken sindForager:Dieser sucht zufällig nach FutterquellenWährend der Suche wirft er das „Colony Pheromon“ ausNachdem er eine Futterquelle gefunden hat, versucht er zur Kolonie zurückzukehren mit Hilfe des Colony PheromonsWährend er zurück zur Kolonie geht wirft er „Food-Pheromons“ aus um die Nahrungsquelle später wieder zu finden26
3.4 AntColonyBeispiel27
4. Schlusswort28

Janus Vortrag

  • 1.
  • 2.
    GliederungGrundlagenAgenten allgemeinMultiagentensystemCRIO metamodelJanusProjectAllgemeinesLebenszyklus eines Agenten in JanusStarten eines AgentenAgent-to-Agent Direct Communication2
  • 3.
  • 4.
  • 5.
    1.1 Agenten Allgemein "Ein Agent ist ein Computersystem das sich in einer bestimmten Umgebung befindet und welches fähig ist, eigenständige Aktionen in dieser Umgebung durchzuführen, um seine (vorgegebenen) Ziele zu erreichen."5
  • 6.
    1.1 Agenten Allgemein Einsatz von Agenten:E-CommerceInformationsrechercheSimulationErledigen von RoutineaufgabenAgententypen:Reaktive AgentenAdaptive AgentenKognitive Agenten6
  • 7.
    1.2 MultiagentensystemGehört zumForschungsgebiet der Künstlichen IntelligenzIst ein System aus mehreren gleichartigen oder unterschiedliche spezialisiert handelnden AgentenLösen gemeinsam ein ProblemBeschäftigen sich damit, wie autonome, verteilte und „intelligente“ Systeme als Einheit ihr spezifisches Wissen, ihre Ziele, Fähigkeiten und Pläne abstimmen, um koordiniert zu handeln oder Probleme zu lösen7
  • 8.
    1.3 CRIO-metamodelCRIO: Capacity,Role, Interaction and OrganizationOrganisationSammlung von RollenRollenstehen in einengemeinsamenKontextKontext: gemeinsames Wissen, soziale Regeln und NormenZiel: gemeinschaftliche Erfüllung einer AufgabeRollenist struktriertes VerhaltenZiel einer Rolle ist zur Erfüllung von Aufgaben einer Organisation beizutragenInterne Rolle (Common Role)Externe Rolle (BoundaryRole)8
  • 9.
    1.3 CRIO-metamodelInteraktionDynamische, nichtvorher bekannte Abfolge von EreignissenRollen reagieren je nach ihrem Verhalten auf die EreignisseKapazität / Capacity:hier frei übersetzt mit Fähigkeitabstrahiert know-how von einer konkreten Realisierung9
  • 10.
  • 11.
    2.1 Allgemeinesbeschäftigt sichmit Modellierung und Simulation von komplexen Systemenbesonders „holonicmultiagentsystems“Janus ist eine Multiagentenplattform zur Implementierung von Mutliagentenin Java 1.5 geschriebenbasiert auf dem CRIO metamodelSchwerpunkt: Unterstützung und Implementation von Rollen und Organisation bei Agenten 11
  • 12.
    2.2 Lebenszyklus einesAgentenJeder Agent in Janus durchlebt verschiedene LebenszyklenDiese sind:ActivateLiveEnd12
  • 13.
  • 14.
  • 15.
    2.4 Agent-to-Agent CommunicationOne-to-One-CommunicationMöchteein Agent eine Nachricht an einen anderen Agenten senden wird folgenden Methode verwendet:AgentAddresssendMessage(Message message, AgentAddressagents)One-to-Many CommunicationMöchte ein Agent eine Nachricht an viele senden wird folgenden Methode verwendetvoidbroadcastMessage(Message message, AgentAddressagents) 15
  • 16.
  • 17.
    3.1 MyAgentZeigt einselbst implementiertes einfaches Beispiel, wie man einen Agenten startet und welchen Zustand er besitztfür die Erstellung war MAVEN nötigMAVEN = Build-Management-Tool 17
  • 18.
    3.2 Market-Like-Communityzeigt dieImplementierung von Rollen als first-class entitybenutzt das CRIO-MetamodellImplementiert mit der Janus-PlatformBeispiel zeigt eine Marktähnliche GemeinschaftGrundlagen:Ist ein Beispiel für den Inlands-Reisemarkt es gibt 3 einfache Agententypen:einen Client (Kunde)einen Broker (Makler)4 Provider (Anbieter)Client möchte das beste Reiseangebot bekommen18
  • 19.
    3.2 Market-Like-CommunityVorgang:Sendet Vorschlagan CBrokerCBroker leitet an PBroker weiterPBroker schickt Information an alle verfügbaren ProviderPbroker wählt beste Alternative und teilt diese den Client mitDer beste Provider und der Client treten in Kontakt, um Bestellung abzuschließen19
  • 20.
    3.2 Market-Like-CommunityOrganisationenDas Beispielhat 3 Organisationen, jede davon besitzt 2 RollenPurchase (Kauf)Providing (Bereitstellung) Contracting (Vertragsnehmer))Für Beispielszenario wird also benötigt:3 Agententypen3 Organisationen6 Rollen20
  • 21.
  • 22.
    3.3 Boidswurde 1986als ein Computer Modell vorgeschlagen, dass koordinierte Tierbewegung simuliert, wie Vogel- oder Fischschwärme wird häufig in der Computergrafik genutzt, die eine realistische Darstellung von Vögeln oder anderen Lebewesen liefern sollendie 3 einfachen Verhaltensregeln:Separation (Trennung)Alignment (Angleichen)Cohesion (Zusammenhalt) 22
  • 23.
  • 24.
    3.4 AntColonydas Beispsielzeigtdie Simulation eines Ameisenstaates mit Hilfe eines Multiagentensystemsdies liefert eine mögliche Implementierung von BOIDSDas AntColony Prinzipeine einzelne Ameise hat kein globales Wissen über die Aufgaben, die sie ausführt Die Aktionen basieren auf lokalen Entscheidungen und sind meist nicht vorhersehbarDas intelligente Verhalten entsteht durch die Selbstorganisation und indirekten Kommunikation zwischen den Ameisen24
  • 25.
    3.4 AntColonyDefinition derUmweltdie Umwelt ist in ein Raster zerlegtjede Zelle des Raster kann eine Kolonie, eine Pheromon oder eine Nahrungsquelle seinIn dem Beispiel gibt es 2 Typen von Pheromonen:Das „Food-Pheromon“  gibt die Richtung der Nahrungsquelle anDas „Colony-Pheromon“  die gibt Richtung der Ameisenkolonie an25
  • 26.
    3.4 AntColonyDefinition derAntColony OrganisationDie Organisation besteht aus 2 Rollen:Patroller:Läuft zufällig durch die Kolonie und verstreut das „Colony Pheromon“Kehrt zur Kolonie zurück, wenn er denkt, das seine Pheromone auf die Hälfte des Ursprungswertes gesunken sindForager:Dieser sucht zufällig nach FutterquellenWährend der Suche wirft er das „Colony Pheromon“ ausNachdem er eine Futterquelle gefunden hat, versucht er zur Kolonie zurückzukehren mit Hilfe des Colony PheromonsWährend er zurück zur Kolonie geht wirft er „Food-Pheromons“ aus um die Nahrungsquelle später wieder zu finden26
  • 27.
  • 28.