Semantic Agent Programming Language (S-APL)

What it is:

Semantic Agent Programming Language (S-APL) is a language for development of software agents and multi-agent systems. S-APL is based on the Resource Description Framework (RDF) of W3C and integrates the semantic description of domain resources with the semantic prescription of the agents' behaviors. In S-APL, there is no strict separation between the data (descriptive knowledge) and program code (behavioral knowledge). S-APL is assumed to be used both as the programming language and an agent communication content language. The syntax for RDF used in S-APL is one of Notation3 (N3), which is more compact than RDF/XML.

S-APL is a hybrid of semantic rule-based reasoning engines such as CWM and agent programming languages (APLs) such as AgentSpeak or AgentFactory APL. From the semantic reasoning point of view, S-APL is CWM extended with common APL features such as the Beliefs-Desires-Intentions architecture, which implies an ability to describe goals and commitments - data items presence of which leads to some executable behavior, and an ability to link to sensors and actuators implemented in a procedural language, namely Java. From the APL point of view, S-APL is a language that has all the features (and more) of a common APL, while being RDF-based and thus providing advantages of semantic data model and reasoning.

The implementation of S-APL is built on the top of the Java Agent Development Framework (JADE). JADE provides a reliable FIPA-compliant middleware to manage agents' life-cycles, agent communication, and agent discovery. S-APL then introduces the semantic cognitive agent architecture presented below, which has three layers: the top-level Behavior Engine, the middle-level S-APL storage, and the bottom-level Reusable Atomic Behaviors (RABs) and the blackboard (for non-semantic data). The architecture also enables agents to access both S-APL programs/data and RABs from remote repositories.

S-APL is an ongoing effort in the UBIWARE research project.

Publications:

Semantic Agent Programming Language (S-APL) Developer's Guide

 

Katasonov A. and Terziyan V. (2008) Semantic Agent Programming Language (S-APL): A Middleware Platform for the Semantic Web. In: Proc. 2nd IEEE International Conference on Semantic Computing (ICSC'08), August 4-7, 2008, Santa Clara, USA © IEEE, pp.504-511
!
Access here (IEEE Xplore)
>
Abstract

Slides for the talk at ICSC 2008

 

Download platform:

Ubiware Platform version 1.2   (11.09.2008)

The JADE library is included into the distribution.

 

Suggested development environment:

For authoring S-APL, we suggest using JEdit.

In the jedit folder of the Ubiware distribution, there can be found syntax highlight files (put into modes folder of JEdit).

 

Contacts:

Comments, bug reports, etc. please send to artem.katasonov@jyu.fi