![Page 1: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/1.jpg)
Arquitectura y funcionalidad de SALSA
presentado porMarcela Rodríguez
Noviembre, 2004
![Page 2: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/2.jpg)
Contenido
• Cómputo Ubicuo• Agentes• Arquitectura de SALSA• Sistema basado en SALSA• API de SALSA• Hola Mundo de SALSA
![Page 3: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/3.jpg)
Definiciones
“La creación de ambientes saturados de computación y comunicación inalámbrica, integrados en forma natural a la actividad humana”
M. Satyanarayanan
“…realza el uso de la computadora, ya que hace posible que muchas computadoras estén disponibles en un ambiente físico, y a la vez, de forma invisible al usuario.”
Mark Weiser
Cómputo Ubicuo
![Page 4: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/4.jpg)
Características Extiende la capacidad
computacional al entorno del usuario
La información está presente en todas partes en forma de dispositivos de todas escalas conectados en red Muchos dispositivos
conectados Lo mas transparente
posible para el usuario.“omnipresencia” de la computación
Cómputo Ubicuo
![Page 5: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/5.jpg)
![Page 6: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/6.jpg)
Términos relacionados
• Realidad aumentada• Cómputo penetrante • Computadora invisible (o que
desaparece)• Computación conciente del
contexto• Computación proactiva• Inteligencia ambiental (AmI)
Cómputo Ubicuo
![Page 7: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/7.jpg)
Computación Conciente del Contexto
Contexto• Cualquier información que caracteriza una
situación relacionada a la interacción entre usuarios, aplicaciones y el ambiente que nos rodea [Dey y Abowd, 2000]
Sistema Conciente del Contexto • Software que se adapta de acuerdo a su
ubicación de uso, a la colección de objetos y personas cercanas, así como a los cambios a dichos objetos a través del tiempo [Schilit y Theimer 1994].
Cómputo Ubicuo
![Page 8: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/8.jpg)
Inteligencia AmbientalCómputo Ubicuo
Ubiquitous Computing
PDA Cell Phone
Red AD HOC
(c)
LAN(a)
Laptop
Server Printer
INTERNETPC
Server
Access Point
PC
WLAN(b)
Laptop
Access Point
Red AD HOC
(d)
HCI
Context-aware Computing IM
Client
Initialize and Register
Perception
Reasoning
Action
X Y
SS3SS2SS1
notify()
AgentArtificial
Intelligence
AmI
![Page 9: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/9.jpg)
Características de AmI
Reactivity
Opportunistic access
Case Base Reasoning
Autonomous Agents
Neural Networks
Effortless interactions
Presentation of services
Distributed
Mobility
Interoperability
Scalability
Heterogeneity
Cómputo Ubicuo
![Page 10: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/10.jpg)
Motivación de SALSA
• Agentes autónomos para abordar algunas de las complejidades del cómputo ubicuo
• Agentes autónomos como una abstracción de diseño de sistemas ubicomp
• Necesidades de herramientas (arquitecturas, middleware, frameworks, etc.) para el desarrollo iterativo de ambientes ubicuos
Cómputo Ubicuo
![Page 11: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/11.jpg)
Agentes Autónomo
• Es una entidad encapsulada que resuelve problemas y exhibe las siguientes propiedades:– Proactividad, Reactividad,
Comportamiento colaborativo, Movilidad
• Tiene la capacidad de decidir qué acciones ejecutar y cuándo ejecutarlas de acuerdo con el contexto de la situación
Agentes
![Page 12: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/12.jpg)
Agentes en Ubicomp
• Agentes como asistentes personales,• actúan en representación de usuarios,• representan dispositivos (proxy a
dispositivos),• proporcionan servicios e información
relevantes a la actividad del usuario,• Esconden una funcionalidad compleja
al usuario.
Agentes
![Page 13: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/13.jpg)
Ciclo de vida de los agentesSALSA
perceiving
deactivated
killed
activated
evaluatingselectingactions
reasoning
suspended
executing
communicating
acting
![Page 14: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/14.jpg)
Arquitectura de SALSA
Plataformade Communicación
Proxy al Broker
Percepción
Acción
Razonamiento
Eventos
Communicaión Movilidad
Inicializar
y
Registrar
Directoriode Agentes
Libreríade clases (API) Servicios
Derivar Contexto
Broker de Agentes
3. Middleware SALSA
![Page 15: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/15.jpg)
CHIS (“Context-aware Hospital Information System”)
Location-estimation
![Page 16: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/16.jpg)
HISHIS Agent
(HIS-a)
Server
HISHIS Agent
(HIS-a)
PDA
Location-estimation
Agent (LE-a)
Locationt-awareClient
IM&P server: Agent Broker
Server
HISHIS Agent
(HIS-a)
Server
Context-awareAgent (CA-a)
PDA
Location-estimation
Agent (LE-a)
Location-awareclient
IM&P server: Agent Broker
WLAN
Server
Location-estimation (LE-a)<<mobile>>
CHIS (“Context-aware Hospital Information System”)
![Page 17: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/17.jpg)
Ventajas del Directorio de Agentes
• Servicios “yellow-pages” y “white-pages”
• Guarda la configuración del ambiente• Facilita su recuperación• LDAP (Lightweight Directory Access
Protocol )– Proporciona acceso cliente-servidor a
directorios en red– Permite buscar, leer, agregar, borrar, y
actualizar un directorio
Directorio de Agentes
![Page 18: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/18.jpg)
Reasoning
UserEvent
ArriveResponseEvent
ArriveInfoEvent
ArriveContextualMsgEvent ArriveRequestEvent
ArriveComponentEvent
StateChangeEvent
CommandRequestEvent ArriveCommandEvent
Broker
Action
AgentDirectoryInterface
AgentAttributes
Acting
PassivePerception
Agent
Event
generate
ActivePerception
11
generate
BrokerProxy0..*0..*
send/receive
send
ActiveEntityToPerceive
XMLMessage
SensorData
PassiveEntityToPerceive
Input
perceives
perceives
XMLPresence
![Page 19: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/19.jpg)
Tutorial de SALSA
![Page 20: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/20.jpg)
Contenido
• Creación de Agentes• Comunicación• Eventos de SALSA• Derivando Contexto Secundario• Atributos de los Agentes• Directorio de Agentes• Instalación
![Page 21: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/21.jpg)
Tipos de Agentes SALSA
• Tipos de agentes que se pueden crear según su funcionalidad:– Agente que representa a un usuario– Agentes que ofrece o representa un
servicio– Agente que envuelve una
funcionalidad compleja del sistema, que requiere ser transparente al usuario
Creación de Agentes
![Page 22: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/22.jpg)
Comunicación de los Agentes
• Las modalidades de comunicación entre agentes son:– Comunicación a través del Broker (los
agentes perciben información de otros agentes y actúan comunicándose por medio del Broker (servidor de MI)
– Comunicación directa (p.ej. un agente percibe información de un sensor y la comunica a otro agente directamente, por privacidad)
Creación de Agentes
![Page 23: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/23.jpg)
1. Crear los siguientes componentes del Agente:
A) Razonamiento: Extender la clase SALSA.Reasoning y sobreescribir el método think(EventObject ev)
B) Acción: Extender la clase SALSA.Action y sobreescribir el método execute()
NOTA: En este primer ejemplo de un agente SALSA, la Percepción y comunicación, se realiza a través de MI utilizando el Cliente Jabber de SALSA.
Creación de Agentes
Pasos para crear un Agente
![Page 24: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/24.jpg)
2. Se extendiede la clase SALSA.Agent class MyAgent extends Agent
3. En el constructor del agente se inicializan sus atributos y componentes:
– Especificar la dirección Jabber de este agente, poniendo el atributo JabberID attributes.setJabberID(agent@ServJabber)
– Especificar el cliente Jabber jc=new JabberClient(serv,pto,nombre,pwd)
Creación de Agentes (con comunicación via el Broker)
… Pasos para crear un Agente
![Page 25: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/25.jpg)
… Pasos para crear un Agente
– Crear una instancia del componente de Razonamiento
– Activar el agente invocando el método activate(razonamiento,clienteJabber)
• Crear una instancia del Agente MyAgent myAgent=new MyAgent()
Creación de Agentes (con comunicación via el Broker)
![Page 26: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/26.jpg)
Componente de RazonamientoCreación de Agentes
Se extiende de Reasoning
Se sobreescribe método think() con la lógica del razonamiento
Se invoca la acción(es)
![Page 27: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/27.jpg)
Componente de AcciónCreación de Agentes
Se extiende de Action
Se sobreescribe método execute()
![Page 28: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/28.jpg)
Agente Hola MundoCreación de Agentes (con comunicación via el Broker)
![Page 29: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/29.jpg)
Contenido
• Creación de Agentes• Comunicación• Eventos de SALSA • Derivando Contexto Secundario• Atributos de los Agentes• Directorio de Agentes• Instalación
![Page 30: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/30.jpg)
Comunicación mediante el Broker
Una acción de un agente puede requerir
comunicación con otros agentes para:• Negociar por un servicio• Solicitar información• Comunicar información percibida desde un
sensor o dispositivo del ambiente• Enviar su presencia que indique su estado
actual• Actualizar su componente de razonamiento
(**movilidad)
Comunicación
![Page 31: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/31.jpg)
Negociar por un servicioA : Agent B : Agent
sendCommandRequest(command)
act(command)
sendNotificationInfo( )
Se notifica si se ejecutó la acción
A : Agent B : Agent
sendCommandRequest(command)
act(command)
sendResponseInfo( )
Se envía información generada por la acción
Comunicación
A : Agent B : Agent
sendCommandRequest(command)
act(command)
![Page 32: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/32.jpg)
Solicitar InformaciónComunicación
A : Agent B : Agent
sendRequest( )
sendResponse( )
act(retrievInfo )
A : Agent B : Agent
sendRequest( )
sendNotificationInfo( )
Se notifica que no es posible proporcionar esta información
act(retrieveInfo)
![Page 33: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/33.jpg)
Comunicar información de un sensor
Comunicación
A : Agent B : Agent
sendDataSensor(data)
act()
![Page 34: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/34.jpg)
Comunicación mediante el Broker
• El componente de Acción (clase Action) provee de métodos de comunicación
• Se envían mensajes XML a través del Broker
• Cuando el agente recibe un mensaje, el componente de Razonamiento recibe un evento que indica el tipo de mensaje y contiene al mensaje
Comunicación
![Page 35: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/35.jpg)
Recepción de un mensaje
public class AgentDirectoryReasoning extends Reasoning{
public void think(EventObject ev){
SALSA.Events.Event event=(Event)ev;
if(event.getType()==event.ArriveRequestEvent) {
Utilidades.Parser p = new Utilidades.Parser(event.xml);//PARSEO DE MENSAJE XML:
String tipoRequest=p.getTag("type"); //SE OBTIENE EL TIPO INFO. SOLICITADA String to=p.getAtt(p.raiz,"from"); //SE OBTIENE QUIEN ENVIO EL MENSAJE String ldap_info = retrieveLDAP(); //RECUPERA INFORMACION DEL DIRECTORIO LDAP
//LA ACCION DEL AGENTE ES ENVIAR LA INFORMACION DE LDAP acting.act(new AgentDirectoryAction(to,tipoRequest,ldap_info)); } }}
Comunicación mediante el Broker
Se verifica qué tipo de evento se generó
El método think() recibe un evento indicando el tipo de información recibida
Se analiza el mensaje
![Page 36: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/36.jpg)
Envío de un mensajepublic class AgentDirectoryAction extends SALSA.Action{String ldap; //informacion del directorio de AgentesString to;String type;
public AgentDirectoryAction(String to,String type,String ldap) { this.ldap=ldap; this.to=to; this.type=type; }
public Object execute(){ sendResponse(to,"",type,ldap); return null; }}
Comunicación mediante el Broker
El método execute() contiene la acción(es) a ejecutar
![Page 37: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/37.jpg)
Métodos de Comunicaciónpublic class HelloWorldAction extends Action{
public Object execute(){ sendCommandRequest("mapa@jabber","","desplegar",
"<mapa>emergencias<mapa>");
sendNotificationInfo("display@jabberClient","","mapa_no_disponible",
"<mapa>emergencias<mapa>");
sendRequest("da@jabber","","UsersAndServices","<area>mi</area>"); sendResponse("agente@jabber","","UsersAndServices",ldap_info);
sendDataSensor("paciente","","glucose","<nivel>80</nivel>");
return null; }}
Comunicación mediante el Broker
![Page 38: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/38.jpg)
Métodos de ComunicaciónComunicación mediante el Broker
![Page 39: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/39.jpg)
Métodos de ComunicaciónComunicación mediante el Broker
![Page 40: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/40.jpg)
Contenido
• Creación de Agentes• Comunicación entre Agentes• Eventos de SALSA• Derivando Contexto Secundario• Atributos de los Agentes • Directorio de Agentes• Instalación
![Page 41: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/41.jpg)
Eventos de SALSA
![Page 42: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/42.jpg)
Contenido
• Creación de Agentes• Comunicación entre Agentes• Eventos de SALSA • Derivando Contexto Secundario• Atributos de los Agentes• Directorio de Agentes• Instalación
![Page 43: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/43.jpg)
Contexto SecundarioDerivando Contexto Secundario
XSL
<tipoLuz>medio</tipoLuz>
<sonido>40</sonido>
<noPersonas>30</noPersonas>
<contexto type=ActividadSocial> fiesta
</contexto>
![Page 44: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/44.jpg)
Derivando contexto secundariopublic class HelloWorldReasoning extends Reasoning{ public void think(EventObject ev){
//Se crea instancia de SecondaryContext y se especifica el arch.xsl //que contiene las reglas para derivar contexto SecondaryContext sd=new SecondaryContext(xsl);
//Se especifican las variables contextuales sd.setContextualVariable("nivelLuz"); sd.setContextualVariable("nivelRuido"); sd.setContextualVariable("noPersonas");
//Se deriva contexto String xmlSecondaryContext=sd.derive(ev); //Se analiza xmlSecondaryContext ......
}}
Derivando contexto secundario
![Page 45: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/45.jpg)
Analizando un mensaje xml
• Clase Parser del paquete Utilidades:
Utilidades.Parser p = new Utilidades.Parser(event.xml);//PARSEO DE MENSAJE XML: String contexto=p.getTag(“contexto"); //SE LEE VALOR DE
ETIQUETA CONTEXTO String tipo=p.getAtt(p.raiz,“type"); //SE LEE VALOR DE
ATRIBUTO
Derivando contexto secundario
![Page 46: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/46.jpg)
Contenido
• Creación de Agentes• Comunicación entre Agentes• Eventos de SALSA • Derivando Contexto Secundario• Atributos de los Agentes• Directorio de Agentes• Instalación
![Page 47: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/47.jpg)
Atributos del Agente
![Page 48: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/48.jpg)
Contenido
• Creación de Agentes• Atributos de los Agentes• Comunicación entre Agentes• Eventos de SALSA• Derivando Contexto Secundario• Atributos de los Agentes • Directorio de Agentes• Instalación
![Page 49: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/49.jpg)
AgentDirectory ad=new AgentDirectory((“AD@pc-coolab5");
ad.register(agentito1,"user"); //Solicitudes al directorio de agentes ad.requestAllServices(); ad.requestByService(); ad.requestServicesByArea();
Directorio de Agentes
![Page 50: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/50.jpg)
Contenido
• Creación de Agentes• Atributos de los Agentes• Comunicación entre Agentes• Eventos de SALSA• Derivando Contexto Secundario• Atributos de los Agentes• Directorio de Agentes• Instalación
![Page 51: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/51.jpg)
• Incluir en classpath:– SALSA.jar (API para crear agentes)– Client.jar (API para crear un cliente
jabber)– Utilidades.jar (API para parsear doc
XML)
• Instalar un servidor Jabber:Timp Management Console 0.9.40, paraWindows, http://www.tipic.com
Instalación
![Page 52: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/52.jpg)
Percibiendo de sensores/dispositivosCreación de Agentes
![Page 53: Arquitectura y funcionalidad de SALSA presentado por Marcela Rodríguez marcerod@cicese.mx Noviembre, 2004](https://reader036.vdocumento.com/reader036/viewer/2022062315/5665b4601a28abb57c90fd21/html5/thumbnails/53.jpg)
…Percibiendo de sensores/dispositivosCreación de Agentes
Este agente no percibe, ni se comunica via el broker