What is MESSAGE
MESSAGE is the name of the EURESCOM project developing a software methodology for
Intelligent Agents. We will also create guidelines to identify if the problem you need to
solve would benefit from an Agent Oriented approach. With this information you will know
whether or not to go the Agent-Oriented route (and use the MESSAGE methodology). This will
also help you justify your decision to other people. To create the MESSAGE methodology, we
will blend agent ideas into conventional software engineering approaches, and take the
best of both worlds to create a new methodology. We want to add to the existing
methodologies the power to work on Agent-Oriented development. This new methodology will
then not require you to start over learning completely new methodologies, but just add
what is necessary to be able to add new techniques to your repertoire.
If you are interested, please subscribe to our mailinglist.
Why the need for this project?
The agent-oriented (AO) approach promises the ability to construct systems with complex and sophisticated behaviour by combining highly modular components. The intelligence of these components - the agents - and their capacity for social interaction results in a multi-agent system (MAS) with capabilities beyond those of a simple 'sum' of the agents. The availability of agent-oriented development toolkits has allowed to technology to be assessed for industrial use. Many case studies have been carried out, yielding promising results that have aroused industrial interest in the technology. Why, then, are there still no convincing success stories of MAS in use that are delivering real benefits? The simple answer to this question is that new technology is never enough by itself. One needs to be able to recognise the problems to which the technology can usefully be applied and the benefits compared to alternative approaches, and to know how to use the technology to deliver the benefits. Many academic and industrial researchers would feel they have this knowledge to some extent at least - unleashing the full potential of MAS is an on-going research issue after all. However, it is not researchers that develop real applications, it is professional software engineers. Similarly, researchers are not the owners of the business requirements that MAS could help to fulfil. The aim of the EURESCOM MESSAGE (Methodology for Engineering Systems of Software Agents) project is to make this knowledge accessible to those who need it, respectively: the problem owners and requirements engineers; the professional software engineers working on mainstream software development. The primary deliverables are thus: guidelines on the benefits and applicability of MAS, and software engineering methodology for MAS supported by illustrative case studies.
Why is an AOSE methodology needed?
One of the first questions a pragmatic manager of a software engineering department will ask is why a new methodology is needed at all. Why can the object-oriented methods currently in use in his department, and in which he has invested vast sums in training and software tools not be used? After all, these methods have been used successfully in conjunction with a variety of programming languages and tools to deliver applications on a variety of platforms. The answer is that agents are not (just) about languages, programming languages and platforms. The same is true for object-orientation. Object-oriented programming began with Simula and was popularised (at least in the research community) with the advent of Smalltalk and object-oriented extensions to Lisp. Object-oriented design entered mainstream software engineering before object-oriented programming. Many genuinely object-oriented applications have been written in non-object oriented languages such as Ada, Pascal and C. It can also be argued that many non-object-oriented programs have been written despite using an object-oriented language. Similarly, if one uses object-oriented analysis and design methods, the result will be an object-oriented application, even if agent programming tools are used. This is not to say that AO programming environments are not useful. They certainly make it easier to implement an AO design. For agent-based technology to be widely adopted by industry there is a need for a complete agent-based development methodology that covers all phases and activities of the software lifecycle. However the orientation (i.e. agent-, object- or other orientation) of an application is established early in the lifecycle. Agent-orientated analysis leads naturally to agent-oriented design, which leads to agent-oriented programming. However, while there are many competing AO languages and toolkits, relatively little work has gone into AO analysis and design. Agent-oriented software engineering will allow agent-oriented systems to be developed on an industrial scale when the development toolkits are complemented with mature agent-oriented requirements and design notations and methods.
Another question that is likely to be asked is why agent-orientation is needed at all. What is wrong with OO design and programming? It is true that object orientation has been applied successfully in a wide range of projects, and has yielded real benefits compared to early paradigms. However, the press is still full of horror stories about software projects that have failed disastrously, especially ones involving large distributed systems. The interest in these kind of systems has been enhanced by the extraordinary demand for complex distributed systems linked to the increased usage of Internet based technology. Typical problems experienced include: cost overruns, late delivery, integration problems, systems that are out of date before they enter service, systems that work to specification but are not practical or deliver no business benefit. Most of these problems do not concern the functionality of the software, but 'soft' non-functional requirements (sometimes known as the 'ilities') such as flexibility, adaptability, usability, and evolvability. It is the need to deal with such requirements that motivates interest in agent-orientation. One of the main advantages offered by the AO approach is a reduction in complexity, leading directly to reduced development and integration risk. This is linked to a shift in approach from specifying expected behaviour to specifying goals for the software.
The aim of MESSAGE is to define an agent-oriented methodology that encompasses requirements analysis and design, and which is appropriate for use in mainstream software engineering departments. We do not expect such departments to abandon their current object-oriented methods completely. There are many similarities between agents and objects, and we hope to be able to use similar notations for similar concepts. The current approach is to use an object-oriented approach to analysis and design such as UML as a baseline. This will be extended with special purpose notations for modelling agent-related concepts that cannot be modelled easily with UML. It should be emphasised however, that this is not simply a question of adding constructs for modelling agent communication protocols. Agents are not simply larger, more sophisticated objects. It should be possible, however, to model objects and agents as subclasses of a common ancestor class.
| Last updated: May 23, 2000 | Home | Feedback |