MAM-UML: An UML Profile for the Modeling of Mobile-Agent Applications Edgardo Belloni and Claudia Marcos ISISTAN Research Institute Facultad de Ciencias Exactas - UNICEN Paraje Arroyo Seco - Tandil (B7001BBO) - Buenos Aires, Argentina. Tel/Fax: + 54–2293–440362/3 http://www.exa.unicen.edu.ar/~isistan/ E-mail: {ebelloni, cmarcos}@exa.unicen.edu.ar Abstract This paper introduces an approach for the modeling of mobile-agent applications. It aims to deal with the lack of appropriate concepts and notations, in the standard UML, to capture relevant abstractions for the modeling of mobile-agent features. The approach is materialized by an UML profile, which includes views to model organizational, life cycle, interaction and mobility aspects of mobile-agent applications contributing to the analysis, design and implementation phases of their development. Keywords. Mobile Agents; UML Extensions; Agent Oriented Software Engineering (AOSE). 1. Introduction In the near past, the software development based on mobile agents has received important attention because it introduces an alternative paradigm to implement widely distributed and heterogeneous systems. Agent mobility [16][3][7] – i.e., the software agents’ capability of moving across a computer network while they are acting on behalf of a user – involves the transfer of its code, data, and possibly its execution state, towards the environments or sites where the resources it needs to access, or where other agents it needs to meet, are allocated. Such capability is particularly interesting when an agent makes sporadic use of a valuable shared resource. Efficiency, for instance, can be improved by moving agents performing queries over a large database to the host of the database itself. Additionally, response time and availability would improve when performing interactions over network links subject to long delays or interruptions of service. Up to now, works on the mobile-agents paradigm have mostly been technology-driven focusing in the development of many different frameworks or platforms to support agent mobility. A lot of effort has been invested developing these infrastructures both within the research community and within commercial projects (c.f., [14][7]). However, in spite of these efforts, there is yet little evidence of an engineering approach to the development of applications based on mobile agents [5][8][4]. In fact, the usual approach for this development has been focusing on the implementation phase; applications are directly implemented in an ad-hoc fashion by selecting and using a particular platform supporting agent mobility, following little or no rigorous modeling technique or methodology. This approach, consequently, produces insufficient specifications concerning relevant requirements, analysis or design aspects of mobile agents. In this context, to develop powerful abstractions to model technical and functional features of mobile agents by extending standard modeling languages becomes increasingly important. At present, the Unified Modeling Language (UML) [15][13] is being recognized as a satisfactory medium to support agent-oriented modeling (c.f., [5][17][18][4][1]), mainly because it is an extensible language providing built-in mechanisms to introduce new elements for specific domains. These extensibility mechanisms include: Stereotypes to specify a new UML element from an existing one; Tagged Values to specify a new kind of property that may be attached to an element; and Constraints to specify a condition that must be held true for one or more values of a model. A coherent set of UML extensions, defined for specific purposes using these extensibility mechanisms, constitutes an UML profile. Only recently, a few works were initiated trying to deal with the lack of appropriate concepts and notations in the standard UML for the modeling of mobile-agent applications (c.f., [8][11][10]). These works have essentially propose extensions to some particular UML diagrams for representing basic features concerning agent mobility, in a high-level of abstraction. Although these UML extensions are useful and practical contributions, they yet represent incomplete approaches for the modeling of mobile-agent features and applications. This paper introduces a proposal to improve the standard UML concerning the specification of relevant Proceedings of the XXIV International Conference of the Chilean Computer Science Society (SCCC’04) 0-7695-2185-1/04 $ 20.00 IEEE