Agent-based support for user goals: An outline of the REAGENT framework

Aditya K. Ghose
Decision Systems Lab
Department of Information Systems
University of Wollongong
NSW 2522 Australia
aditya@uow.edu.au

This position paper presents a technology forecast. We forecast that agent-mediated tools will be developed and deployed to add value at every stage of the systems development lifecycle, specially in supporting user-specified requirements in a multi-stakeholder, multi-perspective development environment. Our argument is motivated by the following observations.

Supporting user objectives (and more generally, the objectives of all stakeholders) is critical in all phases the systems development lifecycle. Current tools and techniques tend to focus on explicit user objectives (or goals, or requirements) only during the requirements engineering phase. The underlying assumption is that the end-products of requirements engineering (RE) represent a consistent, refined and elaborated version of user goals that can form the basis for downstream phases in the lifecycle. We argue that this assumption is often inappropriate. User goals are often modified or discarded during the RE process, usually to maintain consistency with other goals [11] Decisions made during the design, implementation and maintenance phases may, however, make it feasible to satisfy these goals that would otherwise have been ignored (for instance, by weakening and rendering infeasible, other goals that these goals might have been inconsistent with). Other changes, such as changes in the environment that the system is situated in, as well as modifications in other (explicit) stakeholder objectives could also make these goals feasible. A key motivation for the REAGENT framework described in this paper is the need to ensure that user requirements play an explicit and active role at every stage of the lifecycle.

Tool support for user goals should ideally involve autonomous entities that are reactive (i.e., that constantly monitor and react to changes in the environment) as well as pro-active (i.e., that alert human developers and the larger development environment of situations where additional user goals could be satisfied, as well as suggest strategies for achieving this). The REAGENT project aims to explore the role of agent-based tools in supporting user requirements throughout the systems development lifecycle, and we shall present our technology forecast in the context of the objectives of this project. In this approach, the goals of each user (or group of users sharing common goals) are maintained and supported by an agent endowed with knowledge/beliefs, the ability to monitor the development and run-time environment, the ability to plan (and more generally, reason) and the ability to act. The idea of using agents to represent stakeholder requirements has its roots in the ViewPoints framework (where agents are abstract representations of both the software development process and a partial specification) [7,8,3,1]. The REAGENT framework seeks to exploit intelligent agent technologies to add value in providing automated (or at least semi-automated) support for the following key processes:

The REAGENT framework also permits us to support complex user goals which might involve global predicates on the total set of all user requirements, in addition to local specifications of the functionality and performance of the target system. An additional objective of this project is to explore a meaningful synthesis of agent-based tools with agent-oriented modeling methodologies [12].

The REAGENT framework is being currently implemented within the context of the BDI agent architecture [10] using the abstract programming constructs offered by the AgentSpeak(L) agent programming language [9]. While this is not the only available choice (the CONGOLOG language [6] is an obvious alternative), the AgentSpeak(L) framework offers a simple set of constructs that are powerful enough to capture the intuitions that we currently seek to explore. An agent's problem-solving knowledge is encoded in part in its beliefs (we simplify the discussion here by using the terms knowledge and belief interchangeably) and in part in its plans. A plan specifies when and how an agent must act to achieve its goals or respond to external events and consists of a trigger (which must match a goal/sub-goal or an event), a set of pre-conditions (which the agent must believe to be true for the plan to be invoked) and a sequence of actions (some of which might involve asserting sub-goals that invoke other plans). Plans can thus tell an agent how to elaborate and refine goals, how to elicit new goals from stakeholders, how to negotiate resolutions to goal conflicts with other agents, when to generate alerts indicating that user goals currently considered infeasible might have become feasible again etc.

The REAGENT implementation is being designed as a configurable plug-in to existing CASE toolkits, with its constituent agents serving as knowledge-based monitors and assistants to both users and developers throughout the software lifecycle. We believe that agent-mediated tools will play an increasingly important role in settings such as these and that the time is ripe for exploring a synthesis of agent technology and software engineering tools.


Bibliography

1
S. Easterbrook, A. Finkelstein, J. Kramer, and B. Nuseibeh.
Coordinating distributed viewpoints: The anatomy of a consistency check.
In Concurrent Engineering: Research and Applications, CERA Institute, West Bloomfield, USA, 1994.

2
S. Fickas and M. S. Feather.
Requirements monitoring in dynamic environments.
In Proc. of the 1995 IEEE Int'l Conf. on Requirements Engineering, 1995.

3
A. Finkelstein, D. Gabbay, A. Hunter, J. Kramer, and B. Nuseibeh.
Inconsistency handling in multi-perspective specifications.
IEEE Transactions on Software Engineering, 20(8), 1994.

4
A. K. Ghose.
A formal basis for consistency, evolution and rationale management in requirements engineering.
In Proceedings of the 1999 IEEE International Conference on Tools for AI, 1999.

5
A. K. Ghose.
Managing requirements evolution: Formal support for functional and non-functional requirements.
In Proceedings of the 1999 International Workshop on Principles of Software Evolution, pages 118-124, Fukuoka, Japan, 1999.

6
Y. Lespérance, T.G.Kelley, J. Mylopoulos, and E.S.K. Yu.
Modeling dynamic domains with congolog.
In Advanced Information Systems Engineering, 11th International Conference, CAiSE-99, Proceedings, LNCS Vol. 1626, pages 365-380, Heidelberg, Germany, 1999. Springer-Verlag, Berlin.

7
B. Nuseibeh.
When agents clash.
In Proc. of the 5th European Workshop on Software Process Technology (EWSPT '96), Springer-Verlag LNCS 1149, pages 237-240, 1996.

8
B. Nuseibeh, J. Kramer, and A. Finkelstein.
A framework for expressing relationships between multiple views in requirements specification.
IEEE Transactions on Software Engineering, 20(10), 1994.

9
A. S. Rao.
AgentSpeak(L): BDI agents speak out in a logical computable language.
Springer Verlag Lecture Notes in Artificial Intelligence, 1996.

10
A. S. Rao and M. P. Georgeff.
Modeling rational agents within a BDI-architecture.
In J. Allen, R. Fikes, and E. Sandewall, editors, Proceedings of the Second International Conference on Principles of Knowledge Representation and Reasoning. Morgan Kaufmann Publishers, San Mateo, CA, 1991.

11
A. van Lamsweerde, R. Darimont, and E. Leiter.
Managing conflicts in goal-driven requirements engineering.
IEEE Trans. on Software Engineering, 24(11):908-926, 1998.

12
E. Yu.
Why agent-oriented requirements engineering.
In Proceedings of 3rd International Workshop on Requirements Engineering: Foundations for Software Quality, Barcelona, Catalonia, June 16-17, 1997. Presses Universitaires de Namur.