Page 112 -
P. 112
ChaptEr 7
AGENT-ORIENTED INFORMATION SYSTEMS
ANALYSIS AND DESIGN
Why and How
paolo giorgini, manuEl kolp, and John mylopoulos
Abstract: We argue that emerging application areas such as e-business, peer-to-peer and ubiqui-
tous computing require new software development paradigms that support open, distributed, and
evolving architectures, such as agent-oriented software. We then sketch the Tropos methodology
for agent-oriented software development and compare it with other proposals.
Keywords: Agent-Oriented Software Engineering, Agents and Multi-Agent Systems
INTRODUCTION
Information systems (hereafter IS) analysis and design techniques have been taught and practiced
since the 1970s to support the development of IS around the globe. These techniques were founded
on seminal proposals for expressive languages that model the content of databases and the require-
ments for software systems. For databases, Peter Chen’s entity-relationship model (Chen, 1976)
stood out among many proposals for semantic data models, and became a de facto standard for
designing databases in research and practice. For software, Douglas Ross’s structured analysis
and design technique (SADT) (Ross, 1977) founded the research area known as requirements en-
gineering and influenced software development practice through a number of follow-up proposals
for modeling languages, including data flow diagrams (DFDs). The growing influence of object-
oriented software development techniques in the 1980s led to a wide range of new proposals for
modeling languages founded on the primitive notions of object, class, inheritance, and method
(e.g., Rumbaugh et al. 1991). These techniques were consolidated by Rational Inc. and the Three
Amigos (Booch, Rumbaugh, and Jacobson, 1999) in the mid-1990s into the Unified Modeling
Language (UML). UML is the first-ever modeling language standard for software development.
Its arrival has meant ever-wider recognition and use for analysis and design techniques in both
academia and industry.
But not only IS analysis and design techniques have evolved over the past thirty years. The
nature of the information systems we build has changed profoundly as well. Information sys-
tems in the 1970s were monolithic software towers (running on monolithic hardware towers)
operating in isolation to serve a whole organization. For the past fifteen years, IS have become
distributed, based on client-server and web-driven architectures. Moreover, these architectures
97