Fifth International Workshop Engineering Societies in the Agents World 20-22, October 2004 IRIT. UPS. Toulouse, France SONIA - A Methodology for Natural Agent Development F. Alonso, S. Frutos, L. A. Martínez, C. Montes Facultad de Informática, UPM sfrutos@fi.upm.es
Contents Introduction Problems of AOSE Features of an Agent Development Methodology Agent Development Methodologies SONIA Methodology Case Study Conclusions
Introduction Agents, MAS, and Agent Societies are well suited for tackling complex software systems This line of research resulted in a new paradigm, the Agent Paradigm [Lind, 2001] The engineering approach is the key factor for the introduction of agent-based systems into industry [Fisher et al., 1997] This effort to convert agent-oriented system development into a Agent Engineering has led to a variety of methodological proposals [Weiss, 2002] [Wooldridge & Ciancarini, 2001] [Tveit, 2001] [Iglesias et al., 1999]
Problems of AOSE Reach agreement on agent theory Provide mechanisms for deciding whether the problem should be dealt with using a MAS Train development team members in the field of agents and MAS Provide special-purpose programming languages and development tools Use suited to the development processes
Features of an Agent Development Methodology It should not condition the use of the agent paradigm right from analysis It should naturally lead to the conclusion of whether or not it is feasible to develop the system as a MAS It should systematically identify the elements of a MAS If the problem specifications call for an agent society, it should naturally lead to this organizational model It should facilitate the reusability of agents, if possible It should be easy to apply and not require excessive knowledge of agent technology
Agent Development Methodologies Agent Development Methodologies Agent-based OO-based KE-based
Agent-Based Methodologies Agent Development Methodologies Agent-based Tropos (2004) Gaia (2003) Prometheus (2003) SODA (2001) Styx (2001) HLIM (1999) Cassiopeia (1995) agent paradigm selection OO-based agent identification process MAS aspects environment analysis specif. or analysis (Prometheus, HLIM, Cassiopeia, Tropos, Gaia, SODA, Styx) role-driven top-down (all) intra- & inter-agent (Tropos, Gaia, Prometheus, Styx, HLIM) environment (SODA) KE-based design (none) component-driven bottom-up (none) social structure (SODA) objects (Tropos, Prometheus, Styx, SODA)
Object Oriented-Based Methodologies Agent Development Methodologies agent paradigm selection agent identification process specif. or analysis (ODAC, AOAD) Agent-based role-driven top-down (ODAC, MaSE, MASSIVE, AAII, AOMEM, AOAD, MASB) OO-based design (MaSE, MASSIVE, DESIRE, AAII, AOMEM, MASB) KE-based component-driven bottom-up (DESIRE) MAS aspects environment analysis intra- & inter-agent (ODAC, MASB, DESIRE, AAII, AOMEM, AOAD, MASB ) environment (MASSIVE) ODAC (2003) MaSE (2001) MASSIVE (2001) DESIRE (1997) AAII (1996) AOMEM (1996) AOAD (1996) MASB (1994) social structure (MASSIVE, AOAD) objects (ODAC, MASB)
Knowledge Engineering-Based Methodologies Agent Development Methodologies agent paradigm selection agent identification process MAS aspects environment analysis specif. or analysis (MAS-CommonKADS ) Agent-based role-driven top-down (MAS-CommonKADS ) intra- & inter-agent (MASCommonKADS, CoMoMAS) environment (none) design (CoMoMAS) OO-based component-driven bottom-up (CoMoMAS) social structure (none) objects (none) KE-based MAS-CommonKADS (1999) CoMoMAS (1997)
A Good AOSE Methodology agent paradigm selection agent identification process specif. or analysis role-driven top-down design component-driven bottom-up MAS aspects intra- & inter-agent social structure environment analysis environment objects
SONIA Methodology SONIA (Set of models for a Natural Identification of Agents) methodology Generates a multiagent architecture to solve a problem (whose conceptualization is not conditioned by the agent paradigm) according to a Multiagent Design that systemizes and automates the activities of identifying the MAS elements
SONIA Methodology Initial Structural Initial Task Conceptualization The requirements are analysed using SETCM (Set Theory Based Conceptual ) This analysis method is design-independent. Initial Structural describes the general structure of the problem domain Initial Task describes how the problems raised in the domain are solved
SONIA Methodology Initial Structural Initial Task Conceptualization Environment Extended Analysis ANALYSIS Structural Task Conceptualization models are refined and expanded to capture the system environment and external entities: Environment defines the system external entities and their interactions with the system Structural includes structures from the knowledge domain of the external entities Task adds the functionalities required to interact with the external entities
SONIA Methodology Initial Structural Structural Environment Initial Task Synthesis provides for the component-driven identification Conceptualization of agents (bottom-up process): Knowledge identifies the knowledge components by grouping Structural Extended concepts and Analysis associations ANALYSIS Behavior produced by grouping Task tasks, subtasks and methods Task Responsibility output by relating knowledge components to behaviors Knowledge Behavior Synthesis Responsibility
SONIA Methodology Initial Structural Initial Task Define the architectural elements: Agent Conceptualization identifies and defines autonomous agents Object identifies and defines passive Environment entities Extended Analysis ANALYSIS Interaction identifies and defines Structural relationships between agents and between agents and objects Task If no agents can be identified, another design paradigm will have to be chosen. Knowledge Object Behavior Synthesis Responsibility Architectural Design DESIGN Agent Interaction
Case Study (I) ALBOR project (Barrier-Free Computer Access). ALBOR is an Internet-based intelligent system designed to provide guidance on the evaluation of disabled people s computer access skills and on the choice of the best suited assistive technologies.
Case Study (II) <<agent>> Survey-Taker <<object>> External <<object>> Users <<object>> Media <<agent>> Advisor <<agent>> DecisionMaker Architectural Design s Bottom-up process <<knowledge>> Questionnaires <<concept>> Questionnaire <<association>> HasSections <<concept>> Section << behavior >> InitSession << behavior >> IdentifyUser <<behavior>> TakeSurvey <<concept>> Question <<association>> HasResponses Structural <<association>> HasMedium <<association>> NextQuestion << knowledge >> Users << knowledge >> External << knowledge >> Media <<task>> ShowQuestion <<task>> ShowMedium << behavior >> EvalAptitude << behavior >> ShowReport <<task>> TakeSurvey <<method>> TakeSurvey. <<task>> Response << knowledge >> Rules << knowledge >> Recommen. Task <<task>> GetNext Synthesis s Analysis s <<association>> HasQuestions <<concept>> Response <<association>> HasMedium <<method>> ShowQuestion <<method>> ShowMedium <<method>> Response <<method>> GetNext
Conclusions AOSE needs a consolidated agent development process This paper aims to contribute to the methodological issue of agent-based development by setting out : What the basic requirements for an AOSE methodology should be Defining a new methodology that meets these requirements
SONIA - A Methodology for Natural Agent Development F. Alonso, S. Frutos, L. A. Martínez, C. Montes Facultad de Informática, UPM sfrutos@fi.upm.es