Você está na página 1de 8

The multi-agent system paradigm introduces a number of new design/

development issues when compared with more traditional approaches to

software development and calls for the adoption of new software


engineering

abstractions. To this end, in this chapter, we elaborate on the potential of

analyzing and architecting complex multi-agent systems in terms of

computational organizations. Specifically, we identify the appropriate

organizational abstractions that are central to the analysis and design of

such systems, discuss their role and importance, and show how such

abstractions are exploited in the context of the Gaia methodology for


multiagent

systems development.

In the past few years, multi-agent systems (MASs) have been recognized as
an

effective software engineering paradigm for designing and developing


complex

software systems (Jennings, 2001; Wooldridge & Jennings, 1995). In fact, the

key characteristics of MASs (i.e., autonomy, situatedness, proactivity, and

sociality [Wooldridge & Jennings, 1995]) are well suited to tackling the
emerging

complexities of modern software scenarios for a number of reasons. Firstly,


the
autonomy of the application components (i.e., the ability for an agent to
decide

what actions it should take at what time [Wooldridge & Jennings, 1995])
reflects

the decentralized nature of modern distributed systems (Tennenhouse,


2000) and

can be considered as the natural extension to the notions of modularity and

encapsulation for systems that are owned by different stakeholders


(Parunak,

1997). Secondly, the flexible way in which agents operate (balancing reactive

behaviour in response to the environment in which they are situated, with

proactive behaviour towards the achievement of their design objectives

[Wooldridge & Jennings, 1995]) is suited to the dynamic and unpredictable

situations in which software is now expected to operate (Zambonelli,


Jennings,

Omicini, & Wooldridge, 2001). Finally, the high-level, dynamic, and social
nature

of multi-agent interactions is appropriate to open systems in which the


constituent

components and their interaction patterns constantly change (Estrin, Culler,

Pister, & Sukjatme, 2002).

In this chapter, we firstly elaborate on the organizational metaphor and


present

and discuss the various organizational abstractions that come into play in the

design and development of a complex MAS. In particular, we show that an


organization is more than simply a collection of roles (as most methodologies

assume) and that, in order to effectively build an MAS in organizational


terms,

a variety of additional organization-oriented abstractions needs to be devised


and

placed in the context of a methodology. In addition, we discuss how the


presented

organizational abstractions are effectively and coherently exploited in the


Gaia

methodology. Specifically, the Gaia methodology (fully described in


Zambonelli,

Jennings, & Wooldridge, 2003) both promotes a simple and clear to manage
the

development process and exploits the appropriate organizational


abstractions in

the process of developing MASs.

The chapter is organized as follows. The next section introduces the


organizational

metaphor and describes the organizational abstractions that are to be

exploited in agent-oriented software engineering. Following that, we detail


how

these abstractions are exploited in Gaia in order to provide a methodology


for the

analysis and design of MASs. The next section clarifies these concepts with
the

use of a simple case study, followed by a discussion of the weaknesses and


strengths of the Gaia methodology. The chapter ends with our conclusions.

MODULOS.
El paradigma del sistema multi-agente presenta una serie de nuevos diseños /

problemas de desarrollo en comparación con los enfoques más tradicionales de

desarrollo de software y convoca a la adopción de una nueva ingeniería de


software

abstracciones Con este fin, en este capítulo, elaboramos sobre el potencial de

analizar y diseñar sistemas complejos de agentes múltiples en términos de

organizaciones computacionales. Específicamente, identificamos el apropiado

abstracciones organizacionales que son centrales para el análisis y diseño de

tales sistemas, discutir su rol e importancia, y mostrar cómo

las abstracciones se explotan en el contexto de la metodología de Gaia para


multiagente

desarrollo de sistemas.

En los últimos años, los sistemas multi-agente (MAS) han sido reconocidos como

paradigma de ingeniería de software eficaz para el diseño y desarrollo de


complejos

sistemas de software (Jennings, 2001; Wooldridge & Jennings, 1995). De hecho,


el

características clave de los MAS (es decir, autonomía, ubicación, proactividad y

socialidad [Wooldridge y Jennings, 1995]) son adecuados para abordar el

las complejidades de los escenarios de software modernos por una serie de


razones. Primero, el
autonomía de los componentes de la aplicación (es decir, la capacidad de un
agente para decidir

qué acciones debería tomar y en qué momento [Wooldridge y Jennings, 1995])


refleja

la naturaleza descentralizada de los sistemas distribuidos modernos


(Tennenhouse, 2000) y

puede considerarse como la extensión natural de las nociones de modularidad y


encapsulación para sistemas que son propiedad de diferentes partes interesadas
(Parunak,

1997). En segundo lugar, la forma flexible en que operan los agentes (equilibrio
reactivo

comportamiento en respuesta al entorno en el que se encuentran, con

comportamiento proactivo hacia el logro de sus objetivos de diseño

[Wooldridge y Jennings, 1995]) se adapta a lo dinámico e impredecible

situaciones en las que se espera que el software funcione (Zambonelli, Jennings,

Omicini, y Wooldridge, 2001). Finalmente, el alto nivel, la dinámica y la naturaleza


social

de las interacciones de agentes múltiples es apropiado para los sistemas abiertos


en los que el componente

componentes y sus patrones de interacción cambian constantemente (Estrin,


Culler,

Pister, y Sukjatme, 2002).

En este capítulo, primero elaboramos sobre la metáfora organizacional y el


presente

y discutir las diversas abstracciones organizacionales que entran en juego en el

diseño y desarrollo de un MAS complejo. En particular, mostramos que un

organización es más que simplemente una colección de roles (como la mayoría de


las metodologías

asumir) y que, para construir efectivamente un MAS en términos organizacionales,


es necesario idear una variedad de abstracciones adicionales orientadas a la
organización y

colocado en el contexto de una metodología. Además, discutimos cómo el


presentado

Las abstracciones organizacionales se explotan efectiva y coherentemente en


Gaia

metodología. Específicamente, la metodología Gaia (completamente descrita en


Zambonelli,

Jennings, & Wooldridge, 2003) ambos promueven un manejo sencillo y claro para

proceso de desarrollo y explota las abstracciones organizacionales apropiadas en

el proceso de desarrollo de MAS.

El capítulo está organizado de la siguiente forma. La siguiente sección presenta la


organización

metáfora y describe las abstracciones organizacionales que deben ser

explotado en ingeniería de software orientada a agentes. A continuación,


detallamos cómo

estas abstracciones se explotan en Gaia con el fin de proporcionar una


metodología para el

análisis y diseño de MAS. La siguiente sección aclara estos conceptos con el

uso de un estudio de caso simple, seguido de una discusión de las debilidades y

fortalezas de la metodología Gaia. El capítulo termina con nuestras conclusiones.

La metodología Esta parte explica cómo generar una especificación del MAS y su
implementación. Construimos la especificación del MAS teniendo en cuenta varios
puntos de vista. Los conceptos para describir cada punto de vista se detallan en la
siguiente sección. Leer esa sección es importante porque aclara la notación
gráfica que se usará en todo el estudio de caso. La ejemplificación de estos
puntos de vista con entidades de problemas concretos se aborda con un proceso
de desarrollo, que es explicado en la sección sobre el proceso INGENIAS.
Implementacion de La especificación resultante se detalla en la misma sección y
se demuestra más adelante. en el caso de estudio. Modelado MAS con INGENIAS
El desarrollador de software orientado a objetos tiene que lidiar con clases,
interfaces, objetos, herencia y similares; el desarrollador de software orientado al
agente puede usar esos conceptos y otros como agente, organización, objetivo,
tarea, estado mental, recurso, y así sucesivamente. En INGENIAS, queremos
promover el uso de estos conceptos desde el análisis hasta la implementación.
Para administrar la complejidad de la Especificación MAS, proponemos organizar
estos conceptos en cinco puntos de vista: organización, agente, objetivos / tareas,
interacciones y entorno. Estos puntos de vista básicamente corresponden a los ya
definidos en los conceptos de MESSAGE y vistas, ya que nuestro trabajo anterior
estaba en ese proyecto. En INGENIAS, hemos refinado MENSAJE conceptos y
puntos de vista, relaciones establecidas entre ellos, y identificó actividades en el
proceso de desarrollo para generar especificaciones MAS. El uso de vistas para
especificar un sistema se ha utilizado también en las obras de Vocales ingeniería
(Demazeau, 2001), MAS-CommonKADS (Iglesias, Mercedes Garijo, Gonzalez, y
Velasco, 1998), y Gaia (Wooldridge, Jennings, y Kinny, específicamente, editores
de modelos gráficos, generación de documentación y generación de código para
diferentes plataformas de destino y herramientas de validación.

Punto de vista de la organización

La organización describe el marco donde agentes, recursos, tareas y

los objetivos coexisten Se define por su estructura, funcionalidad y relaciones


sociales.

Desde un punto de vista estructural, la organización es un conjunto de entidades


con relaciones

de agregación y herencia. La estructura de la organización define una


descomposición

del MAS en grupos y flujos de trabajo (ver Figura 1).

Los grupos pueden contener agentes, roles, recursos o aplicaciones. Los grupos
son útiles

cuando la cantidad de elementos en un MAS aumenta. Asignación de tales

elementos a un grupo obedece a algún propósito organizacional, porque la


agrupación

facilita la definición de flujos de trabajo o porque sus miembros tienen algunos


características comunes.

La funcionalidad de la organización se define por su propósito y tareas. Un

organización tiene uno o más objetivos y depende de sus agentes para realizar el

tareas necesarias para lograrlos. Cómo se relacionan estas tareas y quién es

responsables de su ejecución se definen en los flujos de trabajo.

Figura 1. Elementos del punto de vista de la organización (Descripción estructural


de

una organización MAS)

Você também pode gostar