metodologias de agentes
Imagen
metodologias de agentes
Productos
Enlaces
 
metodologias de agentes
   
Esta pagina esta concebida parta tratar algunos metodos de modelado de agentes que consideramos de interes, espero te sirvan
COMMONKADS

CommonKADS es la metodología principal para utilizar la ingeniería de conocimiento estructurada. Ha sido desarrollado y validado gradualmente por muchas compañías y universidades. Actualmente es el estándar europeo para el análisis del conocimiento y el desarrollo de conocimiento-intensivo del sistema, se ha adoptado en su totalidad o ha sido incorporado en parte en métodos existentes por muchas compañías importantes en Europa, así como en los Estados Unidos y el Japón. Fue propuesta y desarrollada por un grupo de investigadores pertenecientes a diversos países de la Unión Europea, a través de un programa ESPRIT para la innovación y la aplicación de Tecnología Informática avanzada. El trabajo se comenzó en 1983 cuando había poco interés en tales metodologías. En ese momento, la construcción de sistemas de conocimiento estaba enmarcada bajo el paradigma de desarrollo por prototipos y de representación del conocimiento a través de reglas de producción, con hardware y software de propósito especial como máquinas LISP, herramientas especiales para sistemas expertos, etc. Lo que se pretendía era crear un estándar para ingeniería del conocimiento y sistemas de conocimiento con el cual se pudieran construir sistemas industriales de calidad a gran escala, en una forma estructurada y controlada.

Sobre esta metodología se han presentado varios artículos y ponencias en revistas y eventos especializados y se han escrito algunos libros, con el fin de que se conozca y aplique en la solución de problemas reales. A pesar de que el proyecto terminó en 1994, se han seguido desarrollado investigaciones alrededor de CommonKADS. Esto se ha logrado mediante el desarrollo de tesis doctorales que le han adicionado funcionalidad a la metodología, como por ejemplo algunas propuestas para comenzar a generar métodos de solución de problemas para el dominio del diagnóstico. Algunas son para añadirle características que permitan que la metodología se utilice en el desarrollo de sistemas multiagentes o para sistemas inteligentes en tiempo real.

Aunque en un principio parece una solución buena, dado que CommonKADS tiene una estructura bien definida, apoyada por los años de su existencia, la metodología original no cubre aspectos relevantes a redes bayesianas, en especial, no ofrece ninguna facilidad para modelar los elementos necesarios para la creación de redes bayesianas. Sin embargo la metodología CommonKADS original ofrece un buen marco para integrar los conceptos necesarios, aunque el modelo que la metodología original ofrece para la construcción de la red bayesiana es nula en esta tesis se extiende tomando todo lo bueno que ya tenía y se le agrega el uso de Redes Bayesianas. Una red bayesiana es una técnica de representación del conocimiento incierto. Los nodos de la red representan variables al azar y los arcos representan dependencias entre variables que las dependencias en una red bayesiana pueden representar los lazos causales, adonde las flechas señalan de las causas a los efectos. La inferencia bayesiana se utilizan comúnmente en diagnóstico, clasificación, predicción, recuperación de datos y modelación de usuarios, entre otras.
CommonKADS es una metodología diseñada para el desarrollo de sistemas basados en conocimiento (SBC) de forma análoga a los métodos empleados en ingeniería software. El desarrollo de esta metodología ha sido financiado por la Comunidad Europea entre 1983 y 1994 a través de varios proyectos [7].

La metodología CommonKADS sigue una aproximación al desarrollo de SBC como la construcción de un número de modelos interrelacionados que capturan los principales rasgos del sistema y de su entorno.

El proceso de desarrollo de SBC consiste en rellenar un conjunto de “plantillas” de los modelos. Asociados a estas plantillas, CommonKADS define “estados” de los modelos que caracterizan puntos importantes en el desarrollo de cada modelo. Estos estados permiten la gestión del proyecto, cuyo desarrollo se realiza de una forma cíclica dirigida por riesgos.

Hay seis modelos definidos en CommonKADS :

• Modelo de la Organización (OM): es una herramienta para analizar la organización en que el SBC va a ser introducido.

• Modelo de Tarea (TM): describe a un nivel general las tareas que son realizadas o serán realizadas en el entorno organizativo en que se propone instalar el SBC y proporciona el marco para la distribución de tareas entre los agentes.

• Modelo de Agente (AM): un agente es un ejecutor de una tarea. Puede ser humano, software o cualquier otra entidad capaz de realizar una tarea. Este modelo describe las capacidades y características de los agentes.

• Modelo de Comunicaciones (CM): detalla el intercambio de información entre los diferentes agentes involucrados en la ejecución de las tareas descritas en el modelo de tarea.

• Modelo del Conocimiento (KM): este es el corazón de la metodología CommonKADS y modela el conocimiento de resolución de problemas empleado por un agente para realizar una tarea. El Modelo del conocimiento distingue entre el conocimiento de la aplicación y el conocimiento de resolución del problema [23]. El conocimiento de la aplicación se divide en tres subniveles: nivel del dominio (conocimiento declarativo sobre el dominio), nivel de inferencia (una biblioteca de estructuras genéricas de inferencia) y nivel de tarea (orden de las inferencias).

• Modelo de Diseño (DM): mientras que los otros cinco modelos tratan del análisis del SBC, este modelo se utiliza para describir la arquitectura y el diseño técnico del SBC como paso previo a su implementación.

El marco de CommonKADS es adecuado como punto de partida por las siguientes razones:

• CommonKADS es la representante de las metodologías de ingeniería de conocimiento con mayor aceptación y ha sido aplicada con éxito en numerosos proyectos. De hecho, es considerada un estándar de facto, y el resto de metodologías la toman como marco de referencia para realizar comparaciones. Más aún, la terminología empleada y desarrollada en CommonKADS es la terminología empleada por toda la comunidad de adquisición de conocimiento.

• CommonKADS integra la gestión del proyecto en la metodología, y define formalmente todos los componentes de cada modelo de la metodología.

• CommonKADS tiene asociada una biblioteca de inferencias que facilita el desarrollo de sistemas basados en conocimiento.

• Los modelos de CommonKADS cubren aspectos como el modelado de la organización en que se va a introducir el sistema, modelado de interfaces hombre-máquina, etc., que no se incluyen normalmente en las metodologías de ingeniería software de forma explícita.

MASE

La metodología MaSE es una abstracción del paradigma orientado a objetos. Los agentes son objetos especializados (que pueden o no tener inteligencia), que se coordinan entre sí vía conversaciones y actúan proactivamente para alcanzar sus metas individuales y las del sistema. Esta metodología utiliza modelos representables gráficamente para describir al sistema en términos de: objetivos, comportamientos, tipos de agente y agentes de comunicación entre interfaces. Además ofrece la posibilidad de especificar una arquitectura independiente de los detalles de diseño interno del agente.
Como resultado de esta metodología se obtienen: diagramas de secuencia para especificar interacciones, diagramas de estados para representar procesos internos a las tareas y modelar interacciones, descomposición del sistema (agente) en subsistemas (componentes del agente) e interconexión de los mismos (definición de la arquitectura del agente). Estos son elementos característicos de UML (Unified Modelling Language).

MaSE es una metodología académica que cuenta con el soporte de la Fuerza Aérea de los
Estados Unidos. Se diseñó específicamente para modelar Sistemas Multiagente heterogéneos.
Además se contempla a los agentes como entidades que no necesariamente deben tener
inteligencia y que surgen como una especialización de los objetos, por lo cual, las técnicas que
utiliza MaSE provienen del paradigma orientado a objetos.
MaSE abarca desde la especificación inicial del sistema (provista por el usuario) hasta la
implementación del Sistema Multiagente. Se basa en el concepto de Roles mediante los cuales
se definen las clases de agente a implementar. En el análisis, se definen los roles y en el diseño
se definen las clases de agente así también como sus interacciones.

La metodología es iterativa, lo cual facilita el refinamiento tanto del análisis como del diseño.
Además se pueden volver pasos hacia atrás tantas veces como sea necesario (no es una
metodología estrictamente secuencial y progresiva).


Proceso MaSE – I
1. Capturando Metas Capturando Metas
• Especificación initial del sistema Especificación initial del sistema Þ estructurar estructurar
jerarqu jerarquía de metas a de metas
• Esto es similar a especificaci Esto es similar a especificación de requerimientos n de requerimientos
2. Aplicando Casos de Uso (es decir UML) Aplicando Casos de Uso (es decir UML)
• Casos de Uso y diagramas de secuencia basados en Casos de Uso y diagramas de secuencia basados en
especificación especificación
• Casos de Uso Casos de Uso – representan trayectos de interacción representan trayectos de interacción
lógica lógica
• Diagramas de secuencia Diagramas de secuencia – número de mensajes número de mensajes
necesarios necesarios
3. Refinando Roles Refinando Roles
• Crear roles correspondiendo a las metas (o un Crear roles correspondiendo a las metas (o un
conjunto de metas) conjunto de metas)
• Crear tareas Crear tareas – cómo alcanzar metas relacionadas al cómo alcanzar metas relacionadas al
rol

Proceso MaSE – II
4. Creando Clases de Agente Creando Clases de Agente
• Mapea roles a clases de agente en un diagrama Mapea roles a clases de agente en un diagrama
de clase de agente de clase de agente
• Parecido a diagrama de clase de objecto, pero la Parecido a diagrama de clase de objecto, pero la
semántica es de conversación de alto nivel en semántica es de conversación de alto nivel en
contraste con herencia (y encapsulamiento) contraste con herencia (y encapsulamiento)
5. Construyendo Conversaciones Construyendo Conversaciones
• Define protocolos de coordinación para la Define protocolos de coordinación para la
interacción con diagramas de estado interacción con diagramas de estado
6. Ensamblando Clases de Agente Ensamblando Clases de Agente
• Funcionalidades Internas de clases creadas Funcionalidades Internas de clases creadas
• Basadas en arquitecturas ya sea BDI, reactivas, Basadas en arquitecturas ya sea BDI, reactivas,
de planeación, basadas en conocimiento y de planeación, basadas en conocimiento y
definidas por el usuario. definidas por el usuario.
Proceso MaSE Proceso MaSE – III III
7. Diseño de Sistema Diseño de Sistema
u Crea instancias de las clases de agente Crea instancias de las clases de agente
presentadas en un diagrama de utilización presentadas en un diagrama de utilización
u Visión a futuro de MaSE Visión a futuro de MaSE
– Contar con Contar con generación generación automática de código automática de código
basada en diagramas de utilización basada en diagramas de utilización
GAIA


Gaia es una metodología académica que se compone de una etapa de análisis y otra de diseño.
Esta última sin embargo no llega a ser lo suficientemente específica como para llegar a la
implementación. En el análisis se trata de entender el sistema y su estructura, la cual se la define
mediante un conjunto de roles que interactúan entre sí. Un rol está definido por
responsabilidades (definen la funcionalidad), permisos (lectura, escritura y/o generación de
información, la cual es requerida para llevar a cabo las responsabilidades), actividades
(funciones que no requieren interacción con otros roles) y protocolos (funciones que sí
requieren interacción con otros roles). A su vez, dentro de las responsabilidades encontramos
propiedades de uso corriente y de seguridad. Las primeras no son más que actividades y
protocolos que el rol debe llevar a cabo de manera regular manteniendo así la correcta
funcionalidad del sistema. Las segundas tratan de mantener un estado invariable que permita
control sobre la ejecución del rol.
La metodología comienza con la especificación de requerimientos proveniente del usuario y
determina los roles e interacciones necesarios para cumplir dichos requerimientos (Gaia está
basada en el concepto de roles, al igual que MaSE). Luego en el diseño se definen las clases de
agentes, los servicios (formas de implementación de roles) y las relaciones entre agentes.
Una restricción de Gaia, comentada explícitamente por sus autores, es que no soporta el
aprendizaje, esto es; los servicios definidos para cada clase de agente permanecen estáticos, lo
que impide que un agente cambie su comportamiento.


Gaia - Panorama Panorama
u Soporta análisis y diseño a nivel Soporta análisis y diseño a nivel
micro micro
– Estructura de Agente Estructura de Agente
u Soporta análisis y diseño a nivel Soporta análisis y diseño a nivel
macro macro
– Sociedad de Agentes y Estructura Sociedad de Agentes y Estructura
Organizacional Organizacional
u Relaciones Relaciones inter inter-agente y agente y
habilidades de agente habilidades de agente
– Estática en tiempo de ejecución Estática en tiempo de ejecución
Þ Mayormente Mayormente útil en til en sistemas cerrados


Proceso de Análisis Gaia
1. Hallar Papeles (Roles) en el sistema Hallar Papeles (Roles) en el sistema
• Similar a hallar objetos y clases (naturales) en Similar a hallar objetos y clases (naturales) en
AOO AOO
2. Modelar interacciones entre roles Modelar interacciones entre roles
• Responsabilidades (funcionalidad) Responsabilidades (funcionalidad)
u Propiedades de Vivacidad ( Propiedades de Vivacidad (Liveness Liveness)
– ”algo bueno sucede” ”algo bueno sucede”
– estados que el agente debe causar dadas ciertas estados que el agente debe causar dadas ciertas
condiciones en el medio condiciones en el medio
– qué hace de bueno el agente para el sistema qué hace de bueno el agente para el sistema
u Propiedades de Seguridad ( Propiedades de Seguridad (Safety Safety)
– ”nada malo sucede” ”nada malo sucede”
– Invariantes, es decir, estados aceptables que deben Invariantes, es decir, estados aceptables que deben
mantenerse durante toda la ejecución mantenerse durante toda la ejecución
– ”red de seguridad” para el sistema

Proceso de Análisis Gaia
• Permisos Permisos
• qué le es permitido a hacer a ese rol qué le es permitido a hacer a ese rol
• ’derechos’ asociados con un rol ’derechos’ asociados con un rol
• Recursos (de información) disponibles para Recursos (de información) disponibles para
realizar la responsabilidad realizar la responsabilidad
• Actividades Actividades
• las tareas propias de los roles (no requieren las tareas propias de los roles (no requieren
interacción) interacción)
• Acciones privadas Acciones privadas
• Protocolos Protocolos
• Cómo puede interactuar con otros roles Cómo puede interactuar con otros roles
• patrones particulares de interacción ( patrones particulares de interacción (e.g e.g.
Subasta, red de contratos)

Proceso de Diseño Gaia Proceso de Diseño Gaia
1. Mapea roles en tipos de agente y crea Mapea roles en tipos de agente y crea
instancias de agente instancias de agente
• Similar a definir clases in DOO Similar a definir clases in DOO
• Similar a instanciar (el número correcto de) Similar a instanciar (el número correcto de)
objectos en DOO objectos en DOO
2.Determinar el modelo de servicios Determinar el modelo de servicios
• Cómo llenar un rol con uno o varios agentes Cómo llenar un rol con uno o varios agentes
3. Crear un modelo de ”conocidos” Crear un modelo de ”conocidos”
• Representación de comunicación entre agentes
Imagen
.
.
.
     
     
   
Escríbeme
Para más información