AGENTES DE SOFTWARE
Enviado por fabguerrero • 5 de Enero de 2014 • 10.067 Palabras (41 Páginas) • 241 Visitas
INDICE
1. Conceptos y características 2
1.1. Introducción 2
1.2. El concepto de Agente 3
2. Agentes y tipos de agentes a finales de los 90 4
2.1. A: Tipos de agentes según sus características individuales 4
2.1.1. Los Agentes reactivos: 4
2.1.2. Los Agentes cognitivos: 4
2.1.3. Consideraciones de ambos tipos de agentes 4
2.2. E: Tipos de agentes según en el entorno en el que funcionan 6
2.3. I: Tipos de agentes según el modo de interacción 7
2.4. O: Tipos de agentes según el modo de organización 7
2.5. U: Utilidad 8
3. Modelos y arquitecturas para la construcción de Agentes 9
3.1. Arquitecturas Deliberativas: 9
3.1.1. Arquitectura BDI: 9
3.1.2. Arquitectura Abstracta (Rao y Georgeff 1995) 11
3.2. Arquitecturas Reactivas: 11
3.3. Arquitecturas Híbridas: 12
4. Arquitecturas Multiagente 13
4.1. Características de un sistema multiagente: 13
5. Seguridad en el Desarrollo de Sistemas MultiAgente 15
6. La necesidad de métodos y herramientas para el desarrollo de agentes 16
6.1. Cuando desarrollar con agentes 16
6.2. La tecnología de agentes 17
6.3. Características deseables del lenguaje de programación de agentes 17
6.3.1. El lenguaje JAVA y su adopción en la construcción de agentes 18
6.4. Modelado con Agentes 20
6.4.1. Unificación de notaciones: AUML 20
6.4.2. Generación automática de código 20
6.4.3. Plataformas de agentes 20
7. Aplicaciones de los Sistemas Multiagentes 22
7.1. Aplicaciones Industriales 22
7.1.1. Diversidad de Aplicaciones: 22
7.2. Aplicaciones en Recuperación de Datos 24
7.2.1. Letizia 25
7.2.2. Amalthea 25
7.2.3. Webmate 25
7.2.4. Citeseer 26
7.2.5. Butterfly 26
7.3. Aplicaciones de comercio electrónico 26
7.3.1. Compranet 26
7.3.2. IBundler 27
7.3.3. MASFIT 27
7.4. Telecomunicaciones 28
7.4.1. Gestión de redes 28
7.4.2. Desarrollo de servicios de telecomunicaciones con agentes 28
TECNOLOGÍAS DE AGENTES
1. Conceptos y características
1.1. Introducción
El término agente evoca significados más ricos que el de objeto (agentes comerciales, ejecutivos, judiciales, etc.) pero no deja de ser un término abstracto y confuso, difícil de relacionar con la programación.
Los agentes software suelen presentarse como entidades computacionales con un comportamiento humanoide. Pueden funcionar en los equipos de los usuarios y en los nodos de las redes; tienen autonomía y capacidad de decisión, razonan, aprenden, se comunican con otros agentes, pueden organizarse, y desplazarse de un nodo a otro. Solos o colaborando con otros agentes, utilizan sus capacidades para ayudar al usuario para resolver sus problemas de forma inteligente, servicial y pro-activa.
Resulta fácil representarlos en el universo de Internet. Los agentes pueden ayudar al usuario a buscar los productos más baratos, negociar los precios, organizar un viaje planificando donde ir, y multitud de cosas más.
Detallaremos algunos puntos de la TA:
• La TA recoge los resultados de casi tres décadas de trabajos científicos. No se trata de algo nuevo ni recién salido de los laboratorios.
• No es una tecnología cerrada y terminada, se nutre de distintas corrientes tecnológicas procedentes de la Ingeniería de Software (IS), de la Inteligencia Artificial (IA) y de las telecomunicaciones.
• La implementación de los propios agentes y las aplicaciones con varios agentes tiene numerosas dificultades.
Ventajas en el desarrollo de aplicaciones utilizando agentes:
• Mejora la funcionalidad y la calidad, los sistemas basados en agentes son amigables, flexibles, adaptables a los gustos y hábitos del usuario.
• Menor costo. Los agentes facilitan la reusabilidad. Requieren menos recursos y menor tiempo de desarrollo que otros sistemas convencionales con menores prestaciones.
• Se reduce el mantenimiento facilitando la transformación y la evolución. La funcionalidad puede cambiarse de forma rápida modificando el conocimiento de los agentes, sus estrategias o sus objetivos.
• Se integran adecuadamente con otras tecnologías.
• Simplifican la labor de los ingenieros
1.2. El concepto de Agente
No existe una definición precisa pero pueden establecerse criterios que permitan distinguir lo que es un agente de lo que no es.
El término agente viene del latín “agere” que significa hacer. Expresa la capacidad de acción o actuación de una entidad. Una definición podría ser: “persona o cosa que produce un efecto”.
Parece claro que el substrato de los “agentes software” está formado por programas que se ejecutan en un procesador o en una red de procesadores.
Para saber qué es un agente software necesitamos características diferenciadoras del resto de entidades software.
El concepto de “agente” caracteriza a una entidad software con una arquitectura robusta y adaptable que puede funcionar en distintos entornos o plataformas computacionales y es capaz de realizar de forma “inteligente” y autónoma distintos objetivos intercambiando información con el entorno, o con otros agentes humanos o computacionales.
Las características destacables del comportamiento de un agente son:
• Funcionamiento continuo y autónomo.
• Comunicación con el entorno y con otros agentes.
• Robustez.
• Adaptabilidad como capacidad de realizar objetivos y tareas en distintos dominios de forma incremental y flexible.
Otros atributos importantes, aunque no todos los agentes los tienen son:
• Razonamiento y aprendizaje.
• Movilidad.
2. Agentes y tipos de agentes a finales de los 90
Yves Demazeau propuso un modelo de clasificación llamado de las vocales(AEIOU).
• La A (de agente) caracteriza sus rasgos individuales: arquitectura, funcionamiento interno, complejidad.
• La E del entorno caracteriza los requisitos computacionales para que el agente funcione.
• La I de la interacción considera las capacidades de comunicación
...