Standardisierung


... [ Seminar "Mobile Agenten" ] ...[ Inhaltsverzeichnis ] ... [ zurück ] ... [ weiter ] ...

Übersicht


Ein anderer Punkt um Agentenaktivität auch zwischen heterogenen Systemen zu ermöglichen stellen die verschiedenen Standardisierungsversuche dar. Zahlreiche Agentensystem-Typen existieren, doch deren Möglichkeit untereinander zu interoperieren ist nur begrenzt, meistens sogar gänzlich ausgeschlossen.

Die beiden entscheidenden technischen Aspekte von Interoperabilität stellen dabei die Methodik zur Kommunikation und zum Transport dar.


[ nach oben ]

FIPA

Die Foundation of Intelligent Phisical Agents (FIPA) ist eine nicht-gewinnorientierte Organisation die von z.Z. 24 Unternehmen gebildet wird und die sich seit 1997 mit der Standardisierung von Software Agenten beschäftigt.

Grundsätzlich hat die FIPA neben der weitmächtigeren OMG, nur insofern Bedeutung, als dass sie einen Bereich betrachtet, den die OMG komplett auslässt: die Kommunikation zwischen Agenten. Hierzu definiert sie eine eigene Agenten Kommunikations Sprache (FIPA-ACL).

FIPA-ACL

ACL), betrachtet diese jedoch in weit allgemeinerer Form und erlaubt so z.B. die Einbindung verschiedener Formen zur Wissensrepräsentationen.

Wichtige Bestandteile der FIPA-ACL sind:

Ontologien   Legen den Bezug eines Begriffs eindeutig fest. So kann der Begriff „Kohl“ sowohl in den Ontologien Agrarwirtschaft, wie Politik vorkommen.
Sprechakte   Innerhalb der FIPA-ACL sind 24 Grammatiken definiert, die einen bestimmten Kommunikationsverlauf festlegen. So legt beispielsweise der Sprechakt „Information“ eindeutig fest, das der Absender eine Frage stellt und von dem Empfänger darauf eine bestimmte Antwort erwartet. Sicherlich relativ trivial, dennoch aber unbedingt erforderlich.

Wissens-
repräsentations-
Sprachen

  Die Darstellung von Informationen (Wissen), wie also z.B. mitgeteilt wird, dass es gerade in Hamburg regnet, wird über sogenannte Wissensrepräsentationssprachen dargestellt. FIPA unterstützt hier gleich einen ganzen Satz solcher Sprachen (z.B. KIF,,FIPA-SL,CCL), die dies in unterschiedlicher Syntax tun.

Beispiel FIPA-ACL Sprechakt:

Bob möchte von Scott wissen, wie das Wetter bei ihm ist ist. Scott antwortet, dass es bei ihm regnet:

(inform
:sender (agent-identifier :name Scott)
:receiver (set (agent-identifier :name Bob))
:content („weather(today,raining)”)
:language Prolog
:ontology weather)


inform   Der Sprechakt inform definiert Anfrage/Antwort-Schema
content   Wissensrepräsentation (hier in FIPA-SL)
ontology   Kontext in dem diese Anfrage steht (hier: wetter)


MASIF

Vom OMG Entwickelt, dass mit seinen über 800 beteiligten Unternehmen auch. für Standards wie Corba oder UML verantwortlich ist, besitzt die Mobile Agent System Interoperability Facilities Spezifikation (z.B. KIF), eine weit höhere Bedeutung und Durchsetzungsfähigkeit als die Vorschläge der FIPA.

Jedoch bezieht sich MASIF hauptsächlich auf das Agenten-Management und vernachlässigt den Bereich Kommunikation vollständig, so dass sich beide Standards hier ergäntzen lassen.

Wesentliche Bestandteile von MASIF sind:

[ nach oben ]

MASIF Terminologie

Autoritäten (authorities)

  Besitzer, der für Agent und Agentensystem existieren muss
Plätze (places)  

Bezeichnet den Kontext, in dem sich einzelne Agenten befinden. Mehrere Agenten können sich innerhalb eines Platzes aufhalten von denen wiederum mehrere innerhalb eines Agentensystems existieren können. Agenten werden über Plätzen dann etwa bestimmte Rechte und Ressourcen zugewiesen.

Agentensystem   wie besprochen, jedoch mit der Anmerkung dass auch mehrere Systeme auf einem Host bestehen können.
Regionen   Mehrere Agentensysteme der gleichen Autorität
Agenten Profile   Definiert die (Migrations-) Kompatibilität zweier Agentensysteme. Maßgebliche Parameter hierfür sind Agentensystemtyp + Serialisierungsmethode

Kommunikations-
Infrastruktur

  Bezeichnet den Kommunikationskanal (Schnittstellen+ Infrastruktur Protokolle) über den zwei Agentensysteme miteinander kommunizieren
Location   Dient zur konkreten Adressierung eines Agenten. Bestandteile hierfür sind Agentensystem + Platz + Agenten-Identifikation

[ nach oben ]

MASIF Architektur

Interoperabilität stellt ein MASIF-konformes System maßgeblich durch den Einsatz von Corba sicher – welches ebenfalls von der OMG standardisiert wurde.

Hintergrund Corba

Corba entspricht grundsätzlich der Remote Evaluation Architektur (vgl. Kapitel 1). Entgegen anderer Architekturen, ist Corba unabhängig von Plattform- und Implementierung einsetzbar. So wird beispielsweise ermöglicht, dass ein C++-Programm unter Windows über Corba, Java-Methoden unter Unix aufrufen kann.


Gewährleistet wird dies durch drei Bestandteile:

Die Integrierung von Corba in MASIF findet auf Anwendungssicht durch zwei IDL-Schnittstellen statt:

MAFAgentSystem

  wird vom korrekten Agentensystem eingebunden und stellt entsprechende Transport-Funktionalitäten, u.a. zum Erstellen und Versenden von Agenten bereit
MAFFinder  

definiert eine Form von Registrierungsdienst, über den sich Agenten registrieren, abmelden und von externen Diensten lokalisiert werden können. Dabei muss nicht jedes Agentensystem ein solchen Dienst anbieten, MASIF sieht hier einen pro Region vor

Der konkrete Migrationsablauf, der hierdurch entsteht lässt sich wie folgt beschreiben:



1) Agent A stellt Migrationsanfrage an sein Agenten-System (A)
2) System A stellt Migrationsanfrage (Profil, Klassenliste) an System B
3) Wenn System B Profil unterstützt:
- (Stoppen von Agent A durch System A)
- Abrufen der Agenten-Klassen über System A
4) (Starten von Agent A auf System B)
5) Umregistrierung des Agenten bei MAFFinder 1+2

[ nach oben ]

Grenzen bestehender Standards

Agenten

Definiert MAFO noch relativ genau, die Funktionsweise eines Agentensystems und wie etwa ein Agententransport auszusehen hat, so schweigt es sich doch vollständig darüber aus, wie nun konkret beispielsweise ein Voyager-Agent auf einem Aglet-System migrieren und ausgeführt werden kann.

Eine hierfür nötige Agenten-Spezifikation fehlt nämlich gänzlich. Eine Gruppe der Universität München [vgl Kemtper2001] hat beim Versuch ein MAFO-konformes Agentensystem zu entwickeln dies schließlich durch agentensystem-spezifische Gateways (am Beispiel Voyager) umgangen [vgl. MAF]. Eine praktizierbare Lösung steht hier somit immer noch aus.

Sicherheit

Standards regeln ebenfalls nicht, wie die Sicherheit von Agenten und Agenten–Systemen sichergestellt werden kann. Möglich wäre dies etwa, könnten ein Agent vom Agentensystem bestimmte Sicherheitskriterien zugesichert bekommen (und umgekehrt). Eine vertrauenswürdige Zertifizierungsstelle müsse in einem solchen Fall zudem für die Glaubwürdigkeit des Systems oder eines Agenten garantieren können.

Anwendung

Zur Erstellung eines Mobilen Agenten, etwa für eine Datenbank-Recherche, muss weiterhin festgelegt sein, welche Funktionen dieser auf einem fremden System dazu aufrufen kann (z.B. findAuthor() oder findAllWords()). Entsprechende anwendungsspezifische Schnittstellen werden hier benötigt.

[ nach oben ]


... [ Seminar "Mobile Agenten" ] ...[ Inhaltsverzeichnis ] ... [ zurück ] ... [ weiter ] ...