Methodology for Engineering Systems of Software Agents Deliverable 3 Methodology for Agent-Oriented Software Engineering

0
422

This document presents the MESSAGE methodology for Agent Oriented Software Engineering. Agent technology is gaining more and more importance in the domain of telecommunication applications (e.g. EURESCOM P712, P815, P704, P810, P845; ACTS projects KIMSAC, AMASE, ABROSE, CLIMATE). The concepts and technology have been brought to a stage where they are useable in real applications, and there is a growing understanding of how to apply them to practical problems. To exploit this investment, the knowledge of where and how to employ agent-oriented ideas must become part of the repertoire of skills of the EURESCOM partners’ software engineering teams. Software engineering (SE) methodologies have proved to be successful in increasing speed to market of software development projects, lowering the development cost and providing better quality. It is possible for small teams to apply SE principles informally, but for large projects a well-defined methodology is essential. Message is an attempt to combine all of the best features of existing agent oriented software engineering (AOSE) methodologies while grounding agentoriented concepts in the same underlying semantic framework used by UML, the standard Modelling language for Object Oriented Software Engineering. EDIN 0001-xxxx Project P907 For full publication September 2001 page 2 (2) EURESCOM Project Report EDIN 0001-xxxx  2000 EURESCOM Participants in Project P907 Disclaimer This document contains material which is the copyright of certain EURESCOM PARTICIPANTS, and may not be reproduced or copied without permission. All PARTICIPANTS have agreed to full publication of this document. The commercial use of any information contained in this document may require a license from the proprietor of that information. Neither the PARTICIPANTS nor EURESCOM warrant that the information contained in the report is capable of use, or that use of the information is free from risk, and accept no liability for loss or damage suffered by any person using this information. EURESCOM Project Report page 3 (3)  2001 EURESCOM Participants in Project P1007 EDIN 0001-xxxx Preface (Prepared by the EURESCOM Permanent Staff) Agents are one of the main topics in the area of modern telecommunication applications. But without a reasonable methodology for the development of agent based systems, professional development of these applications is informal, cumbersome, error prone, and thus, expensive. Tools are required for the support of this methodology, because they simplify and formalise the development process. The more general case of the methodology can be focused in the EURESCOM context on the specific domain of telematic services. The focus of the project work is the extension of existing methodologies for object-oriented software development to agent-oriented applications as well as the identification of tools, which would support this methodology. This should encompass the whole software life cycle, analysis, design, implementation, testing, installation, and reiteration. The methodology should be centred around the agent oriented realisation of telematics services and telecommunications applications. The work should make use of experiences made in other projects including EURESCOM projects like P712 and P815, and should take into account work going on in FIPA, OMG and TINA-C. This is a Technical Information (deliverable 3 out of 4 deliverables) on the Methodology for Agentoriented Software Engineering of the project. The Project started its activities on June 1999 and finished in June 2001. The Project was led by Win Coulier (RB), and from January 2001 by Philippe Massonet (CEDITI). BT, IT, PT, RB, TI, and FT were participating in the Project. Heinz Brüggemann Project Supervisor EURESCOM Technical Information page 3 (5)  2001 EURESCOM Participants in Project P1xxx EDIN 0001-xxxx Executive Summary Agent technology is gaining more and more importance in the domain of telecommunication applications (e.g. EURESCOM P712, P815, P704, P810, P845; ACTS projects KIMSAC, AMASE, ABROSE, CLIMATE). Agents are one of the main topics in the area of modern telecommunication applications [Eur99]. But without a reasonable software engineering methodology for the development of agent based systems, professional development of these applications is informal, cumbersome, error prone, and thus, expensive. Software engineering (SE) methodologies have proved to be successful in increasing speed to market of software development projects, lowering the development cost and providing better quality. These benefits are greater for large projects, than smaller ones. The agent-oriented approach is well suited to developing complex and distributed systems [Jen01, Gri01]. Complex software has a large number of parts that have many interactions, and solve problems that are in general only nearly decomposable. Agent-Oriented Software Engineering (AOSE) aims to provide methods, techniques and tools to solve these problems. It is not appropriate to use standard OO methodologies for developing agent-oriented (AO) applications. The reason is that the concept of ‘agent’ is different from that of ‘object’, and the difference is significant at a high level of abstraction. This is not to say that OO methodologies should be ignored, however. Rather, the aim of MESSAGE is to extend existing methodologies to allow them to support AOSE. To this end, EURESCOM project P907 has defined the MESSAGE methodology (Methodology for Engineering systems of software agents) for agent-oriented analysis and design. The MESSAGE methodology consists of applicability guidelines, a modelling notation, and a process for analysis and design of agent systems. The MESSAGE modelling notation extends the UML notation with agent centric concepts. The RUP [Kru00] has been adopted as a coarse-grained iterative process model, and MESSAGE specific analysis and design processes expressed in terms of the MESSAGE modelling language. The methodology has been assessed by exercising it on two case studies, i.e. UPA4T (Universal Personal Assistant for Travel) a task-specific instantiation of a generic personal assistant application, and ACSOSS (Adaptive Customer Service OSS) a decentralised OSS application performing end-to-end co-ordination within a customer service business process. In addition feedback was obtained from work within the LEAP EU 5 Framework Project [Lea01], where aspects of the MESSAGE methodology were applied to an application supporting a mobile workforce. Feedback from these case studies has been used to improve the methodology. MESSAGE as it stands is not a complete, mature agent-oriented methodology. It does, however, make some significant practical contributions to the state of the art [Gar01, Cai01] that are likely to influence on-going initiatives in this area, e.g. Agent UML [Bau99, Ode00]. In particular, the graphical notation / diagram set, which extend UML class and activity diagrams, is a practical concrete result that could be taken up widely.