|
|
Semantic Agent Programming Language (S-APL) |
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.

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
Ubiware Platform version 1.2 (11.09.2008)
The JADE library is included into the distribution.
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).
Comments, bug reports, etc. please send to artem.katasonov@jyu.fi