Information Technology Reference
In-Depth Information
Agent Factory: A Framework for Prototyping
Logic-Based AOP Languages
Sean Russell 1 , Howell Jordan 2 , Gregory M.P. O'Hare 1 , and Rem W. Collier 1
1 CLARITY: Centre for Sensor Web Technologies, University College Dublin, Ireland
2 Lero - The Irish Software Engineering Research Centre, University of Limerick, Ireland
Abstract. Recent years have seen the emergence of a number of AOP languages.
While these can mostly be characterized as logic-oriented languages that map sit-
uations to courses of action, they are based on a variety of concepts, resulting
in obvious differences in syntax and semantics. Less obviously, the development
tools and infrastructure - such as environment integration, reuse mechanisms, de-
bugging, and IDE integration - surrounding these languages also vary widely.
Two drawbacks of this diversity are: a perceived lack of transferability of knowl-
edge and expertise between languages; and a potential obscuring of the funda-
mental conceptual differences between languages. These drawbacks can impact
on both the languages' uptake and comparability.
In this paper, we present a Common Language Framework that has emerged
out of ongoing work on AOP languages that have been deployed through Agent
Factory. This framework consists of a set of pre-written components for build-
ing agent interpreters, together with a set of tools that can be easily adapted to
different AOP languages. Through this framework we have been able to rapidly
prototype a range of different AOP languages, one of which is presented as a case
study in this paper.
1
Introduction
The last 10 years has seen the emergence of a number of logic-based Agent-Oriented
Programming (AOP) languages, such as 3APL [5], Jason/AgentSpeak [2,10], GOAL
[8], and AFAPL2 [3]. A common criticism of these languages is the associated learning
curve, which is often compounded by the lack of supporting tools that facilitate develop-
ment, deployment and debugging. While some languages do offer reasonable levels of
tool support, a secondary criticism is often that there is such cross-language diversity in
this tool support that it can be difficult to transfer experience between languages. For ex-
ample, a developer who learns to program Jason agents may not be able to easily apply
their experience to learn how to program in AFAPL2. This issue was demonstrated at a
recent Agent-Oriented Software Engineering course held in University College Dublin,
in which around 40 students (all professional software engineers with 5+ years industry
experience) enrolled in the Advanced Software Engineering Masters programme were
asked to develop agent systems using both Jason and AFAPL2. The main criticism
raised by the students arose not in understanding the different language concepts, but
in the diversity of the supporting machinery. For example, in AFAPL2, students were
required to develop perceptors, actuators, modules, and platform services to link the
 
Search WWH ::




Custom Search