(based on the questionnaire's responses), agentTool
can be used as a diagram editor, a design
consistency checker, code generator and automatic
tester. They also revealed that agentTool has been
downloaded and used by many people in academia
as well as industry and government. The tools
supporting Prometheus, PDT and JDE, also provide
a similar range of functionalities. PDT supports for
drawing diagrams, checking model and design
consistency, and generating reports. JDE (Jack
Development Environment) can be used a design
tool to build the structure of an agent system in
which the concepts provided by JACK match the
artifacts constructed in Prometheus' detailed design
phase. Tropos has only weak tool support (a diagram
editor) whereas there is no tool support for Gaia that
we are aware of. Although we attempted to
determine how much "real" use (as opposed to
student projects, demonstrators etc.) had been made
of each methodology, it was not clear from the
responses to what extent each methodology had been
used, who had used the methodology, and what it
had been used for. Nevertheless, to our knowledge,
MaSE was used to design a team of autonomous,
heterogeneous search and rescue robots (Scott et al.
2002). Tropos was used to develop a web-based
broker of cultural information and services for the
government of Trentino, Italy (Bresciani et al. 2002)
and an electronic system called Single Assessment
Process to deliver an integrated assessment of health
and social care needs for older people (Mouratidis et
al. 2002 ). Domain applicability: The respondents
tended to agree that there is no limitation to the
application domains where one of the four agent-
oriented methodologies can be applied.
6.9 Management
Cost Estimation- None of the methodologies seem to
address cost estimating guidelines. Management
Decision- None of the methodologies seem to
address management decision, Although one
respondent indicated that Tropos provides some
support for decision making by management, e.g.
when to move between phases, we do not agree with
this assessment.
7 CONCLUSION AND FUTURE
WORKS
One of the most fundamental obstacles to large scale
take-up of agent technology is the lack of mature
software development methodologies for agent-
based systems. Even though many Agent Oriented
Software Engineering (AOSE) methodologies have
been proposed, few are mature or described in
sufficient detail to be of real use. An important step
towards a complete unique methodology is to
understand the differences between the various key
methodologies, and to understand each
methodology's strengths, weaknesses, and domains
of applicability.
In this paper, we use a new statistical approach,
based on adopting the incomplete block design
model to evaluate the four AOSE methodologies.
Overall, all four methodologies provide a reasonable
support for autonomy, mental attitudes, pro-
activeness, and reactive ness. The notation of the
four methodologies is generally good. Most of them
have a strong modeling language in terms of
satisfying various criteria such as clarity and
understandability, adequacy and expressiveness,
ease of use, and unambiguity. However, there are
several exceptions. Tropos was not perceived as
being easy to use whilst GAIA was both ranked
weakly on adequacy and expressiveness. In addition,
only Prometheus and MaSE provide techniques and
tools for maintaining the consistency and traceability
between models. For the other two methodologies,
there is still more room for improvement with
respect to these issues. It is also emphasized that
none of the evaluated methodologies explicitly
provide techniques, guidelines, or models to
encourage the design of reusable components or the
reuse of existing components. Regarding the
process, only Prometheus and MaSE provide
examples and heuristics to assist developers from
requirements gathering to detailed design. Gaia was
not support detailed design. Additionally, even
though all phases from early requirements to
implementation are mentioned in Tropos with
examples given, the methodology does not appear to
provide heuristics for any phase. Implementation,
testing/debugging and maintenance are not clearly
well-supported by any methodology.
Additionally, some important software
engineering issues such as quality assurance,
estimating guidelines, and supporting management
decisions are not supported by any of the
methodologies.
As agent-oriented methodologies continue to be
developed, research will keep aiming at the direction
of determining which agent-oriented methodologies
are best suited to support the development of a
particular project or system. Hence, there are various
future works that can be done in this area.
ENASE 2007 - International Conference on Evaluation on Novel Approaches to Software Engineering
64