Agents as a Key Concept for Information Systems Requirements Engineering
Michaël Petit, Patrick Heymans and Pierre-Yves Schobbens
Computer Science Department, University of Namur
http://www.info.fundp.ac.be/~ albert
Position Paper
This position paper discusses the necessity of a rich concept of agent
for defining the requirements of Information Systems (IS). This concept
naturally emerges as a structuring mean for complex systems. The paper
introduces some work done in the University of Namur that is based on Albert
II, a fully formal agent-oriented language targeted at the specification
of requirements. The paper also suggests that the concept of agent is a
good basis for combining several formalisms and defining reusable requirements
specifications. Work done in the context of manufacturing systems is used
to illustrate this.
1 A Natural Structuring Concept
Informations systems are being designed as parts of increasingly complex
systems. The complexity of these systems may result from their size, from
the complexity of the information they need or generate, from the complexity
of their behavior, from a long evolution,... In order to deal with this
complexity, adequate structuring mechanisms are needed. We argue that the
concept of agent is appropriate and natural to deal with the complexity
of studied systems by decomposing them in a natural way.
When doing Requirements Engineering for an IS, it is important to model
not only the ``to-be IS'' (what Jackson calls the machine [8])
but also the environment with which the machine will interact, which
exists in spite of the machine (thereby constraining the machine)
and in terms of which the requirements have to be expressed. Such an environment
description can be structured in a natural way by identifying various agents
having interactions among themselves and with the machine. The environment
can be considered as a composite system [2]
made of agents of different kinds like human beings (probably users of
the IS), existing software, computer hardware or other kinds of devices
like mechanical devices. All these agents have characteristics and behaviours
that need to be taken into account to correctly model the behaviour of
the ``to-be IS''.
The concept of agent is therefore a natural basic building block for
structuring the description of an IS and its environment. Beneficial consequences
of this structuring appear at various stages of the Requirements Engineering
process. When modelling, it is well known that structuring allows analysts,
amongst other things, to focus on some specific concerns and to distribute
the work among them. Similarly, such advantages appear at the validation
stage where a cooperative animation technique allows different people to
play the role of agents and test requirements descriptions against scenarios
(see [7]). Compositional reasoning can
also be applied on a specification structured with agents, allowing to
reason on or prove properties of some agents, by relying on conclusions
previously achieved for other agents (see [11]).
2 An Adequate Concept for Requirements
Engineering
The concept of agent can be used for engineering the software part of a
system leading to an agent-oriented software system. In this software engineering
activity, the advantages of the agent concept over other concepts like
the one of object is not obvious and may depend on the nature of the system
to be developed. Contrarily, for the requirements engineering activity,
the concept of agent seems unavoidable because of the need to model the
environment of the system and because of the natural decomposition of this
environment in terms of agents. The concept of object [9,
12], though resembling the one of agent
in some respects, lacks some properties needed when defining requirements.
In classical object-oriented modeling, communication among objects is
often simplistic with regards to the one occurring among real world entities
and is usually limited to message passing or synchronization among objects.
Communication in agent languages is usually far more developed (see e.g.
[6]) and allows for communication actions
with a higher semantical contents and agents with greater autonomy having
the capability to decide when they communicate or not.
Goals and rationales for the behaviors of agents [15,
13], of primary importance during requirements
engineering, are rarely explicitly modeled in object-oriented languages.
Moreover, certain aspects of real-world agents like non-deterministic behavior
(often characteristic of human agents) are also often hard if not impossible
to express in these languages.
All these lacks plead for a rich concept of agent to be used for the
requirements engineering activity that goes beyond the classical concept
of object as it was proposed until now.
3 Formal and Informal Agent Properties
A modeling language can have different degrees of formality, from informal
(natural language) through semi-formal (clearly defined syntax) to fully
formal (mathematically based semantics). We claim that the benefits of
a fully formal language (mainly precision and the detailed analysis it
allows) overcome its drawbacks (mainly greater effort for writing models
and lessened model readability). Therefore, the Albert II language [3]
developed in our university is a fully formal language based on a real-time
temporal logic.
However, even a very expressive formal language may be unable to express
certain aspects of the modeled system, and in early requirements engineering,
precise models may not be achievable nor desirable. Therefore, a combination
of a formal language with one or more informal or semi-formal ones is interesting.
In [14, 5],
we reported on the combination of the Albert II language with the i*
[15] semi-formal language to reach an agent
modeling framework with a better expressiveness than the one of the sole
Albert II language. In the context of modeling requirements of manufacturing
systems, we refined and extended this framework by integrating a domain
specific language called CIMOSA [1] (also
semi-formal), which proposes a rather rich set of concepts for modeling
agents (see [4, 10]).
4 A Unifying Concept
Ever since it was recognized as a natural concept to structure or design
ISs, the concept of agent has been investigated in various disciplines
like Distributed Artificial Intelligence, Software Engineering, Computer
Supported Cooperative Work, Requirements Engineering, Organizational Modeling,...
Each discipline provides specific facets of agents particularly needed
for that discipline.
The concept of agent seems to be the one that can be used to compare
or to combine different approaches. First of all, the concept of agent
can be used to describe entities uniformly, independently of their physical
nature (software, human, mechanical entities or others). If a single system
model has to represent different kinds of entities, a unique concept of
agent can be used to describe in a uniform way the conceptual interfaces
among them.
Moreover, in multi-formalisms approaches that combine strengths of several
languages, the concept of agent can be used as the central point for the
combination. As an example, consider Table 1
that compares the concepts of three independently developed languages (Albert
II, CIMOSA and i*) for defining agent-like entities. The combination
of these three languages has the benefit to make the similarities and differences
among the concepts more clear and the agent concept can be the base for
a more integrated use of the formalisms.
Table 1: Using three features to differentiate between agent
concepts of three languages.
5 Reusable Agent Roles
Though generally speaking useful generic reusable agents for requirements
models seem unattainable, some domain specific generic agents models can
be defined to be reused in those specific domains. We have defined a set
of reusable agent roles for modeling manufacturing systems requirements.
This definition is made possible by identifying a limited set of domain
specific data used by agents in this domain (mainly data describing material
and products and data needed for control of manufacturing resources) and
a limited set of domain specific tasks that agents can perform (like transporting
material, changing features of products, adding components to products,
...). A simple example is a transporter whose role is to move products
among a number of locations of the manufacturing system. These kinds of
models can be used to rapidly define an abstract agent-oriented model of
an existing manufacturing system representing the environment of an IS
to be developed.
Acknowledgments
Part of the work presented in this paper is funded by the European Community
under ESPRIT Reactive Long Term Research 21.903 CREWS. Special thanks to
Jean-Marc Zeippen for his input to this prosition paper.
References
-
1
-
ESPRIT Consortium AMICE, editor. CIMOSA: Open System Architecture
for CIM, volume 1 of Research Reports ESPRIT, Project 688/5288 AMICE.
Springer-Verlag, 2nd revised and extended edition, 1993.
-
2
-
E. Doerry, S. Fickas, R. Helm, and M. Feather. A model for composite
system design. In Proc. of the 6th International Workshop on Software
Specification and Design - IWSSD'91, Milano, October 1991.
-
3
-
Philippe Du Bois. The Albert II Language: On the Design and the
Use of a Formal Specification Language for Requirements Analysis. PhD
thesis, Computer Science Department, University of Namur, Namur (Belgique),
September 1995.
-
4
-
Eric Dubois and Michaël Petit. Using a formal declarative language
for specifying requirements modelled in CIMOSA. In François Vernadat,
editor, Proc. of the European workshop on Integrated Manufacturing Systems
Engineering - IMSE'94, pages 233-241, Grenoble (France), December 12-14,
1994. INRIA Rhône-Alpes.
-
5
-
Eric Dubois, Eric Yu, and Michaël Petit. From early to late
requirements: a process control case study. In IEEE Press, editor, Proc.
of the International Workshop on Software Specification and Design (IWSSD'98),
Isobe (Japan), April 1998.
-
6
-
Tim Finin, Yannis Labrou, and James Mayfield. Kqml as an agent communication
language. In Jeff Bradshaw, editor, Software Agents. MIT Press,
Cambridge, 1997.
-
7
-
Patrick Heymans and Eric Dubois. Scenario-based techniques supporting
the elaboration and validation of formal requirements. To appear in
the Requirements Engineering Journal, 1999.
-
8
-
Michael Jackson. Software Requirements and Specifications: A Lexicon
of Practice, Principles and Prejudices. Addison Wesley, 1995.
-
9
-
Bertrand Meyer, editor. Object-Oriented Software Construction.
Prentice Hall, 1988.
-
10
-
Michaël Petit and Eric Dubois. Defining an ontology for the
formal requirements engineering of manufacturing systems. In K. Kosanke
and J.G. Nell, editors, Enterprise Engineering and Integration, Proc.
of ICEIMT'97, International Conference on Enterprise Integration an Modeling
Technology (ICEIMT'97), Torino, November 1997. Springer.
-
11
-
Eric Dubois Philippe Du Bois and Jean-Marc Zeippen. On the use of
a formal r.e. language - the generalized railroad crossing problem. In
Proceedings of the Third International Symposium on Requirements Engineering
(RE'97), Annapolis, Maryland (USA), January 5-8, 1997.
-
12
-
James Rumbaugh, Ivar Jacobson, and Grady Booch, editors. The Unified
Modeling Language Reference Manual. Addison Wesley, 1999.
-
13
-
Axel van Lamsweerde, Robert Darimont, and Philippe Massonet. Goal-directed
elaboration of requirements for a meeting scheduler: Problems and lessons
learnt. In Proc. of the IEEE International Symposium on Requirements
Engineering - RE'95, pages 194-203, York (UK), March 27-19, 1995. IEEE
Computer Society Press.
-
14
-
Eric Yu, Philippe Du Bois, Eric Dubois, and John Mylopoulos. From
organization models to system requirements - a ``cooperating agents'' approach.
In Proc. of the Third International Conference on Cooperative Information
Systems - CoopIS-95, Vienna (Austria), May 9-12, 1995. University of
Toronto Press inc.
-
15
-
Eric S. K. Yu. Modelling Strategic Relationships for Process Reengineering.
PhD thesis, Computer Science Department, University of Toronto, Toronto
(Canada), 1995. Phd thesis, also appears as Technical Report DKBS-TR-94-6,
December 1994.
About this document ...
Agents as a Key Concept for Information Systems Requirements Engineering
This document was generated using the LaTeX2HTML
translator Version 96.1 (Feb 5, 1996) Copyright © 1993, 1994, 1995,
1996, Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html -split 0 -dir html -no_navigation -show_section_numbers
aois.
The translation was initiated by Michael PETIT on Mon Apr 12 16:15:30
MET DST 1999
Position Paper. International
Workshop on Agent-Oriented Information Systems (AOIS'99). See http://www.AOIS.org