Mobile Agents
                             SWAT - Gruppe 1
                                 Pascal Eigenmann
                                   Gabriela Caduff
                                 Surasak Liewvanich
                                    Christian Näf

                                       2013



www.fhsg.ch/praxisprojekte                            1
Inhalt

•   Modelle der elektronischen Datenverarbeitung
•   Software-Agent Definition
•   Eigenschaften von Software-Agenten
•   Unterschied Mobile Agents zu Software Agents
•   Abgrenzung
•   Aufbau von Agentensystemen
•   Standards
•   Sicherheitsrelevante Aspekte
•   Potenzial, Machbarkeit, Grenzen



                                                   2
Mainframe - Terminals




                        3
Client - Server




                  4
Distributed Computing




                        5
Mobile Agents




                6
Software-Agent Definition

Als Software-Agent bezeichnet man ein
Computerprogramm, das zu gewissem eigenständigem und
eigendynamischem Verhalten fähig ist. Das bedeutet, dass
abhängig von verschiedenen Zuständen (Status) ein
bestimmter Verarbeitungsvorgang abläuft, ohne dass von
außen ein weiteres Startsignal gegeben wird oder während
des Vorgangs ein äußerer Steuerungseingriff erfolgt.




                                                           7
Eigenschaften von Software-Agenten

• autonom: unabhängig von Benutzereingriffen
• kognitiv: lernfähig aufgrund vergangener Entscheidungen
• kommunikativ: Ist fähig seine Zustände seiner Umgebung
  mitzuteilen
• modal adaptiv: Ändert die eigenen Einstellungen
  (Parameter/Struktur) aufgrund eigener veränderter Zustände oder
  veränderter Zustände der Umgebung

•   proaktiv: kann Aktionen selber ausführen
•   reaktiv: reagiert auf Änderungen
•   robust: kann innere und/oder äussere Störungen kompensieren
•   sozial: kommuniziert mit anderen Agenten

                                                                    8
Unterschied Mobile Agents zu Software Agents

• Mobile Agent hat die Fähigkeit, den Ausführungsort
  selbsttätig zu wechseln/ändern




                                                       9
Abgrenzung

• Entspricht nicht dem klassischen Client-Server-Modell
• Verbindung muss nur bei Übertragungsphase stehen
• Rohdaten werden lokal auf dem Server zwischen
  Agenten und Diensten verarbeitet

 Netzbelastung wird reduziert, Reaktionszeiten
 verkürzt, Kosten werden gespart




                                                          10
Aufbau von Agentensystemen

• Agentensystem besteht aus mehreren in einem heterogenen
  Netzwerk verteilten Agentenplattformen/Agentenorte
• Agentenorte sind Ausführungsumgebungen für mobile und stationäre
  Agenten
• Ein Hostcomputer kann mehrere Agentenorte ausführen




                                                                     11
Aufbau von Agentensystemen

• Agenten interagieren flexibel miteinander, sind autonom,
  handeln reaktiv und verfolgen dabei ihre Ziele proaktiv
• Ausführungsumgebung gewährleistet folgende Punkte
  den einzelnen Agenten:
   • Ausführungszeit
   • Speicher
   • Kommunikation
      •   Agent-Agentenplattform
      •   Agent-Agent
      •   Agentenplattform-Agentenplattform
   • Unversehrtheit
   • Fehlertoleranz

                                                             12
Standards – Architektur für Systeme

• Foundation for Intelligent Physical Agents (FIPA)
   • http://www.fipa.org/




• Object Management Group - Mobile Agent System
  Interoperability Facilities (OMG – MASIF)
   • http://www.omg.org/




                                                      13
Standard FIPA




                14
Standard OMG-MASIF




                     15
Standards - Sprache

• Tool Command Language (TCL)
  • 1988 an der Universität of California
  • Version 8.6.0
  • Unix, Windows, Mac OS, Solaris

• Java
  •   1995 Sun Microsystems (seit 2012 Oracle)
  •   Version 7.0
  •   Plattformunabhängig
  •   Java Agent Development Framework (JADE)



                                                 16
Standards - Kommunikation

• Knowledge Query and Manipulation Language (KQML)
  • 1990 als Teil von DARPA knowledge Sharing Effort
  • Programmiersprache und Protokoll
  • Wissensaustausch
  • Anwendung in wissenbasierte Systeme und intelligente Agenten



• Agent Communication Language (ACL)
  • FIPA – ACL
  • Ähnlich KQML



                                                                   17
Sicherheitsrelevante Aspekte

• Agent Execution
   • Host schützen (Autorisierung, DDoS)
• Situiertheit
   • Umgebung des Agenten (Host, Internet)
• Autonomie
   • Bsp.: Kauf/Verkauf
• Kommunikation
   • Einsicht/Manipulation
   • Absender
   • Rechtzeitig

                                             18
Sicherheitsrelevante Aspekte

• Mobilität
   • Schutz vor Agenten/Hosts
• Rationalität, Wahrhaftigkeit, Güte
   • Quellen, Verantwortlichkeit, Logs
• Identifikation & Delegation
• Autorisierung & Delegation
   • Rechte
• Rechtliches
   • Vertragsabschluss



                                         19
Potenzial

Potenzial von mobilen Agenten lässt sich am einfachsten mit möglichen
Anwendungs-Szenarien darstellen:

1. Electronic Commerce: Agenten treten als Käufer, Anbieter, Verkäufer und
   Vermittler auf. So durchsucht zum Beispiel ein mobiler Agent im Auftrag des
   Users das Netz nach Angeboten und ermittelt das billigste. Idealerweise
   erfolgt sogleich der Kauf des Produkts zwischen den zwei Agenten.
   (Friedmann, ohne Datum)
2. Informationsbeschaffung: Mobile Agenten suchen in im Internet verteilten
   Datenquellen (DB-Server, Webpages, …) nach Informationen. Sie
   kommunizieren dabei mit Informationsvermittlern und Meta-Indizes und
   tauschen nach Bedarf Informationen mit anderen Suchagenten welche einen
   ähnlichen Auftrag haben. (Friedmann, ohne Datum)




                                                                             20
Potenzial

3. Unterstützung von Gruppenarbeit: Neben Aspekten wie
   Terminvereinbarung und Projektplanung, in denen mobile Agenten
   unterstützten können, stellen mobile Agenten zur Bearbeitung notwendige
   Funktionalitäten und Kontextwissen zur Verfügung. (Friedmann, ohne
   Datum)
4. Personalisierte Dienste: Mobile Agenten können von Serviceanbieter zu
   Kunden gesendet werden, um vor Ort einen Dienst zu erweitern.
   Beispielsweise könnte ein Agent Softwarekomponenten ergänzen oder Plug-
   ins für Browser installieren. (Friedmann, ohne Datum)
5. Fernwartung: Mobile Agenten können Systemkomponenten wie
   Vermittlungsinstanzen in Kommunikationsnetzen überwachen und bei
   Bedarf Reparaturmassnahmen und Diagnosen durchführen. (Friedmann,
   ohne Datum)




                                                                         21
Machbarkeit

Es werden technische und rechtliche Anforderungen an mobile Agenten gestellt:

   Agenten und User müssen lokal identifizierbar sein
   Agenten und User Identitätsinformationen müssen verwaltet werden
   Schutz und Aufspürungsmassnahmen werden benötigt um die Integrität des
   Agenten und seiner Plattform zu sichern
   Schutz und Aufspürungsmassnahmen werden benötigt um die
   Agentendaten zu sichern
   Schutz und Aufspürungsmassnahmen werden benötigt um die Daten der
   Agentenplattform zu sichern
   Schutz und Aufspürungsmassnahmen werden benötigt um die Integrität der
   Übertragungen zu sichern




                                                                            22
Machbarkeit

 Kommunikation und Handlungen von Entities müssen geloggt werden
 Agenten müssen einzigartig identifizierbar sein
 Logs müssen robust sein und dürfen aufgrund von versagenden Nodes nicht
 verschwinden
 User Privatsphäre muss respektiert werden
 Nicht autorisierter Zugriff zu Logs und administrativen Daten muss
 verhindert werden.
 Klare und rechtlich zulässige Abkommen werden benötigt




                                                                       23
Grenzen

Software Agenten stossen vor allem im Zusammenhang mit der
Konzeptionierung und Entwicklung als auch bei der Nutzung und Anwendung
an Grenzen.

  technische Machbarkeitsprobleme



  Probleme aufgrund mangelnder Akzeptanz




                                                                          24
Grenzen

Technische Machbarkeitsprobleme
Besonders relevant ist der Rahmen des Aufwandes. Selbst wenn etwas
realisierbar wäre, kann das Kosten-Nutzen-Verhältnis dieses verunmöglichen.
(Wendt, 2007)

Gewünscht wird oft ein möglichst intelligenter Agent. Dieser soll nicht nur
Wissen haben und anwenden sondern auch Neues lernen können. Lernen ist
jedoch ein komplizierter Prozess und lässt sich ab einem gewissen Rahmen nur
schwer in Software umsetzen. Deshalb wird in der Forschung aktuell weiter in
Richtung Künstliche Intelligenz geforscht. (Wendt, 2007)

Ein simpleres Problem kann in der Mobilität selbst liegen. So sollen Agenten
sich über diverse Systeme bewegen können und Ihre Aufträge ausführen.
Unterschiedliche Plattformstrukturen können die Kompatibilität der Agenten
hierbei äusserst erschweren. (Wendt, 2007)

                                                                               25
Grenzen

Probleme aufgrund mangelnder Akzeptanz
Bekannte Probleme sind übertriebene Erwartungshaltungen und schlechte
Erfahrungen von Usern. Speziell in der Erwartungshaltung können
Machbarkeitsprobleme schnell zur einer allgemeinen Ablehnungshaltung gegen
die Technologie führen. Ein zusätzliches Hindernis in Sachen Akzeptanz ist die
neue Interaktionsform zwischen Mensch und Maschine, die für etwaige User
einer Umgewöhnung bedarf. (Wendt, 2007)




                                                                                 26

Mobile Agents

  • 1.
    Mobile Agents SWAT - Gruppe 1 Pascal Eigenmann Gabriela Caduff Surasak Liewvanich Christian Näf 2013 www.fhsg.ch/praxisprojekte 1
  • 2.
    Inhalt • Modelle der elektronischen Datenverarbeitung • Software-Agent Definition • Eigenschaften von Software-Agenten • Unterschied Mobile Agents zu Software Agents • Abgrenzung • Aufbau von Agentensystemen • Standards • Sicherheitsrelevante Aspekte • Potenzial, Machbarkeit, Grenzen 2
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
    Software-Agent Definition Als Software-Agentbezeichnet man ein Computerprogramm, das zu gewissem eigenständigem und eigendynamischem Verhalten fähig ist. Das bedeutet, dass abhängig von verschiedenen Zuständen (Status) ein bestimmter Verarbeitungsvorgang abläuft, ohne dass von außen ein weiteres Startsignal gegeben wird oder während des Vorgangs ein äußerer Steuerungseingriff erfolgt. 7
  • 8.
    Eigenschaften von Software-Agenten •autonom: unabhängig von Benutzereingriffen • kognitiv: lernfähig aufgrund vergangener Entscheidungen • kommunikativ: Ist fähig seine Zustände seiner Umgebung mitzuteilen • modal adaptiv: Ändert die eigenen Einstellungen (Parameter/Struktur) aufgrund eigener veränderter Zustände oder veränderter Zustände der Umgebung • proaktiv: kann Aktionen selber ausführen • reaktiv: reagiert auf Änderungen • robust: kann innere und/oder äussere Störungen kompensieren • sozial: kommuniziert mit anderen Agenten 8
  • 9.
    Unterschied Mobile Agentszu Software Agents • Mobile Agent hat die Fähigkeit, den Ausführungsort selbsttätig zu wechseln/ändern 9
  • 10.
    Abgrenzung • Entspricht nichtdem klassischen Client-Server-Modell • Verbindung muss nur bei Übertragungsphase stehen • Rohdaten werden lokal auf dem Server zwischen Agenten und Diensten verarbeitet  Netzbelastung wird reduziert, Reaktionszeiten verkürzt, Kosten werden gespart 10
  • 11.
    Aufbau von Agentensystemen •Agentensystem besteht aus mehreren in einem heterogenen Netzwerk verteilten Agentenplattformen/Agentenorte • Agentenorte sind Ausführungsumgebungen für mobile und stationäre Agenten • Ein Hostcomputer kann mehrere Agentenorte ausführen 11
  • 12.
    Aufbau von Agentensystemen •Agenten interagieren flexibel miteinander, sind autonom, handeln reaktiv und verfolgen dabei ihre Ziele proaktiv • Ausführungsumgebung gewährleistet folgende Punkte den einzelnen Agenten: • Ausführungszeit • Speicher • Kommunikation • Agent-Agentenplattform • Agent-Agent • Agentenplattform-Agentenplattform • Unversehrtheit • Fehlertoleranz 12
  • 13.
    Standards – Architekturfür Systeme • Foundation for Intelligent Physical Agents (FIPA) • http://www.fipa.org/ • Object Management Group - Mobile Agent System Interoperability Facilities (OMG – MASIF) • http://www.omg.org/ 13
  • 14.
  • 15.
  • 16.
    Standards - Sprache •Tool Command Language (TCL) • 1988 an der Universität of California • Version 8.6.0 • Unix, Windows, Mac OS, Solaris • Java • 1995 Sun Microsystems (seit 2012 Oracle) • Version 7.0 • Plattformunabhängig • Java Agent Development Framework (JADE) 16
  • 17.
    Standards - Kommunikation •Knowledge Query and Manipulation Language (KQML) • 1990 als Teil von DARPA knowledge Sharing Effort • Programmiersprache und Protokoll • Wissensaustausch • Anwendung in wissenbasierte Systeme und intelligente Agenten • Agent Communication Language (ACL) • FIPA – ACL • Ähnlich KQML 17
  • 18.
    Sicherheitsrelevante Aspekte • AgentExecution • Host schützen (Autorisierung, DDoS) • Situiertheit • Umgebung des Agenten (Host, Internet) • Autonomie • Bsp.: Kauf/Verkauf • Kommunikation • Einsicht/Manipulation • Absender • Rechtzeitig 18
  • 19.
    Sicherheitsrelevante Aspekte • Mobilität • Schutz vor Agenten/Hosts • Rationalität, Wahrhaftigkeit, Güte • Quellen, Verantwortlichkeit, Logs • Identifikation & Delegation • Autorisierung & Delegation • Rechte • Rechtliches • Vertragsabschluss 19
  • 20.
    Potenzial Potenzial von mobilenAgenten lässt sich am einfachsten mit möglichen Anwendungs-Szenarien darstellen: 1. Electronic Commerce: Agenten treten als Käufer, Anbieter, Verkäufer und Vermittler auf. So durchsucht zum Beispiel ein mobiler Agent im Auftrag des Users das Netz nach Angeboten und ermittelt das billigste. Idealerweise erfolgt sogleich der Kauf des Produkts zwischen den zwei Agenten. (Friedmann, ohne Datum) 2. Informationsbeschaffung: Mobile Agenten suchen in im Internet verteilten Datenquellen (DB-Server, Webpages, …) nach Informationen. Sie kommunizieren dabei mit Informationsvermittlern und Meta-Indizes und tauschen nach Bedarf Informationen mit anderen Suchagenten welche einen ähnlichen Auftrag haben. (Friedmann, ohne Datum) 20
  • 21.
    Potenzial 3. Unterstützung vonGruppenarbeit: Neben Aspekten wie Terminvereinbarung und Projektplanung, in denen mobile Agenten unterstützten können, stellen mobile Agenten zur Bearbeitung notwendige Funktionalitäten und Kontextwissen zur Verfügung. (Friedmann, ohne Datum) 4. Personalisierte Dienste: Mobile Agenten können von Serviceanbieter zu Kunden gesendet werden, um vor Ort einen Dienst zu erweitern. Beispielsweise könnte ein Agent Softwarekomponenten ergänzen oder Plug- ins für Browser installieren. (Friedmann, ohne Datum) 5. Fernwartung: Mobile Agenten können Systemkomponenten wie Vermittlungsinstanzen in Kommunikationsnetzen überwachen und bei Bedarf Reparaturmassnahmen und Diagnosen durchführen. (Friedmann, ohne Datum) 21
  • 22.
    Machbarkeit Es werden technischeund rechtliche Anforderungen an mobile Agenten gestellt: Agenten und User müssen lokal identifizierbar sein Agenten und User Identitätsinformationen müssen verwaltet werden Schutz und Aufspürungsmassnahmen werden benötigt um die Integrität des Agenten und seiner Plattform zu sichern Schutz und Aufspürungsmassnahmen werden benötigt um die Agentendaten zu sichern Schutz und Aufspürungsmassnahmen werden benötigt um die Daten der Agentenplattform zu sichern Schutz und Aufspürungsmassnahmen werden benötigt um die Integrität der Übertragungen zu sichern 22
  • 23.
    Machbarkeit Kommunikation undHandlungen von Entities müssen geloggt werden Agenten müssen einzigartig identifizierbar sein Logs müssen robust sein und dürfen aufgrund von versagenden Nodes nicht verschwinden User Privatsphäre muss respektiert werden Nicht autorisierter Zugriff zu Logs und administrativen Daten muss verhindert werden. Klare und rechtlich zulässige Abkommen werden benötigt 23
  • 24.
    Grenzen Software Agenten stossenvor allem im Zusammenhang mit der Konzeptionierung und Entwicklung als auch bei der Nutzung und Anwendung an Grenzen. technische Machbarkeitsprobleme Probleme aufgrund mangelnder Akzeptanz 24
  • 25.
    Grenzen Technische Machbarkeitsprobleme Besonders relevantist der Rahmen des Aufwandes. Selbst wenn etwas realisierbar wäre, kann das Kosten-Nutzen-Verhältnis dieses verunmöglichen. (Wendt, 2007) Gewünscht wird oft ein möglichst intelligenter Agent. Dieser soll nicht nur Wissen haben und anwenden sondern auch Neues lernen können. Lernen ist jedoch ein komplizierter Prozess und lässt sich ab einem gewissen Rahmen nur schwer in Software umsetzen. Deshalb wird in der Forschung aktuell weiter in Richtung Künstliche Intelligenz geforscht. (Wendt, 2007) Ein simpleres Problem kann in der Mobilität selbst liegen. So sollen Agenten sich über diverse Systeme bewegen können und Ihre Aufträge ausführen. Unterschiedliche Plattformstrukturen können die Kompatibilität der Agenten hierbei äusserst erschweren. (Wendt, 2007) 25
  • 26.
    Grenzen Probleme aufgrund mangelnderAkzeptanz Bekannte Probleme sind übertriebene Erwartungshaltungen und schlechte Erfahrungen von Usern. Speziell in der Erwartungshaltung können Machbarkeitsprobleme schnell zur einer allgemeinen Ablehnungshaltung gegen die Technologie führen. Ein zusätzliches Hindernis in Sachen Akzeptanz ist die neue Interaktionsform zwischen Mensch und Maschine, die für etwaige User einer Umgewöhnung bedarf. (Wendt, 2007) 26