Multiagentensysteme: Modelle, Programmierung, Plattformen

PD Stefan Bosse
Universität Bremen, FB Mathematik & Informatik
SS 2020
Version 2020-05-13

Anwendungsbeispiele, Plattformen, Toolkits


Entwicklungswerkzeuge

  • Domainen: ABC, ABM (Planung und Koordination)
  • Weit verbreitete Programmiersprache: JAVA
Name Referenz
AGlobe Šišlák et al. (2005)
FIPA-OS Poslad et al. (2000)
JACK Howden et al. (2001)
JADE Bellifemine et al. (2005), Bellifemine et al. (2007)
JADEX Braubach et al. (2005), Jadex (2014)
JIAC Hirsch et al. (2009), Lützenberger et al. (2013)
Living Systems Technology Suite Rimassa et al. (2005)
MAdkit Gutknecht and Ferber (2000)
Multi-Agent System Development Kit Gorodetsky et al. (2005)
Repast Simphony North et al. (2013), Repast-S (2014)

Entwicklungswerkzeuge für MAS [Leitao, IAEASAI, Kap. 1, 2015]

Programmiersprachen

Agentenorientierte Programmiersprachen (AOP)

  • Unterteilung in zwei wesentliche Klassen:
    • Inherentes Agentenmodell (I) und Kommunikation
    • Als Erweiterung (E) zu bestehenden Programmiersprachen
  • Weiterhin kann eine AOP mit einer Architektur verknüpft sein (A)
Name Klasse Referenz
Agent0 I/A Shoham (1991)
2APL/3APL I Dastani et al. (2005)
AgentSpeak(L)/Jason E Kinny et al. (1996), Rao (1996), Bordini et al. (2007)
ASPECS ? Cossentino et al. (2007)
GOAL ? Hindriks et al. (2012) GOAL (2011)
Golog ? Levesque et al. (1997)
MetateM ? Dennis et al. (2008)
PLACA ? Thomas (1995)
AgentJS E/I Bosse (2014)

Agentenorientierte PL [Leitao, IAEASAI, Kap. 1, 2015]

Simulationswerkzeuge

Name APL/Modell Referenz
Agent.GUI ? Derksen et al. (2011) AgentGUI (2014)
AMASON ? Klügl and Davidsson (2013)
MASON ? Luke et al. (2005), MASON (2014)
MAST ? Vrba et al. (2008)
NetLogo Text/Prozedural, Turtle Wilensky and Rand (2014), NetLogo (2014)
Repast for High Performance Computing (Repast HPC) ? RepastHPC (2014)
SeSAm Graph, ATG/ABM Klügl (2009)
SEJAM2 Text/JS, ATG/ABC/ABM Bosse (2016)

Agentenbasierte Simulationswerkzeuge [Leitao, IAEASAI, Kap. 1, 2015]

Modellierung

  • Agentenbasiertes Modellieren wird vielfältig eingesetzt (eine Auswahl):

#abmareas0101[Macal, WSC, 2009]

Modellierung

Topologien

  • Die agentenbasierte Modellierung befasst sich ebenso mit der Modellierung von Agentenbeziehungen und Agenteninteraktionen wie mit der Modellierung von Agenten und dem Verhalten von Agenten.

  • Die Hauptprobleme bei der Modellierung von Agenteninteraktionen sind die Angabe, wer mit wem verbunden ist oder sein könnte, und die Dynamik, die die Mechanismen der Interaktionen steuert.

  • Beispiel: Ein agentenbasiertes Modell des Internetwachstums würde beispielsweise Mechanismen enthalten, die angeben, wer mit wem, warum und wann eine Verbindung herstellt.

Modellierung

img-#figure-agtopo01


Abb. 1. Topologien für Agentenbeziehungen und Soziale Interaktion [Macal, WSC, 2009]

Modellierung

  • Die Mikromodellierung mit Agenten umfasst besonders deren Interaktion untereinander und mit der Weltumgebung (MAschinen, Menschen, usw.)

img-#figure-agintenv01


Abb. 2. Das agentenbasierte Modell mit Entitäten auf Mikroebene, ihre Aktionen und Interaktionen sowie die Umgebung [Uhrmacher ed., MASSA, 2009]

Modellierung

Agentenmodell

  • Zutaten: Perzeption, Kommunikation, Wissen (Beliefs), Regeln (Plan, Goals), Ausführen (Intentions) BDI Architektur!

#bdi02[Uhrmacher ed., MASSA, 2009]

Produktion und Logistik

  • In der Produktion und Logistik werden ABM/ABC/ABS für die Planung, Entscheidungsfindung, und Steuerung von Produktionsanlagen und logistischen Systemen eingesetzt

  • Dabei können Agenten verschiedene Entitäten in Produktion und Logistik repräsentieren:

    • Materialien und Waren
    • Transportträger (Fahrzeuge usw.)
    • Warenlager
    • Menschen
    • Maschinen (Produktion/Herstellung)
    • Konsumenten
    • Lieferanten usw.

Produktion und Logistik

  • Man unterscheidet folgende Bereiche in denen Agenten eingesetzt werden können:

    • Planung
    • Terminierung und Ablaufsteuerung (Scheduling)
    • Monitoring (Überwachung und Analyse)
    • Vorhersage (von Einflussgrößen wie Bedarf) Agentenbasiertes Lernen
  • Die Ebenen der Entscheidungsfindung in Prozessen wie Produktion und Logistik sind miteinander in einem Kreislauf verbunden und basieren auf:

    • Regelsätzen (Rules)
    • Zu erfüllenden Randbedingungen (Constraints)
  • D.h. Agenten sind Theoremprüfer und Logiklöser

Produktion und Logistik

#decmak01[Leitao, IAEASAI, Kap. 2, 2015]

  • Dabei finden Aktionen teilweise in Echtzeit (online) und teilweise versetzt/offline statt

Produktion und Logistik

  • Agenten können entkoppelt von physikalischen Plattformen (ABM/ABS) oder gekoppelt an physische Plattformen eingesetzt werden (ABC/Cyber Physical Systems CPS)

  • Dabei kommunizieren die Plattformen (Maschinen, Fahrzeuge) und die Agenten miteinander:

#agphycom01[Leitao, IAEASAI, Kap. 2, 2015]

Produktion und Logistik

Agentenbasiert Entwurf

  • Die Kopplung von Agentenmodellen mit dem Entwurfsprozess (z.B. einer Produktionsanlage) ist der Einstiegspunkt für agentenbezogene Prinzipien und Technologien in aktuellen Automatisierungsszenarien:

#agcps01[Leitao, IAEASAI, Kap. 3, 2015]

Produktion und Logistik

Eingebettete Agententechnologien in der Automatisierung

  • Der nächste Schritt ist die Einbettung von Agententechnologien in die Systeme (z.B. Maschinen):

#agcps02[Leitao, IAEASAI, Kap. 3, 2015]

Plattformen

Agentenplattformen

  • Domainen: ABC, ABM (Planung und Koordination)
  • Weit verbreitete Programmiersprache: JAVA

Simulationswerkzeuge

  • Domainen: ABC, ABM, ABMS
  • Entweder eigenständig oder als Erweiterung zu bestehenden Plattformen (Beispiel: SEJAM als Visualisierungs- und Steuerungsebene für JAM)

CAPNET

CAPNET: Component Agent Platform based on .NETABC

figcapnet


Abb. 3. (Links) Stark heterogene und verteilte Systeme (Rechts) Plattform [Contreras, 2004]

HERA

Hera: Healthcare and Homecare Services SystemABC

fighera


Abb. 4. (Links) HERA Helathcare and Homecare Services System (Rechts) Plattform: JAVA und JADE basierend [Spanoudakis, 2015]

MAGENTA

MAGENTA: Multi-Agenten Systeme für LogistikABC

figmagenta


Abb. 5. (Links) Multi-Agenten Systeme für Logistik [Anand, 2014] (Rechts) Plattform [Himoff, 2005]

Mobile Cloud

  • Traditionelles verteiltes Rechnen verwendet lokalisierte Prozesse und mobile Daten (Nachrichtenübertragung)
  • Notwendiger Paradigmenwechsel: Von mobilen Daten zu mobilem Code (Prozesse)
  • Konzept: Agent als Mobiler Code in stark heterogenen NetzwerkenABC

Crowd Sensing

figcrowdsens


Abb. 6. (Links) Datenaustausch zwischen Smartphones und WEB Service (Rechts) Agent & Plattform

Crowd Sensing

  • Crowd Sensing mit der JavaScript Agent Machine (JAM) und mobilen Agenten [2]
  • JAM kann auf mobilen Geräten und stationären Stationen (Beacons) ausgeführt werden
  • Agenten können nahtlos zwischen Plattformen in einem Netzwerk migrieren (“wandern”)
  • Mobile Agenten werden zur Sensorfusion und Sensorverteilung genutzt

figmobileagentnet

Crowd Sensing

  • Simulation eines komplexen und verteilten Crowd Sensing Szenario mit SEJAM (Simulation Environment for JAM)
  • Reales Ereignis: Nutzerdaten vom Chaos Communication Congress (2014) in Hamburg

figsimucrowd


Abb. 7. (Links) Objekt Explorer (Rechts) Simulationswelt mit Beacons, mobilen Geräten (Smartphones) und Agenten

iSENSNET

iSENSNET: Intelligent Sensor Processing in Sensor Networks

Erdbebenüberwachung und Ereignisklassifizierung

  • Verteiltes seismisches Netzwerk-CI (South California), das auf einem 2D Mesh-Netzwerk abgebildet ist (JAM Agentenplattform)
  • Mobile Agenten werden zum verteilten und inkrementellen Lernen eingesetzt [1]

figseismnet

iSENSNET

  • Erweiterung des seismischen Netzwerkes mit mobile Geräten wie Smartphones
  • Smartphones können bei Erdbeben zusätzliche Informationen liefern
  • Mobile Agenten können zwischen seismischen und mobilen Netzen/Geräten migrierien

    figseismnetubiq

iSENSNET

Sensorisches Material

  • Materialien mit integrierten Sensornetzwerken (Sensor + Informations-Kommunikations Technologien)
  • Einsatz von mobilen Agenten für die Sensorverarbeitung, Sensorverteilung, und verteiltes agentenbasiertes Lernen
  • Verwendung einer low-resource Agentenplattform AFVM

figsensmatnet

iSENSNET

  • Einbindung sensorischer Materialien in das Internet, das Internet der Dinge (IoT), und Cloud Umgebungen
  • Anwendung:
    • Überwachung von sicherheitskritischen Strukturen, z.B. Bauwerken, in Flugzeugen, Windrädern
    • Überwachung von technischen Geräten und Produkten mit Sammlung von Ensembledaten zur “fliessenden” Verbesserung von Produkteigenschaften (Cloud-based Design & Manufacturing)

figsensmatnetcloud

NetLogo

img-#figure-netlogomod01


Abb. 8. Das NetLogo Agenten- und Programmiermodell [Banos ed. ABSSN, 2015]

NetLogo

  • Die grafische Oberfläche (GUI) besteht aus der eigentlichen Simulationsschntittstelle (Simulationswelt, Steuerung, Analyse), Informationen, und einem Modelleditor:

#netlogogui01

JavaScript Agent Machine (JAM)

  • Wird in diesem Kurs für ABC eingesetzt!

  • Programmiersprache: JavaScript

  • Modell: Aktivitätsübergangsgraphen (ATG), reaktiv

img-#figure-atg


Abb. 9. JAM Agenten unt ATGs

JavaScript Agent Machine (JAM)

img-#figure-jamsharch


Abb. 10. Softwarearchitektur von JAM: Zentral ist das Agent Input-Output System (AIOS)

SEJAM

  • Visualiserungserweiterung von JAM (ABC/ABS/ABM)

  • Fügt eine Visualisierung einer virtuellen zweidimensionalen Welt hinzu die aus einer Menge von verbundenen virtuellen JAM Knoten besteht

  • Neben der Programmierung der Agenten (wie in JAM) gibt es zusätzlich ein Simulationsmodell (Beschreibung und Aufbau der Simulationswelt)

  • Es werden zwei verschiedene Agentenklassen unterschieden (wenn auch programatisch identisch):

    • Berechnungsagenten (ABC)
    • Physische Agenten (ABM)

SEJAM

Berechnungsagenten
  • Mobiler Code, nicht an eine JAM Plattform gebunden

  • Ausführbar in der Simulation und der “realen” Welt (Z.B. auf einem Smartphone)

Physische Agenten
  • Nur in der Simulation: Agent und (virtuelle) Plattform bilden unzertrennliche Einheit ähnlich den NetLogo Agenten

  • Mobil durch die räumliche Verschiebung der virtuellen Plattform (der “Körper”)

SEJAM

img-#figure-sejam2arch


Abb. 11. Softwarearchitektur von SEJAM

JAM/SEJAM: Beispiele

[j19.1] S. Bosse, D. Lehmhus, Material-integrated cluster computing in self-adaptive robotic materials using mobile multi-agent systems, Cluster Computing, doi 10.1007/s10586-018-02894-x, Volume 22, Number 3, pp. 1017-1037, 2019 ISSN 1386-7857

[j19.3] S. Bosse, U. Engel, Real-time Human-in-the-loop Simulation with Mobile Agents, Chat Bots, and Crowd Sensing for Smart Cities, Sensors (MDPI), 2019, doi: 10.3390/s19204356

[c19.2] S. Bosse, D. Lehmhus, Robust detection of hidden material damages using low-cost external sensors and Machine Learning, 6th International Electronic Conference on Sensors and Applications (ECSA), 15-30 Nov. 2019, MDPI

[c18.3] S. Bosse, M. Koerdt, A. v. Hehl, Robust and Adaptive Non Destructive Testing of Hybrids with Guided Waves and Learning Agents, 3. Internationale Konferenz Hybrid Materials and Structures 2018, 18-19.4.2018, Bremen, Germany

[c18.5] S. Bosse, Smart Micro-scale Energy Management and Energy Distribution in Decentralized Self-Powered Networks Using Multi-Agent Systems, FedCSIS Conference, 6th International Workshop on Smart Energy Networks & Multi-Agent Systems, 9-12.9.2018, Posznan, Poland, 2018

[c18.7] S. Bosse, U. Engel, Augmented Virtual Reality: Combining Crowd Sensing and Social Data Mining with Large-Scale Simulation Using Mobile Agents for Future Smart Cities. Proceedings, Volume 4, ECSA-5 5th International Electronic Conference on Sensors and Applications 15–30 November, 2018 DOI 10.3390/ecsa-5-05762

[j17.1] S. Bosse, Incremental Distributed Learning with JavaScript Agents for Earthquake and Disaster Monitoring, International Journal of Distributed Systems and Technologies (IJDST), (2017), IGI-Global, Vol. 8, Issue 4, DOI: 10.4018/IJDST.2017100103

[c17.2] S. Bosse, E. Pournaras, An Ubiquitous Multi-Agent Mobile Platform for Distributed Crowd Sensing and Social Mining, FiCloud 2017: The 5th International Conference on Future Internet of Things and Cloud, Aug 21, 2017 - Aug 23, 2017, Prague, Czech Republic

SEJAM2