Terceros Encuentros de
Programadores Java
HLA. Introducción a los entornos virtuales distribuidos
Presentación
• David Fernández Mota
– Ingeniero informático [UJI]
• José Antonio Gil Altaba
– Ingeniero informático [UJI]
– Ingeniero técnico en diseño Industrial [UJI]
Historia
• Arquitectura de Alto Nivel (HLA)
– Nace como una necesidad del Departamento de Defensa americano (DoD).
– Creada en 1995 la Oficina de Modelado y Simulación de Defensa (DSMO).
– Forma parte de un plan
maestro de desarrollo de
una simulación global.
– Es el primer paso del plan.
– Se convierte en estándar
para todas las simulaciones
del DoD.
– Se convierte en el estándar
IEEE 1516.
Definición
•
“Es el pegamento que permite combinar simulaciones individuales para
formar una simulación mayor.” F. Kuhl, R. Weatherly, J. Dahmann.
•
“Es un estándar que describe una arquitectura middleware sobre la que los
desarrolladores pueden desarrollar simulaciones distribuidas.” A. Santos
•
“Es una arquitectura software de alto nivel basada en componentes
(federados), que intercambia objetos e interacciones a través de una capa de
servicios.” J. Gil, D. Fernández.
Características
Solución de necesidades:
– Interoperabilidad (Multiplataforma)
– Reusabilidad
Propias:
– Orientado a eventos
– No centralizada
Definiciones propias
Federación
Interacción
Federado
Parámetros
Objeto
Atributos
Instancia
RTI
¿En qué consiste HLA?
1. En un conjunto de reglas
2. En la especificación de una interfaz
3. En un Object Model Template (OMT)
1.1. Reglas de la federación
1. Las federaciones deben definir su Federation Object Model (FOM)
2. Todas las representaciones expresadas en el FOM deben estar en los
federados, y no en el RTI. Los servicios del RTI son genéricos.
3. Todos los intercambios de datos deben realizarse a través del RTI.
4. Los federados deben interactuar con el RTI de acuerdo con la
especificación impuesta por HLA.
5. Un atributo de una instancia de un objeto solo puede ser propiedad
de un único federado para un tiempo dado.
1.2. Reglas del federado
6. Los federados deben tener un Simulation Object Model (SOM).
7. Los federados deben gestionar los envíos y actualizaciones de los
objetos e interacciones especificadas en su SOM.
8. Los federados deben transferir y/o aceptar la propiedad de los
atributos dinámicamente durante la ejecución de la federación.
9. Los federados pueden modificar durante la ejecución las
condiciones de los objetos e interacciones especificados en el
SOM.
10. Los federados deben gestionar el tiempo local de forma que
permita coordinar el intercambio de datos con otros miembros de
la federación.
2. Especificación de la interfaz
Runtime Infraestructure (RTI)
• Proporciona los servicios:
–
–
–
–
–
–
Gestión de la federación
Gestión de las declaraciones
Gestión de las instancias
Gestión de la propiedad
Gestión de tiempo
Gestión de distribución de datos
Gestión de la federación
•
•
•
•
•
•
Creación: “Jugamos un juego”.
Unión de federados a la federación: “Yo quiero jugar”.
Salvar y recuperar: “Salvemos nuestro estado, para poder recuperar
la partida”.
Control sobre los puntos de sincronismo: “Esperad, sincronicemos”.
Desconectar federados de la federación: “Ahora quiero dejar el
juego”.
Destruir la federación: “Acabemos con el juego”.
Gestión de la federación
Gestión de la federación
Gestión de las declaraciones
•
•
•
Publicar: “Aquí está la información que compartiré”.
Subscribir: “Yo lo quiero conocer todo de él”.
Control: “Alguien me pregunta sobre que conozco”.
Gestión de las declaraciones
Gestión de las declaraciones
Gestión de las instancias
•
•
•
•
•
•
Registrar una instancia de un objeto: “Yo tengo un tanque nuevo”.
Actualizar atributos: “Uno de mis aviones ha cambiado de
dirección”.
Enviar interacciones: “El vuelo 501 solicita permiso para aterrizar”.
Eliminar instancia objetos: “El camión esta fuera de servicio”.
Cambio del protocolo de transporte.
Cambio en el orden de recepción de eventos.
Gestión de las instancias
Gestión de las instancias
Gestión de la propiedad
•
•
•
Ofrecer: “Alguien quiere simular el efecto del radar”.
Adquirir: “Gracias, yo acepto la responsabilidad de posicionar este
tanque”.
Consultar: “¿Quien está gestionando el fuel del camión?”.
Gestión de la propiedad
Gestión de la propiedad
Gestión del tiempo
•
•
•
•
•
Establecer una política: “Envíame los eventos en orden de tiempo
lógico”.
Preguntar el tiempo: “¿Qué hora es?”.
Intervalos: “Te proporciono 20 minutos para realizar los cambios”.
Avance de tiempo: “Mueve el tiempo actual a 5 segundo más”.
Próximo evento: “Mueve hasta el próximo evento”.
•
Vaciar cola.
Gestión del tiempo
Gestión del tiempo
3. Object Model Template
FOM: describe los objetos e interacciones que
un federado puede transmitir por la
federación.
SOM: especificará sobre que objetos e
interacciones se quiere publicar y
subscribir.
¡¡Muchas gracias!!
Descargar

Transparencias - Quintos Encuentros de Programadores Java