Reunión DAMMAD

37
DAMMAD 31/10/03 Reunión DAMMAD Grupo de Inteligencia Artificial Dpto. de Ciencias Experimentales e Ingeniería Universidad Rey Juan Carlos Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Arquitectura Software (Demostrador Bilbao)

description

Reunión DAMMAD. Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión. Arquitectura Software (Demostrador Bilbao). Grupo de Inteligencia Artificial Dpto. de Ciencias Experimentales e Ingeniería Universidad Rey Juan Carlos. Arquitectura de referencia. - PowerPoint PPT Presentation

Transcript of Reunión DAMMAD

Page 1: Reunión DAMMAD

DAMMAD31/10/03

Reunión DAMMAD

Grupo de Inteligencia ArtificialDpto. de Ciencias Experimentales e Ingeniería

Universidad Rey Juan Carlos

Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión

Arquitectura Software(Demostrador Bilbao)

Page 2: Reunión DAMMAD

DAMMAD31/10/03

Arquitectura de referencia

AIAi

UIA1

MA1

MA2

MAn

DA1

ConnectionAgents

PeripheralAgents

Management Agents

AMS DF

...

...

UIAm

UIA2

...

InterfaceAgents

DAk

AIA1

...

...

PA1 PAj...

Page 3: Reunión DAMMAD

DAMMAD31/10/03

Arquitectura Conceptual del prototipo

UIA

PDA06

DA

AMS DF

PDA02

CADemetraCA

Atena

PDA12

PDA09PDA

03

CAElen

a

CACassandr

CABrisei

de

PDA04

PDA01

PDA07

PDA05

PDA10

PDA08

PDA11

Page 4: Reunión DAMMAD

DAMMAD31/10/03

Arquitectura Conceptual del prototipo

UIA

PDA06

DA

AMS DF

PDA02

CADemetraCA

Atena

PDA12

PDA09PDA

03

CAElen

a

CACassandr

CABrisei

de

PDA04

PDA01

PDA07

PDA05

PDA10

PDA08

PDA11

Page 5: Reunión DAMMAD

DAMMAD31/10/03

Arquitectura Conceptual del prototipo

UIA

PDA06

DA

AMS DF

PDA02

CADemetra

CAAten

a

PDA12

PDA07

PDA11

Page 6: Reunión DAMMAD

DAMMAD31/10/03

Software SKADS

• Sobre plataforma (FIPA) de agentes JADE• Agentes programados en JAVA• Bases de Conocimiento

Patrones (KSM) -> integración de KSM Jess

• Formatos de Ontologías KSM Jess JADE

Page 7: Reunión DAMMAD

DAMMAD31/10/03

Integración de KSM

• Las primitivas se encapsulan en agentes JADE Integración de C++ y JAVA (JNI) Envoltorio de agente

• Las Bases de Conocimiento y Vocabularios Conceptuales se mantienen internos a cada agente, pero “ocultos” a la plataforma JADE.

• En la ontología JADE (para la comunicación entre agentes) sí se definen los tipos de datos de KSM

• Comunicación mediante ACL y protocolos FIPA

Page 8: Reunión DAMMAD

DAMMAD31/10/03

Primitivas KSM

• Programadas en C++ (Marcos, Reglas, ...)• Métodos principales

Cargar Base de Conocimiento Ejecutar una Tarea

una misma primitiva puede propocionar varias tareas se pasan entradas + parámetros y devuelve salidas + estado

de control

• Tipos de datos intercambiados en KSM: Booleanos, enteros, reales, símbolos, listas, hechos

discretos, ... ArgBool, ArgInt, ArgReal, ArgSymbol, ArgList,

ArgDiscreteFact, ...

Page 9: Reunión DAMMAD

DAMMAD31/10/03

Area de Conocimiento Area de Conocimiento Area de Conocimiento

Primitiva(Reglas)

Primitiva(Marcos)

Primitiva(Restricciones)

Comunicación en FIPA ACL

Agentificación de KSM

Agente 1 Agente 2 Agente 3

Page 10: Reunión DAMMAD

DAMMAD31/10/03

Protocolos de Comunicación

• Cargar BC Protocolo: FIPA-Request Request con acción “Cargar

BC” con fichero de BC y VC Si se carga sin errores =>

inform-done Si algún problema =>

failure/not-understood

Page 11: Reunión DAMMAD

DAMMAD31/10/03

Protocolos de Comunicación

• Ejecutar Tarea Protocolo: FIPA-Query Query-ref preguntando por

valor del resultado de ejecutar una tarea

Las entradas se admiten en formato de datos y en modo string

Si no hay errores => inform con el resultado + estado control

Si algún problema => failure/not-understood

Page 12: Reunión DAMMAD

DAMMAD31/10/03

Arquitectura Software del Prototipo

UIA

PDA06

DA

AMS DF

PDA02

CADemetra

CAAten

a

PDA12

PDA07

PDA11

KSM06

KSM02

KSM12

KSM07

KSM11

ComAten

ConfAten

AccAten

ComAten

ConfAten

AccAten

Page 13: Reunión DAMMAD

DAMMAD31/10/03

Ontologías

• Ontologías de KSM Vocabularios conceptuales (Concel) para BCs Tipos de datos de las primitivas

• Ontologías de JADE La utilizada en la interacción entre agentes

• Ontologías de Jess

• Problemas resueltos Conversión de ontología JADE a tipos de datos KSM (C+

+) y viceversa Conversión de ontología JADE a hechos JESS y viceversa BCs de KSM y JESS comparten ontología: traducción de

Concel (KSM) a JESS

Page 14: Reunión DAMMAD

DAMMAD31/10/03

Arquitectura Software del Prototipo

UIA

PDA06

DA

AMS DF

PDA02

CADemetra

CAAten

a

PDA12

PDA07

PDA11

KSM06

KSM02

KSM12

KSM07

KSM11

ComAten

ConfAten

AccAten

ComAten

ConfAten

AccAten

Page 15: Reunión DAMMAD

DAMMAD31/10/03

DA

• Informa de datos de sensores• Protocolo FIPA-Query-ref• Lee de fichero cada 5’ con formato

(deffacts sensores

(sensor(id "301001")(velocidad 74)(ocupacion 14.6)(saturacion 14.53)(vehiculos 87))

(sensor(id "301002")(velocidad 80)(ocupacion 10.7)(saturacion 11.59)(vehiculos 77))

(sensor(id "301003")(velocidad 75)(ocupacion 6.3)(saturacion 6.31)(vehiculos 38))

...)

• Posible conexión con simulador JADE corriendo en LABEIN con DA subscrito a la plataforma

de Madrid El simulador deja los ficheros en un directorio El DA con acceso a ese directorio

Page 16: Reunión DAMMAD

DAMMAD31/10/03

PDAs

• BCs Abstracción (cálculo exceso, demanda) (JESS)

En dos ficheros: uno genérico y uno de dominio (rangos veloc,...)

Identificación de problemas (Marcos KSM) Cálculo de gravedad (JESS) Cálculo estado general (JESS)

• Protocolos FIPA-Subscribe: “inform” al CA cada vez que detecta un

problema FIPA- Query-Ref: al DA para pedirle los datos de los

sensores FIPA- Query-Ref: para informar al CA sobre estado general

Page 17: Reunión DAMMAD

DAMMAD31/10/03

PDAs

• Ejecución Se piden datos de los sensores (query-ref al DA) Abstraer las medidas (BC Abstracción) Obtener lista de problemas (BC Problemas) Para cada problema (patrón), calcular su gravedad (BC

Gravedad) Seleccionar el problema más grave Calcular el estado general del área (BC Estado general) y

guardarlo para cuando se solicite Informar a CA subscrito la información sobre el problema

Page 18: Reunión DAMMAD

DAMMAD31/10/03

CAs

• Se subscribe a los PDAs• BCs

Comunicación (Marcos KSM) Propuestas de señalización (Marcos KSM) Detección de Conflictos (Marcos KSM) Resolución de conflictos (JESS): dos ficheros

• Protocolos FIPA- Subscribe: a los PDAs para que informen de problemas

detectados FIPA- Query-Ref: a los PDAs para preguntar el estado

general FIPA- Inform: para intercambio de propuesta local con otros

CAs

Page 19: Reunión DAMMAD

DAMMAD31/10/03

CAs

• Cuando se recibe “inform” de un problema Guardarlo Obtener los PDAs con los que comunicarse (BC

Comunicación) Solicitar el “estado general” a esos agentes

• Cada cierto tiempo (10’) se aplica lo siguiente: Para cada problema, calcular propuestas de señalización

(BC Propuestas) Calcular propuesta LOCAL sin conflictos (BC Resolución

Conflictos) Obtener CAs con los que comparte paneles (BC Conflictos) Intercambiar con esos CAs la propuesta local Modificar propuesta local para evitar conflictos (BC

Resolución Conflictos)

Page 20: Reunión DAMMAD

DAMMAD31/10/03

UIA

• En desarrollo ...• Muestra los problemas detectados en las

distintas áreas Se subscribe a detección de problemas de todos los

PDAs

• Muestra propuestas de señalización de cada agente Se subscribe a propuestas de señalización de los CAs

Page 21: Reunión DAMMAD

DAMMAD31/10/03

Ejemplo de interacción entre agentes

• PDA pide datos de sensores a DA• PDA detecta problema e informa a su CA (y UIA)

Pide a KSM detectar problemas KSM devuelve lista de problemas

• CA solicita el estado general a PDAs Pide a KSM obtener la lista de PDAs con los que

comunicarse (BC Comunicación)

• CA intercambia propuesta local Calcular propuestas de control (BC Propuestas) Pide a KSM los CAs con los que comparte paneles (BC

Conflictos)

• CA envía propuesta a UIA

Page 22: Reunión DAMMAD

DAMMAD31/10/03

Interacción entre agentes

• PDA pide datos de sensores a DA• PDA detecta problema e informa a su CA (y UIA)

Pide a KSM detectar problemas KSM devuelve lista de problemas

• CA solicita el estado general a PDAs Pide a KSM obtener la lista de PDAs con los que

comunicarse (BC Comunicación)

• CA intercambia propuesta local Calcular propuestas de control (BC Propuestas) Pide a KSM los CAs con los que comparte paneles (BC

Conflictos)

• CA envía propuesta a UIA

Page 23: Reunión DAMMAD

DAMMAD31/10/03

PDA06 pide datos de sensores a DA

(deffacts sensores

(sensor(id "301001")(velocidad 74)(ocupacion 14.6)(saturacion 14.53)(vehiculos 87))

(sensor(id "301002")(velocidad 80)(ocupacion 10.7)(saturacion 11.59)(vehiculos 77))

(sensor(id "301003")(velocidad 75)(ocupacion 6.3)(saturacion 6.31)(vehiculos 38))

(sensor(id "301004")(velocidad 70)(ocupacion 15.3)(saturacion 15.96)(vehiculos 91))

(sensor(id "301005")(velocidad 74)(ocupacion 13.8)(saturacion 14.73)(vehiculos 88))

(sensor(id "301007")(velocidad 57)(ocupacion 14.6)(saturacion 13.84)(vehiculos 30))

(sensor(id "301008")(velocidad 54)(ocupacion 5.9)(saturacion 5.72)(vehiculos 52))

(sensor(id "301011")(velocidad 71)(ocupacion 12.8)(saturacion 12.81)(vehiculos 75))

...

)

Page 24: Reunión DAMMAD

DAMMAD31/10/03

• PDA pide datos de sensores a DA• PDA detecta problema e informa a su CA (y UIA)

Pide a KSM detectar problemas KSM devuelve lista de problemas

• CA solicita el estado general a PDAs Pide a KSM obtener la lista de PDAs con los que

comunicarse (BC Comunicación)

• CA intercambia propuesta local Calcular propuestas de control (BC Propuestas) Pide a KSM los CAs con los que comparte paneles (BC

Conflictos)

• CA envía propuesta a UIA

Interacción entre agentes

Page 25: Reunión DAMMAD

DAMMAD31/10/03

PDA06 pide a KSM06 detectar problemas

[d-fact('Rontegi tras Erandio','saturacion','alta'),

d-fact('Rontegi tras Erandio','ocupacion','alta'),

d-fact('Rontegi tras Erandio','velocidad','alta'),

d-fact('Rontegi antes Barakaldo','saturacion','alta'),

d-fact('Rontegi antes Barakaldo','ocupacion','alta'),

d-fact('Rontegi antes Barakaldo','velocidad','alta'),

d-fact('Rontegi tras Barakaldo','saturacion','alta'),

d-fact('Rontegi tras Barakaldo','ocupacion','alta'),

d-fact('Rontegi tras Barakaldo','velocidad','alta'),

d-fact('Salida a Barakaldo','saturacion','alta'),

d-fact('Salida a Barakaldo','ocupacion','alta'),

d-fact('Salida a Barakaldo','velocidad','alta')]

Page 26: Reunión DAMMAD

DAMMAD31/10/03

KSM06 devuelve lista de problemas

[[d-fact('Rontegi_tras_Barakaldo','localizacion','Rontegi tras Barakaldo'),

d-fact('Rontegi_tras_Barakaldo','estado','desbordamiento'),

d-fact('Rontegi_tras_Barakaldo','categoria','problema'),

d-fact('Rontegi sentido Cruces','estado','con problemas')],

[d-fact('Rontegi_antes_Barakaldo','localizacion','Rontegi antes Barakaldo'),

d-fact('Rontegi_antes_Barakaldo','categoria','problema'),

d-fact('Rontegi_antes_Barakaldo','estado','desbordamiento'),

d-fact('Rontegi sentido Cruces','estado','con problemas')],

[d-fact('Rontegi_tras_Barakaldo','localizacion','Rontegi tras Barakaldo'),

d-fact('Rontegi_tras_Barakaldo','estado','desbordamiento'),

d-fact('Rontegi_tras_Barakaldo','categoria','problema'),

d-fact('Rontegi sentido Cruces','estado','con problemas')],

[d-fact('Rontegi_tras_Erandio','localizacion','Rontegi tras Erandio'),

d-fact('Rontegi_tras_Erandio','estado','desbordamiento'),

d-fact('Rontegi_tras_Erandio','categoria','problema'),

d-fact('Rontegi sentido Cruces','estado','con problemas')]]

P1

P2

P3

P4

Page 27: Reunión DAMMAD

DAMMAD31/10/03

PDA06 informa a su CA (Atena)

[d-fact('Rontegi_tras_Erandio','localizacion','Rontegi tras Erandio'),

d-fact('Rontegi_tras_Erandio','estado','desbordamiento'),

d-fact('Rontegi_tras_Erandio','categoria','problema'),

d-fact('Rontegi sentido Cruces','estado','con problemas'),

d-fact('Rontegi sentido Cruces','gravedad','media')]

Page 28: Reunión DAMMAD

DAMMAD31/10/03

• PDA pide datos de sensores a DA• PDA detecta problema e informa a su CA (y UIA)

Pide a KSM detectar problemas KSM devuelve lista de problemas

• CA solicita el estado general a PDAs Pide a KSM obtener la lista de PDAs con los que

comunicarse (BC Comunicación)

• CA intercambia propuesta local Calcular propuestas de control (BC Propuestas) Pide a KSM los CAs con los que comparte paneles (BC

Conflictos)

• CA envía propuesta a UIA

Interacción entre agentes

Page 29: Reunión DAMMAD

DAMMAD31/10/03

Atena pide PDAs con los que comunicarse

• Query-ref a KSMComunicaciónAtenad-fact('Rontegi_antes_Barakaldo','localizacion','Rontegi antes Barakaldo')

d-fact('Rontegi_antes_Barakaldo','categoria','problema')

d-fact('Rontegi_antes_Barakaldo','estado','desbordamiento')

d-fact('Rontegi sentido Cruces','estado','con problemas')

d-fact('Rontegi sentido Cruces','gravedad','media')• Respuesta de KSMComunicaciónAtena

[d-fact('PDA02','comunicacion',si),

d-fact('PDA12','comunicacion',si)]

Page 30: Reunión DAMMAD

DAMMAD31/10/03

Atena solicita el estado general a PDAs

• PDA02

d-fact('Avanzada sentido Entrada','estado_general','medio')

• PDA12

d-fact('Eje Norte sentido Bilbao','estado_general','libre')

Page 31: Reunión DAMMAD

DAMMAD31/10/03

• PDA pide datos de sensores a DA• PDA detecta problema e informa a su CA (y UIA)

Pide a KSM detectar problemas KSM devuelve lista de problemas

• CA solicita el estado general a PDAs Pide a KSM obtener la lista de PDAs con los que

comunicarse (BC Comunicación)

• CA intercambia propuesta local Calcular propuestas de control (BC Propuestas) Pide a KSM los CAs con los que comparte paneles (BC

Conflictos)

• CA envía propuesta a UIA

Interacción entre agentes

Page 32: Reunión DAMMAD

DAMMAD31/10/03

KSMAtena da propuestas de señalización

[[d-fact('Rontegi sentido Cruces','disminucion de trafico',27), d-fact('panel Tuneles Avanzada','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN EJE NORTE'), d-fact('panel Sondika','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN SUBFLUVIAL

LAMIAKO‘), d-fact('panel Artaza','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN SUBFLUVIAL LAMIAKO'), d-fact('zona critica','problem area','Rontegi sentido Cruces'), d-fact('Eje Norte sentido Bilbao','aumento de trafico',8), d-fact('Lamiako sentido A8','aumento de trafico',19)], [d-fact('Rontegi sentido Cruces','disminucion de trafico',23), d-fact('Eje Norte sentido Bilbao','aumento de trafico',7), d-fact('panel Tuneles Avanzada','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN EJE NORTE'), d-fact('panel Artaza','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN SUBFLUVIAL LAMIAKO'), d-fact('panel Sondika','estado','apagado'), d-fact('zona critica','problem area','Rontegi sentido Cruces'), d-fact('Lamiako sentido A8','aumento de trafico',16)], [d-fact('Rontegi sentido Cruces','disminucion de trafico',8), d-fact('Eje Norte sentido Bilbao','aumento de trafico',8), d-fact('panel Tuneles Avanzada','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN EJE NORTE'), d-fact('panel Artaza','estado','apagado'), d-fact('panel Sondika','estado','apagado'), d-fact('zona critica','problem area','Rontegi sentido Cruces')] .... ]

Page 33: Reunión DAMMAD

DAMMAD31/10/03

KSMConflictos da CAs que comparten paneles

• Entrada

• Respuesta

[d-fact('panel Tuneles Avanzada','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES

COJAN EJE NORTE'),

d-fact('panel Sondika','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN

SUBFLUVIAL LAMIAKO'),

d-fact('panel Artaza','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN

SUBFLUVIAL LAMIAKO')][d-fact('Briseide',conflicto,si),

d-fact('Demetra',conflicto,si),

d-fact('Elena',conflicto,si),

d-fact('Atena',conflicto,si)]

Page 34: Reunión DAMMAD

DAMMAD31/10/03

Atena intercambia propuesta local

• Atena envía propuesta local a Demetra

[d-fact('panel Tuneles Avanzada','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES

COJAN EJE NORTE'),

d-fact('panel Sondika','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN

SUBFLUVIAL LAMIAKO'),

d-fact('panel Artaza','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN

SUBFLUVIAL LAMIAKO')]• Demetra envía propuesta local a Atena

[d_fact('panel Tuneles Avanzada','estado','PROBLEMAS EN EJE NORTE'),

d_fact('panel Santurtzi','estado','PROBLEMAS EN EJE NORTE COJAN SOLUCION

SUR PARA ACCEDER A BILBAO')]

Page 35: Reunión DAMMAD

DAMMAD31/10/03

• PDA pide datos de sensores a DA• PDA detecta problema e informa a su CA (y UIA)

Pide a KSM detectar problemas KSM devuelve lista de problemas

• CA solicita el estado general a PDAs Pide a KSM obtener la lista de PDAs con los que

comunicarse (BC Comunicación)

• CA intercambia propuesta local Calcular propuestas de control (BC Propuestas) Pide a KSM los CAs con los que comparte paneles (BC

Conflictos)

• CA envía propuesta a UIA

Interacción entre agentes

Page 36: Reunión DAMMAD

DAMMAD31/10/03

Atena envía propuesta revisada a UIA

[d-fact('panel Sondika','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN

SUBFLUVIAL LAMIAKO'),

d-fact('panel Artaza','estado','PROBLEMAS EN RONTEGI DIRECCION CRUCES COJAN

SUBFLUVIAL LAMIAKO')]

Page 37: Reunión DAMMAD

DAMMAD31/10/03

Reunión DAMMAD

Grupo de Inteligencia ArtificialDpto. de Ciencias Experimentales e Ingeniería

Universidad Rey Juan Carlos

Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión

Arquitectura Software(Demostrador Bilbao)