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.

 table36
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