Technical Reports on Agents
Real-world applications are usually characterized by heterogeneous
distributed
entities that interact following complex coordination protocols
and that dynamically and autonomously modify their strategies
during this interaction;
these systems are extremely difficult to model and implement, and
traditional software engineering tools and techniques are often
insufficient to cope with this complexity.
For this reason a new software engineering paradigm, the
Agent-Oriented Software Engineering (AOSE) has joined, over the
past ten years, more traditional approaches.
AOSE analyzes and designs
systems based on the key abstraction of the agent, an autonomous
entity situated in some environment, able to perceive the environment
itself and to react to changes occurring in it, able to take the
initiative when appropriate and capable of communication with
other agents in the system.
Different approaches have been studied to engineer multi-agent
systems (MAS), comprising
structured but non-mathematical methodologies as well as logic-based
ones. ARPEGGIO, an ongoing software engineering
international project
involving logic programming groups from USA, Australia and Italy,
is designing a logic-based prototyping environment for
engineering this kind of complex applications using
mainly (but not only) logic-based languages.
The focus of this thesis is thus on multi-agent system development
environments which use logic-based approaches to specification and
implementation. Our contribution is three-fold:
1. We have described many informal and
formal approaches to AOSE, with particular attention to the
last ones. We have analyzed different kinds of logics and, for
each of them, we have provided the description and an example of use of one
agent specification languages based on it.
2. We have analyzed some existing MAS Development Kits (MASDKs)
to understand which
engineering approach, if any, is more commonly adopted and which could
be the desiderata for a more powerful environment as
ARPEGGIO aims to become. We have compared
and drawn a taxonomy of five MASDKs and we have
provided rules of thumb to chose the right MASDK to do the right thing.
3. Finally, we have designed the extension of two logic-based MASDKs,
IMPACT and CaseLP, with new capabilities.
IMPACT has been extended to deal with errors
(IMPACT error-tolerant agents), and CaseLP has been extended to become a
multi-language distributed environment which could integrate,
in the future, the IMPACT specification language,
thus taking a first concrete step towards ARPEGGIO's development.
The compressed postscript version of this report is available through anonymous ftp
at ftp.disi.unige.it, in
/pub/person/MascardiV/Tesi/mythesis.ps.gz (1180320 Bytes).
The uncompressed pdf version of this report is available through anonymous ftp
at ftp.disi.unige.it, in
/pub/person/MascardiV/Tesi/mythesis.pdf (1712836 Bytes).
@phdthesis{MascardiPhdThesis02,
author = {V. Mascardi},
title = {Logic-Based Specification Environments for Multi-Agent Systems},
year = {2002},
school = {Computer Science Department of Genova University},
address = {Genova, Italy},
note = {DISI-TH-2002-04. Downloadable from
\url{ftp://ftp.disi.unige.it/person/MascardiV/Tesi/mythesis.ps.gz}}}
Intelligent agents and multi-agent systems are increasingly recognized as an
innovative way of analyzing, designing and implementing complex, heterogeneous
and distributed software applications. The agent-based view offers a powerful
and high level conceptualization that software engineers can exploit to
considerably improve the way in which software is realized. Agent-based
software engineering is a recent and very interesting research area. Due to its
novelty, in this field there is still no evidence of well-established practices
for the development of agent-based applications and thus experimentation in this
direction is a very important issue.
This dissertation presents CaseLP (Complex Applications Specification
Environment based on Logic Programming), an experimental environment based on
logic programming for rapid prototyping of agent-based software applications.
CaseLP provides developers with a prototyping method and a set of tools and
languages which allow the realization of an executable prototype of a software
application as a society of interacting agents.
A prototype is built along three dimensions: task organization, knowledge
organization and interaction organization. Task organization concerns the
specification of tasks performed by the prototype, the distribution of tasks
among agents, the services that agents provide and request to accomplish their
tasks and how they behave in order to execute their services. CaseLP provides
tools for task organization: an architectural description language is adopted
to describe the prototype in terms of agents classes, instances, their provided
and required services, and their communication links. Knowledge organization
concerns the description of knowledge that agents manipulate and use to properly
behave. Ontologies are used in CaseLP to explicitly structure the
knowledge on the prototype's application domain, as well as to unambiguously
describe characteristics and properties of agents. A rule-based language is
used to define procedural knowledge of reactive and/or proactive agents.
Interaction organization concerns the way agents interact with each other. A
tool for conversation description is used in CaseLP to define the sequences
of messages that are exchanged to provide any service, and the hierarchical
relationships among sequences. Prototypes are implemented in an extended
Prolog-like language. Visualization and simulation tools are included in
CaseLP to visualize and trace a prototype execution and to collect statistics
on it.
The dissertation also investigates the use of high level specification
languages to describe sophisticated agent architectures and multi-agent
systems. A linear logic language is used to specify a BDI architecture. An
imperative language for the specification of heterogeneous agent architectures
is presented and discussed.
The research on CaseLP has been undertaken with two main objectives. Our
first goal was showing that logic programming facilitates the realization of an
environment for the (semi) formal development of agent-based prototypes. The
second goal was to demonstrate that such an environment can be effectively used
for the rapid prototyping of complex real-world software applications. We argue
that CaseLP is a good example of how the first goal can be satisfied; the
prototyping, in CaseLP, of some real-world case-studies is the demonstration of
the applicability of our environment. In particular, the dissertation presents
in details KICKER, a prototype for a decision support system to be used by
European traffic operators in the management of freight trains movements
between inter-modal centres and yards. KICKER is a project in co-operation
between the Information Systems Division of Italian Railways (FS S.p.A.) and
the Computer Science Department at the University of Genova, Italy.
The compressed postscript version of this report is available through anonymous ftp
at ftp.disi.unige.it, in
/pub/person/MascardiV/Tesi/ZiniThesis.ps.gz.
@phdthesis{ZiniPhdThesis01,
author = {F. Zini},
title = {CaseLP, a Rapid Prototyping Environment for Agent-Based Software},
year = {2001},
school = {Computer Science Department of Genova University},
address = {Genova, Italy},
note = {DISI-TH-2001-03. Downloadable from
\url{ftp://ftp.disi.unige.it/person/MascardiV/Tesi/ZiniThesis.ps.gz}}}
Back to the LP Group's home page
Please send suggestions and comments to:
Viviana Mascardi mascardi@disi.unige.it
Last Updated: May 23, 2003
|