Está en la página 1de 3

Ingeniera de Software Orientada a Agentes: Estado del

Arte
Michael Wooldridg and Paolo Ciancarini
Resumen
En este artculo se argumenta que los agentes y los Sistemas Multiagentes son las
herramientas adecuadas para manejar la complejidad inherente a los sistemas de
software. Se hace una comparacin entre agentes y ojeto. !uego se e"aminan una
serie de prototipos propuestos para ingeniera de sistemas de agentes# incluyendo
metodologas para an$lisis y dise%o orientado a agentes# m&todos de 'erificacin y
especificacin formal para sistemas de agentes# y t&cnicas para implementar
especificaciones de agentes.
Introduccin
!a interaccin es proalemente la caracterstica m$s importante del software complejo.
!as arquitecturas de software que contienen muchos componentes interactuando
din$micamente# cada uno con su propio hilo de control# e in'olucr$ndose en protocolos
de interaccin complejos# son tpicamente de ordenes de magnitud m$s complejas para
ingeniarlos correctamente y eficientemente# que aquellos que simplemente computan
una funcin de alguna entrada en un hilo de control.
En muchas aplicaciones de la 'ida real esta es la caracterstica# por lo cual se han
desarrollado herramientas y t&cnicas para modelar# entender# e implementar sistemas en
los que las interacciones son la norma.
(esde los )*s los sistemas de software de agentes y sistemas Multiagentes han crecido
en lo que es una de las $reas m$s acti'as de in'estigacin y desarrollo en la
computacin. +na de las ra,ones m$s importantes es la de los agentes como sistemas
autnomos# capaces de interactuar con otros agentes para satisfacer sus ojeti'os de
dise%o.
El ojeti'o de este artculo es re'isar el estado del arte en ingeniera de software
orientada a agentes. Se da un concepto de lo que son agentes y sistemas Multiagentes# y
se comenta la relacin entre los agentes y los ojetos -desde el punto de 'ista de ..P/.
!uego se re'isan algunas metodologas preliminares para ingeniera de sistemas
Multiagentes 0 las cuales pro'een una apro"imacin estructural pero no matem$tica al
an$lisis y dise%o de los sistemas de agentes# y que toman mucha de su inspiracin de las
metodologas de an$lisis y dise%o orientado a agentes y apro"imaciones de ingeniera de
conocimiento. 1dem$s se comentan m&todos formales para ingeniera de sistemas
Multiagentes.
Por 2ltimo se discuten prolemas# retos y aspectos que deen ser manejados si se espera
que los agentes logren su potencial como un paradigma de ingeniera de software.
Anlisis y diseo de agentes
!as metodologas de desarrollo informales para el an$lisis y desarrollo de sistemas
asados en agentes pueden ser ampliamente di'ididos en dos grupos3
!as que tienen su inspiracin en el desarrollo orientado a ojetos# y e"tienden
metodologas orientadas a ojetos e"istentes o las adaptan para los propsitos de
la 4ngeniera de Software .rientada a 1gentes.
!as que adaptan la ingeniera de conocimiento u otras t&cnicas.
Como ejemplos de la primera se tienen la 1144 Methodology de 5inny et al# 6aia
de Wooldrige et al# 1gent +M! de .dell et al. Como representantes de la segunda se
tienen (ES47E de 8reur et al# Cassiopeia de Collinot et al y una especificacin en el
lenguaje 9 reali,ada por !uc: and d;4n'erno.
Mtodos Formales para AOSE
+na de las $reas de traajo m$s acti'as en 4ngeniera de Software .rientado a 1gentes
ha sido el uso de m&todos formales. <alando de manera amplia# los m&todos formales
juegan tres roles en la ingeniera de software3
Especificacin de sistemas.
Programacin de sistemas directamente.
=erificacin de sistemas.
Conclusin
!a ingeniera de Software .rientada a 1gentes se encuentra en una etapa temprana de
su e'olucin. !as metodologas preliminares y herramientas para dar soporte al
desarrollo de sistemas de agentes est$n empe,ando a aparecer# pero lentamente. Seg2n
el autor# estos son algunos de los ost$culos que se deen 'encer para que la 1.SE
alcance su potencial3
Poner en orden la relacin de los agentes a otros paradigmas de software 0
ojetos en particular. 8oda'a no es claro como el desarrollo de sistemas de
agentes 'a a coe"istir con otros paradigmas de software# como el desarrollo
orientado a ojetos.
Metodologas orientadas a agentes3 1unque e"isten 'arias metodologas para el
an$lisis y dise%o de sistemas asados en agentes# e"iste poco consenso entre
estas. >o e"iste un acuerdo entre la clase de conceptos que estas metodologas
deeran sustentar. 1dem$s est$ la presencia de +M! como el lenguaje de
modelado predominante pera sistemas orientados a ojetos3 las clases de
conceptos y notaciones soportadas por +M! no son necesariamente las m$s
adecuadas para el desarrollo de sistemas orientados a agentes.
4ngeniera para sistemas aiertos. !os agentes son adecuados para sistemas
aiertos. En los mismos# es esencial poder reaccionar a e'entos impre'istos#
apro'echando las oportunidades donde aparecen# y llegando a acuerdos
din$micamente con componentes del sistema cuya presencia no pudo ser
predicha en el momento de dise%o. Sin emargo# es difcil saer como
especificar estos sistemas? y a2n menos saer como implementarlos. Se necesita
un mejor entendimiento de cmo ingeniar sistemas aiertos.
4ngeniera para escalailidad. Se necesita un mejor entendimiento de cmo
ingeniar de manera segura y predecile sistemas que comprendan un n2mero
masi'o de agentes interactuando unos con otros para lograr su ojeti'o. Estos
sistemas est$s propensos a comportamientos caticos e inestales#
retroalimentacin# etc.# y pueden caer ante comportamientos maliciosos tales
como los 'irus.