Agentenorientierte Programmierung

Agentenorientierte Programmierung ist eine Art der Programmierung, die auf der Theorie der agentenorientierten Paradigmen von Yoav Shoham basiert, und hauptsächlich in der deklarativen Programmiersprache PROLOG angewendet wurde.

1993 hat Shoham agentenorientierte Paradigmen veröffentlicht, die auf so genannten „mentalen Zuständen“ (Mental States) basieren, womit der innere, d. h. von außen nicht sichtbare Zustand von Softwareagenten gemeint ist. Eine formale Sprache beschreibt die Mental States, die durch Annahmen (Beliefs) und Verpflichtungen (Commitments) bestimmt werden.

  • Handlungen (Actions) werden beschrieben. Z. B. REQUEST, INFORM
  • Beliefs sind Annahmen, die der Agent über seine Umwelt hat, also sämtliche Daten, die ihm zur Verfügung stehen.
  • Commitments sind Zusicherungen, die der Agent seiner Umwelt (andere Agenten) gibt. Sie besagen, dass wenn der Agent eine bestimmte Nachricht empfängt während er sich in einem bestimmten mentalen Zustand befindet, er eine bestimmte Aktion ausführt.
  • Herkömmliche Programme werden in einen Wrapper gehüllt, um sie als Agenten betrachten zu können. Shoham spricht von „Agentifizierung“ (Agentification).
  • Es wird eine zeitpunktbasierte Temporale Logik verwendet.

Spezielle Programmiersprachen zur agentenorientierten Programmierung

  • 3APL
  • AgentSpeak(L)
  • ConGolog
  • LALO
  • PLACA ist eine Weiterentwicklung der eher theoretischen Sprache AGENT-0. PLACA wurde an der Stanford University in Kalifornien von Sarah Rebecca Thomas entwickelt. Im Gegensatz zu AGENT-0 hat PLACA den Vorteil, dass nicht nur Anfragen von anderen Agenten beantwortet werden können und Anfragen an andere Agenten gerichtet werden können, sondern in PLACA auch direkte Mechanismen vorhanden sind, um ein Ziel zu verfolgen und mehrere Aktionen hintereinander auszuführen, um ein Ziel zu erreichen. Jeder Agent in PLACA besitzt eine geordnete Liste mit Intentionen (Ziel) und eine geordnete Liste mit Plänen. Um diese Listen zu verwalten hat PLACA folgende syntaktische Struktur:
    • (INTEND x) – Der PLACA Agent versucht die Aussage y wahr zu machen. Daher wird x zur Liste der Intentionen hinzugefügt.
    • (ADOPT x) – Fügt die Intention bzw. den Plan zur Liste der Intentionen bzw. Pläne hinzu
    • (Drop x) – Löscht die Intentionen x bzw. den Plan x aus der Liste der Intentionen bzw. Pläne
    • (CAN-DO x) – Der Agent meldet, dass er die Aktion x ausführen kann.
  • CAROL5 wurde in C++ implementiert, um Gruppenlernsysteme (social learning systems) zu implementieren

Literatur

  • Yoav Shoham: Agent-Oriented Programming. Artificial Intelligence 60 (1993) 51-92, Stanford, CA, USA
  • Yoav Shoham: An overview of agent-oriented programming. MIT Press, Cambridge, MA, USA 1997, ISBN 0-262-52234-9
  • Matthew A. Huntbach, Graem A. Ringwood: Agent-Oriented Programming. Springer, Berlin 1999, ISBN 3540666834

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Agentenorientierte Softwareentwicklung — (AOSE) (engl. Agent Oriented Software Engineering) beschreibt die ingenieursmäßige Herstellung von Software Agenten und Multiagentensystemen, hauptsächlich unter Verwendung von Methoden und Techniken der Softwaretechnik und der verteilten… …   Deutsch Wikipedia

  • Programmierparadigma — Ein Programmierparadigma ist ein fundamentaler Programmierstil.[1] Programmierparadigmen unterscheiden sich durch ihre Konzepte für die Repräsentation von statischen (wie beispielsweise Objekte, Methoden, Variablen, Konstanten) und dynamischen… …   Deutsch Wikipedia

  • Agenten-Programmiersprache — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Agentenorientierte Programmierung ist eine Art der Programmierung,… …   Deutsch Wikipedia

  • Programmierwettbewerb — In einem Programmierwettbewerb wird eine Aufgabe gestellt, die mittels eines Computerprogrammes zu lösen ist. Die eingereichten Programme (die Wettbewerbsbeiträge) werden von den teilnehmenden Programmierern i. d. R. speziell für den… …   Deutsch Wikipedia

  • Java Agent Development Framework — JADE Paradigmen: Agentenorientierte Programmierung Aktuelle Version: 4.1  (13. Juli 2011) Betriebssystem: Windows, Linux, Mac OS X, Solaris …   Deutsch Wikipedia

  • Multi-Agent Programming Contest — Der Multi Agent Programming Contest ist ein jährlich stattfindender, internationaler Programmierwettbewerb, der zum Ziel hat, die Erforschung der Bereiche Multiagentensysteme, Multi Agenten Simulation, Software Agenten und der Programmierung zu… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”