2APL

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
2APL
Paradigma Agentprogrammeertaal
Ontworpen door Intelligent Systems Group
Universiteit Utrecht
Huidige versie bèta (8 maart 2010)
Website http://www.cs.uu.nl/2apl/
Portaal  Portaalicoon   Informatica

2APL (A Practical Agent Programming Language[1]) is een agentprogrammeertaal die ontworpen is om het implementeren van multi-agentsystemen te ondersteunen. Deze programmeertaal verschaft instructies om concepten zoals beliefs, goals, events, acties, plans, en (praktische) redeneerregels direct te kunnen implementeren. De redeneerregels maken het mogelijk om tijdens de programmaexecutie plannen te genereren. 2APL kan gebruikt worden om software agenten te ontwikkelen die zowel reactief als pro-actief gedrag kunnen genereren.

Overzicht[bewerken]

Een multi-agentsysteem in 2APL bestaat uit twee componenten: een MAS-bestand (MAS staat voor Multi-Agent System) en 2APL-bestanden waarin de agenten worden gespecificeerd. In het MAS-bestand wordt aangeduid welke agenten er zijn, hoeveel van elk type en met welke omgevingen (environments) deze kunnen interageren. Deze omgevingen worden geïmplementeerd in Java.

Een 2APL-agent bestaat uit de volgende componenten:

  • Beliefs: de kennis die een agent heeft over de omgeving en agenten waarmee de agent interageert.
  • Goals: de doelen die de agent wil bereiken.
  • Basic Actions: 2APL verschaft verschillende actie soorten:
    • Belief Update Actions veranderen de kennis van een agent.
    • Communication Actions stuurt een boodschap naar een andere agent.
    • External Actions voert een actie in een omgeving uit.
    • Belief Test Actions test de kennis van een agent.
    • Goal Test Actions test de doelen van een agent.
    • Adopt Goal Actions creëert een doel voor een agent.
    • Drop Goal Actions verwijdert de doelen van een agent.
  • Plans: de reeks acties die de agent gaat uitvoeren om zijn doelen te bereiken.
  • Reasoning Rules: Drie soorten redeneerregels kunnen in 2APL voorkomen. Deze regels kunnen toegepast worden om plannen te genereren.
    • PG-rules (Planning goal): regels waarmee nieuwe plannen worden aangemaakt om doelen te bereiken.
  • PC-rules (Procedure call): regels waarmee plannen worden aangemaakt om te reageren op de ontvangen events en boodschappen.
    • PR-rules (Plan repair): regels om een plan te repareren (aan te passen) als de agent bemerkt dat een plan niet meer uitgevoerd kan worden.

Daarnaast is het mogelijk 2APL-bestanden in te voegen in een ander 2APL-bestand met Include.

Tijdens het uitvoeren hiervan doorlopen de agenten een zogeheten deliberation cycle waarin regels worden gekozen om toegepast te worden en waarin plannen stap voor stap uitgevoerd worden.

2APL Platform[bewerken]

2APL Platform en de bijbehorende Eclipse plug-in editor zijn ontwikkeld om het programmeren en executeren van multi-agent programma's te ondersteunen. De executie van een individuele 2APL agent programma gebeurt door een cyclisch sense-reason-act proces, ook deliberatie proces genoemd. De executie van een 2APL multi-agent programma is de parallelle executies van all individuele 2APL agent programma's.

The 2APL platform at work.

2APL Externe links[bewerken]

Referenties[bewerken]

  • Mehdi Dastani, 2APL: a practical agent programming language, International Journal of Autonomous Agents and Multi-Agent Systems (JAAMAS), 16(3):214-248, Special Issue on Computational Logic-based Agents, (eds.) Francesca Toni and Jamal Bentahar, 2008.
  • Mehdi Dastani and Bas Steunebrink. Operational Semantics for BDI Modules in Multi-Agent Programming. Proceedings of the tenth International Workshop on Computational Logic in Multi-Agent Systems (CLIMA-X), 2009.
  • Mehdi Dastani. Modular Rule-Based Programming in 2APL, In A. Giurca, D. Gasevic, and K.Taveter (eds.), Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches (2 Volumes), ISBN 978-1-60566-402-6, 2009.
  • Mehdi Dastani, Jaap Brandsema, Amco Dubel and John-Jules Meyer. Debugging BDI-based Multi-Agent Programs. In the proceedings of the 7th International Workshop on Programming Multi-Agent Systems (ProMAS 2009), 2009.
  1. De naam A Practical Agent Programming Language begint met de letters APAPL oftewel 2(AP)L.