Goal-Driven Agent-Oriented Software Processes
- ISSN: 10896503
- ISBN: 0769525946
- DOI: 10.1109/EUROMICRO.2006.39
Abstract
The quality of software processes is acknowledged as a critical factor for delivering quality software systems. Any initiative for improving the quality of software processes requires their explicit representation and management. A current representational metaphor for systems is agent orientation, which has become one of the recently recognized engineering paradigms. In this article, we argue for the convenience of representing the software process using an agent-oriented language to model it and a goal-driven procedure to design it. Particularly we propose using the i framework which is both an agent- and a goal-oriented modeling language. We review the possibilities of i as a software process modeling language, and we also show how success factors can be made explicit in i representations of the software processes. Finally, we illustrate the approach with an example based on the development of a set of ergonomic and safety software tools
Goal-Driven Agent-Oriented Software Processes
Carlos Cares
Llenguatges i Sistemes Informatics Dept.
Technical University of Catalonia, Barcelona,
Spain, and Ingeniería de Sistemas Dept.,
University of La Frontera, Temuco, Chile
ccares@lsi.upc.edu
Xavier Franch
Llenguatges i Sistemes Informatics Dept.
Technical University of Catalonia,
Barcelona, Spain
franch@lsi.upc.edu
Enric Mayol
Llenguatges i Sistemes Informatics Dept.
Technical University of Catalonia, Barcelona,
Spain
mayol@lsi.upc.edu
Enrique Alvarez
Ergonomic and Prevention Center (CEP)
Technical University of Catalonia,
Barcelona, Spain
enrique.alvarez@upc.edu
Abstract
The quality of software processes is acknowledged
as a critical factor for delivering quality software
systems. Any initiative for improving the quality of
software processes requires their explicit
representation and management. A current
representational metaphor for systems is agent
orientation, which has become one of the recently
recognized engineering paradigms. In this article we
argue for the convenience of representing the software
process using an agent-oriented language to model it
and a goal-driven procedure to design it. Particularly
we propose using the i* framework which is both an
agent- and a goal-oriented modeling language. We
review the possibilities of i* as a software process
modeling language, and we also show how success
factors can be made explicit in i* representations of
the software processes. Finally, we illustrate the
approach with an example based on the development
of a set of ergonomic and safety software tools.
1. Introduction
Software Process Improvement (SPI) has always
been a permanent concern in software engineering
research because following an adequate software
process is acknowledged as a critical factor for
delivering quality software systems. The design or re-
design of software processes requires a representational
model of them. Thus many ways to model them have
been proposed: from highly detailed process-oriented
modeling languages [1] to a simple sequence of
activities. A main topic of research on software
processes has focused on detecting and testing the
critical success factors for SPI [2-5].
On the other hand, agent orientation is an emergent
paradigm in software engineering. It has been
recognized as a mainstream research area and there are
many scholars that consider it “the” new paradigm in
software engineering [6-9]. In the last few years,
several agent-oriented software engineering
methodologies have been proposed, such as:
Prometheus, Gaia, Tropos, Roadmap and MaSE among
others. A comparative analysis can be found in [10-12].
In these studies Tropos [13] is frequently considered to
be in the group of the most relevant agent-oriented
software methodologies. i* [14] is the modeling
language of Tropos and throughout its evolution it has
included constructs for the classical concepts of both
goal and agent orientation, namely: goal, actor, agent,
role, task, belief, social dependency and commitment,
among others.
In spite of the existence of these methodologies and
the novelty of the paradigm, in [10] it is showed that all
of these methodologies adjust their process models to
classical software processes such as: waterfall,
evolutionary, spiral and transformational. If we
consider that a software methodology can be
characterized by a modeling language and the software
process [15], this observation leads us to say that the
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime


