Extending the Object Oriented development process to deal with Agents
Jorge Dias Fernandes
Expedita – Arquitectura e Gestão de Sistemas de Informação, Lda
Jfernandes@Expedita.com
We can now state that, regarding the development of Agent Oriented Information Systems (AOIS), is commonly accepted that the agents will increase the flexibility, reduce the complexity and allow for a more intelligent and autonomous solution. It is also accepted that the agents are particularly suitable for sub-systems interaction, namely negotiation and co-ordination, and business process modelling.
However we think that this new technology will not require that we abandon the currently adopted software development processes but rather extend them to deal with this new features. Moreover, the tendency to use the agent concept in the problem analysis stage may lead to solution centred approaches that lead to unfitted solutions. In this paper we will focus on a possible method to achieve an AOIS, adapting and extending an UML based Object-Oriented Software Engineering (AOSE) approach.
Regarding the Object-Oriented Unified Process
With the advent of the UML [OMG, 1999], unifying the major Object-Oriented methods and notations, the Object Oriented Software Engineering approach reached a mature level that made the Unified Process [Jacobsen et. al., 1999] a standard for software and information systems development. However, due to the system-centric nature of the analysis model in the Unified Process approach, its support for building interactive systems is still acknowledge to be insufficient.
In [Nunes, Cunha, 2000] we can find a proposed evolution of the Unified Process information space to include some well-known concepts to the interaction system architecture field. As with the Unified Process, the proposed WISDOM method starts with the requirement identification, followed by the system analysis and the solution design. The key changes in the WISDOM method occur in the analysis workflow where a new interaction model is proposed and added to the analysis model.
The WISDOM method has been successfully applied in User-centric Object Oriented Information System development, where there were reduced behaviour complexity and autonomy.
Regarding the Agent technology
As stated by [Laufmann, 1999] and [Wagner, 1999] the agents are a promising mechanism to deal with interactions between the intended Information System and human-users or other software systems. Their ability to communicate, negotiate, and cooperate ads a flexibility that was not possible with standard Object-Oriented solutions.
But, regarding the potential of the agent technology, perhaps there is an even more important aspect in what concerns the Information System development. We are referring to the natural and intuitive mechanism through which we are able to integrate the business knowledge and process in the Information System [Lespérance, Shapiro, 1999][Petit et. al., 1999]. The representation methods used to define the agent knowledge and behaviour are mostly adequate to extract the business knowledge in the organisation either at design time by the system analyst as in use-time by the users themselves.
Both of these features aren’t adequately handled by Object-Oriented approaches, which allowed for none or few pro-activeness and autonomy. Nevertheless, there are still some concepts in the Information System domain best represented by simple objects or data structures.
There is still an important aspect that is worth mention regarding the concept of agent, namely the external agents' models. All the work regarding the agent representation may be applied in the definition of active system components, the agents, or in modelling external agents, either natural or artificial, that the system has to interact with [Wagner, 1999].
The AOIS development method
To successfully extend the Object Oriented development process to include the agent concept there are two aspects that we think are worth mention.
First, the concept of software agent should only appear in the design phase and not in the requirement analysis, otherwise the domain model may be altered.
Although the concept of agent may seem adequate to model the Information System target organisation, it is important to distinguish the requirements identification workflow from the solution design workflow [Fowler, 1997]. Otherwise we may induce the requirements into a pre-conceived solution, cutting-off other possible system configurations. In the WISDOM method, the requirement identification is based more on a management perspective than in a software engineering. Nevertheless, the use of concepts like intentions, believes, plans, may be applied in a refined process model to better define the behaviour of individual system components.
Second, in the definition of the agent society to be implemented, the Actor and Personal agents [Handle, Hoffmann, 1999] can be easily identified through the use-case model from the requirements identification. However, the Internal Agents have no pre-defined structure and, therefore, are build accordingly to the system designer preferences. At this phase two alternative methods may be adopted,
Although the former alternative is more intuitive, the second seems more promising in terms of flexibility and reusability [Petit et. al., 1999]. This method also leads to more scalable solutions, since we can always increase the number of agents in the system without the need to redefine the system structure.
In the WISDOM method the Internal Agents are built accordingly to the dynamic components of the Analysis model in the System Analysis workflow, the boundary and control stereotypes.
Conclusions
Without excluding the objects, the agent technology will permit the Information System to evolve to a more flexible and complex stage where the business knowledge will have an impact in the system behaviour.
The transition from an Object-Oriented Software Engineering approach into an Agent-Oriented will have a major impact in the Solution Design workflow, but not in the Requirements Identification or in the System Analysis. The need for information regarding to the expected agent behaviour and the business process will however impose more detailed models in these two phases.
Due to the its system-centric nature, the Unified Process support for building AOIS is still insufficient although there are already some extensions, like WISDOM, that are particularly suitable to develop such interacting systems.
Bibliography
Fowler, M., Analysis patterns : reusable object models, Addison Wesley Object Oriented Software Engineering Series, Grady Booch (series editor), ISBN 0-201-89542-0, 1997
Handl, D., Hoffmann, H., "Workflow agents in the document-centred communication in MALL2000 systems", positional paper, International Workshop on Agent-Oriented Information Systems (AOIS’99),
http://www.AOIS.org, 1999.Jacobsen, I., Booch, G., Rumbaugh, J., The Unified Software Development Process, Addison-Wesley, 1999.
Laufmann, S. C., "Towards Agent-Based Software Engineering for Information System Access Applications", positional paper, International Workshop on Agent-Oriented Information Systems (AOIS’99), Seattle,
http://www.AOIS.org, 1999.Lespérance, Y., Shapiro, S., "On Agent-Oriented requirements Engineering", positional paper, International Workshop on Agent-Oriented Information Systems (AOIS’99),
http://www.AOIS.org, 1999.Nunes, N., Cunha, J., "Whitewater Interactive System Development with Object Models", in van Harmelen (editor), Object-Oriented User Interface Design, Addison-Wesley, 2000 (to appear).
Object Management Group, OMG Unified Modeling Language Specification, Version 1.3,
http://www.omg.org, June 1999.Petit, M., Heymans, P., Schobbens, P., "Agents as a Key Concept for Information Systems Requirements Engineering" , positional paper, International Workshop on Agent-Oriented Information Systems (AOIS’99),
http://www.AOIS.org, 1999.Wagner, G., "Information Systems Have to Deal with Objects and with Agents", positional paper, International Workshop on Agent-Oriented Information Systems (AOIS’99),
http://www.AOIS.org, 1999.