Sustentacion de Tesis.ppt

Anuncio
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
INGENIERÍA INFORMÁTICA Y DE SISTEMAS
TESIS INTITULADA:
“DESARROLLO DE UN FRAMEWORK BASADO EN
ESTANDARES CORBA NOTIFICATION SERVICE Y
X3D PARA FACILITAR LA CREACIÓN DE AMBIENTES
VIRTUALES DISTRIBUIDOS”
PRESENTADO POR :
ASESOR
:
Br. HERNÁN NINA HANCO
Ing. IVAN MEDRANO VALENCIA
INTRODUCCIÓN
CAPITULO I

PRESENTACIÓN DE LA INVESTIGACIÓN
CAPITULO V
DISEÑO DEL FRAMEWORK

CAPITULO II

MARCO TEÓRICO
CAPITULO VI
IMPLEMENTACIÓN FRAMEWORK

CAPITULO VII
CAPITULO III

ANALISIS DE LAS FUNCIONALIDADES DEL
FRAMEWORK
CAPITULO IV

IDENTIFICACIÓN DE CLASES CON
TARJETAS CRC Y MODELO CONCEPTUAL
DEL FRAMEWORK

EXPERIMENTACIÓN DEL FRAMEWORK EN
LA IMPLEMENTACIÓN DE UN EJEMPLO
CONCLUSIONES
RECOMENDACIONES
Capitulo
I
PRESENTACIÓN DE LA
INVESTIGACIÓN
CAPITULO I
PRESENTACIÓN DE LA
INVESTIGACIÓN
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.
1.8.
ANTECEDENTES
DESCRIPCIÓN DEL PROBLEMA
OBJETIVOS
JUSTIFICACIÓN
LIMITACIONES
METODOLOGÍAS
RECURSOS Y PRESUPUESTO
INSTRUMENTOS
1.1. ANTECEDENTES
 Ambiente Virtual Distribuido concurrencia de
usuarios en la red.
 Del chat 2D comunicación Textual hacia el chat
3Dcomunicacion gestual
 DIS, HLA, NSPNET Naval de USA, DIVE
 Blaxxun, SecondLife, ActiveWorld
 Más adeptos, necesidad de herramientas, APIs y
Framework
1.2. DESCRIPCIÓN DEL PROBLEMA
 Necesidad de crear aplicaciones de Ambientes
Virtuales Distribuidos en forma fácil, rápida y
flexible.
 Soporte a una diversidad y complejidad de
requerimientos técnicos.
 Visualización 3D y Comunicación
(uso de Ancho de Banda, Escalabilidad, Latencia, etc. ).
1.3. OBJETIVOS
1.3.1. OBJETIVO GENERAL
1.3.3. OBJETIVOS ESPECIFICOS
1.3.1. OBJETIVOS GENERALES
Desarrollar un Framework para Ambientes Virtuales
Distribuidos basado en los Estándares CORBA
Notification Service, Distributed Interactive
Simulation DIS, redes multicasting y X3D con el
propósito de facilitar y flexibilizar la creación de
Aplicaciones de Ambientes Virtuales Distribuidos.
1.3.2. OBJETIVOS ESPECIFICOS



Identificar las funcionalidades y componentes
de un Framework para Ambientes Virtuales
Distribuidos.
Implementar los componentes del Framework
basado en los Estándares CORBA Notification
Service, DIS, Redes Multicast y X3D.
Experimentar la creación de un Ambiente
Virtual Distribuido utilizando el Framework.
1.4. JUSTIFICACIÓN



Implementación basada en estándares X3D y
CORBA Notification Service.
Los desarrolladores evitan la programación a
bajo nivel.
Integración con otras tecnologías del Internet
(ejem. E-commerce).
X3D basado en XML
CORBA Sistemas Distribuidos OO
1.5. LIMITACIONES



Falta de bibliografía.
Información técnica compleja de asimilar.
Falta de metodologías para crear Framework.
1.6. METODOLOGÍAS



Métodos de Investigación Descriptiva
Métodos de Investigación Aplicativa y
Tecnológica
Proceso unificado de desarrollo de Software
Capitulo
II
MARCO TEÓRICO
CAPITULO II
MARCO TEÓRICO
2.1. AMBIENTES VIRTUALES DISTRIBUIDOS VRML/X3D
2.2. ESTÁNDAR CORBA NOTIFICATION SERVICE
2.3. FRAMEWORK
2.1. TEORÍAS AMBIENTES VIRTUALES
DISTRIBUIDOS
2.1.1.
2.1.2.
2.1.3.
2.1.4.
2.1.5.
AMBIENTES VIRTUALES DISTRIBUIDOS
ESTÁNDARES PARA LA CONSTRUCCIÓN DE AMBIENTES
VIRTUALES DISTRIBUIDOS
ARQUITECTURAS DE RED APLICADAS A AMBIENTES
VIRTUALES DISTRIBUIDOS
ASPECTOS DE COMUNICACIÓN DE RED PARA UNA
SITUACIÓN IDEAL DE COMUNICACIÓN EN AMBIENTES
VIRTUALES DISTRIBUIDOS
SELECCIÓN DE UNA ADECUADA INFRAESTRUCTURA DE
COMUNICACIÓN PARA AMBIENTES VIRTUALES
DISTRIBUIDOS
2.1.1. AMBIENTES VIRTUALES
DISTRIBUIDOS
2.1.1.1.
2.1.1.2.
2.1.1.3.
2.1.1.4.
Definición de un Ambiente Virtual Distribuido
Características de los Ambientes Virtuales
Distribuidos
Sistemas desarrollados para Ambientes
Virtuales Distribuidos
Soluciones comerciales para Ambientes
Virtuales Distribuidos
¿Sensación de?
Tiempo
Espacio
Presencia
Comunicación
Interacción
SISTEMAS DESARROLLADOS PARA AVD






NPSNET (Naval Postgraduate School USA) []
DIS - Distributed Interactive Simulation (IEEE)
DIVE []
CAVE
SIMNET (Simulator networking)
SGI Flight, Doom, MASSIVE, MR - TPP Minimal Reality,
Toolkit Peer Package, VNET
NPSNET RESEARCH GROUP
AGENTE NANCY
DIVE: CONFERENCIA
SOLUCIONES COMERCIALES PARA
AVD
CRECIMIENTO DE ALPHAWORLD
Diciembre / 1996
CRECIMIENTO DE ALPHAWORLD
Febrero / 1998
CRECIMIENTO DE ALPHAWORLD
Agosto / 1999
CRECIMIENTO DE ALPHAWORLD
Agosto / 2001
2.1.2. ESTÁNDARES PARA
CONSTRUIR AMBIENTES
VIRTUALES DISTRIBUIDOS
2.1.2.1. DIS IEEE 1278
2.1.2.2. Estándares del Consorcio Web3D
2.1.2.3. Estándar Internacional Virtual Reality Modeling
Language (VRML)
2.1.2.4. X3D - eXtensible 3D
2.1.2.1. DIS IEEE 1278
 Estándar para Simulación en tiempo real (Militares)
 PDU – Protocol Data Unit (Unidad de datos con campos que
transmiten información de estado de una entidad en simulación)
 Categorías de PDU:






PDU Información de Estado
PDU Servicio Militar
PDU Soporte logístico
PDU Administración de Simulación
PDU Emisión electromagnética
PDU Radio comunicaciones
2.1.2.2. ESTÁNDARES DEL
CONSORCIO WEB3D
W3C
CONSORCIO WEB3D
Web3D - Works Group
DIS-Java-VRML
2.1.2.3.
ESTÁNDAR INTERNACIONAL
VIRTUAL REALITY MODELING
LANGUAGE (VRML)
Formato estándar de archivos para la descripción
de escenas y objetos tridimensionales interactivos
en la Web.
#VRML v2.0 utf8
Shape
{
appearance Appearance {material Material {}}
geometry Cone {bottomRadius 1.0 height 2.0 }
}
2.1.2.4.
X3D - eXtensible 3D
X3D es el sucesor de VRML, planifica y organiza el
lenguaje separándolo para propósitos específicos
de descripción del Ambiente. X3D extiende las
funcionalidades de VRML basándose en el
Metalenguaje XML (Extensible Markup Language).
SAX y DOM
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "+//ISO//DTD X3D//EN"
"http://www.web3D.org/Specifications/X3D/x3d-compact.dtd">
<X3D version="3.0" profile="Interactive">
<head>
<component name="GeoData"/>
<component name="Nurbs" level="2"/>
<meta name="description" content="X3D scene header example"/>
</head>
<Scene>
<!—La Escena Grafica y los nodos se añaden aquí -->
<Transform DEF="P1">
<Shape>
<Box size="2.0 2.0 2.0"/>
<Appearance>
<Material shininess="0.2" diffuseColor="1.0 0.0 0.0"/>
</Appearance>
</Shape>
</Transform>
</Scene>
</X3D>
Code
X3D
2.1.3. ARQUITECTURAS DE RED
APLICADAS A AMBIENTES
VIRTUALES DISTRIBUIDOS
2.1.3.1. Arquitectura Peer-to-Peer
2.1.3.2. Arquitectura Cliente / Servidor
2.1.3.1.
ARQUITECTURA PEER-TO-PEER
NETWORK
Cliente
1
Cliente
n
Cliente
2
ARQUITECTURA PEER-TO-PEER
ARQUITECTURA PEER-TO-PEER
IP unicasting
IP broadcasting
IP multicasting
2.1.3.2.
ARQUITECTURA CLIENTE / SERVIDOR
Server
Cliente
1
Cliente
2
…
Cliente
n
2.1.4. ASPECTOS DE COMUNICACIÓN
DE RED PARA UNA SITUACIÓN
IDEAL
2.1.4.1. Ancho de Banda
2.1.4.2. Latencia
2.1.4.2. Confiabilidad
2.1.4.2. Escalabilidad
2.1.4.2. Heterogeneidad
2.1.5. SELECCIÓN DE PLATAFORMAS
DISTRIBUIDAS
2.1.5.1





Plataformas distribuidas candidatos
CORBA – OMG
HLA – DMSO
Jini/JavaSpaces – Sun Microsystems, Inc.
ACE – Distributed Object Computing Group
Framework .Net – Microsoft
REQUERIMIENTO
GARANTÍA EN LA TRANSMISIÓN DE MENSAJES
CORBA
HLA
Jini/JavaSpaces ACE
Framework
.Net
Si
Si
Si
Si
Si
SOPORTE DE MÚLTIPLES PLATAFORMAS.
Si
(+ plataformas)
Linux, Iris
Si
(solo Java)
Linux y
Windows
Si
SOPORTE DE MÚLTIPLES LENGUAJES.
C, C++, Java,
Eiffel, Smalltalk
Java, C++,
Ada,
CORBA IDL
Solo Java
Solo C++
Si
COMUNICACIÓN PUNTO A PUNTO.
MODELO DE COMUNICACIÓN PUBLISH
SUBSCRIBE.
ESTÁNDAR ABIERTO.
MÚLTIPLES IMPLEMENTACIONES Y CÓDIGO
FUENTE DISPONIBLE.
FÁCIL DE APRENDER
SOPORTE DE SISTEMAS EMBEBIDOS
SOPORTE DE COMUNICACIÓN ENTRE
DIFERENTES MAQUINAS.
SOPORTE DE SERVICIO DE NOMBRES
SOPORTE DE SERVICIO DE NEGOCIACIÓN
SOPORTE DE SERVICIO DE EVENTOS
MANIPULACIÓN DINÁMICA DE LA
COMUNICACIÓN.
Si
Si
Notification
Service
Si
Si
Si
Si
Si
Si, muy
poco
Si
Si
No
Si
Solo para Sun
Si
Si
Si
No
No
No
Si
Si
Si
No
No
No
No
Si
Si
Si
ORB en cada PC
Si
Si
Si
Si
Si
Si
No
No
Si
No
No
Si
Si disponen de
Java
Si
Si
Si
Si
Si
Si
Si
Si
No
Si
No
Si
Si
Si
2.2. ESTÁNDAR CORBA
NOTIFICATION SERVICE
2.2.1.
2.2.2.
2.2.3.
SISTEMAS DISTRIBUIDOS
CORBA - COMMON OBJECT REQUEST BROKER
ARCHITECTURE
ESTÁNDAR CORBA NOTIFICATION SERVICE
2.2.1. SISTEMAS DISTRIBUIDOS
2.2.1.1
Definición de un Sistema Distribuido
Aplicación, implementa sobre una
red haciendo ver como si se
tratara de un único sistema.
2.2.1.2
Aspectos del Diseño





Transparencia
Flexibilidad
Confiabilidad
Capacidades de Crecimiento
Desempeño o Rendimiento
2.2.2. CORBA - COMMON OBJECT
2.2.2.1
2.2.2.2
2.2.2.3
2.2.2.4
2.2.2.5
2.2.2.6
2.2.2.7
2.2.2.8
REQUEST BROKER ARCHITECTURE
CORBA
Object Management Group Inc. (OMG)
Arquitectura CORBA
IDL (Lenguaje de Definición de Interfaces)
General Inter-ORB Protocol (IIOP)
Internet Inter-ORB Protocol (IIOP)
Implementaciones de ORB
JacORB
2.2.2.1 CORBA
Estándar CORBA promovido por la OMG establece
especificaciones para crear aplicaciones distribuidas
orientadas a objetos.
2.2.2.3 Arquitectura CORBA
Objetos de
Aplicación
Facilidades communes
CORBA
Object Request Broker (ORB)
Servicios CORBA
APOYO ADMINISTRATIVO AL ORB
EL BUS DE
OBJETOS
2.2.2.7 Implementaciones de ORB
IMPLEMENTACIONES COMERCIALES IMPLEMENTACIONES
DE CORBA
CORBA
IONA Orbix, OrbixWeb, ORBacus
TAO - The ACE ORB
Sunsoft NEO
JacORB
Borland Visibroker
Mico
Top Graph’x ORBriver
OmniORB
Objective Interface ORBexpress
OpenORB
Vertel e*ORB
ORBit
LIBRES
DE
2.2.2.8 JacORB



Implementación Libre de un ORB en Java
Código fuente incluyendo algunos Servicios CORBA.
Es un Software Libre con Licencia GPL de la GNU
2.2.3. ESTÁNDAR CORBA
NOTIFICATION SERVICE
2.2.3.1
2.2.3.2
2.2.3.3
2.2.3.4
2.2.3.5
Definición del Estándar CORBA Notification
Service
Elementos del CORBA Notification Service
Beneficios al usar el CORBA Notification Service
Transmisión de Eventos
Event Domain Service
2.2.3.1 DEFINICIÓN DEL ESTÁNDAR
CORBA NOTIFICATION
SERVICE
El OMG Notification Service, es un Servicio CORBA que
administra la recepción y envío de eventos entre
aplicaciones distribuidas orientadas a objetos
2.2.3.2 ELEMENTOS DEL CORBA
NOTIFICATION SERVICE
2.2.3.3 BENEFICIOS AL USAR EL
CORBA NOTIFICATION
SERVICE


Mejora el desempeño y usos de ancho de banda
(modelo Publish – Subscribe, multi-threading).
Confiabilidad, usando opciones de Calidad de
Servicio (QoS).
2.2.3.4 TRANSMISIÓN DE EVENTOS
2.3. FRAMEWORK
2.3.1.
2.3.2.
2.3.3.
2.3.4.
2.3.5.
2.3.6.
2.3.7.
2.3.8.
2.3.9.
CONCEPTOS DE MODELADO
MODELADO ORIENTADO A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
DEFINICIÓN DE UN FRAMEWORK
PATRONES DE DISEÑO
TIPOS DE PATRONES
FRAMEWORK VS. PATRÓN DE DISEÑO
PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE
EL LENGUAJE UNIFICADO DE MODELADO UML
2.3.1. CONCEPTOS DE MODELADO
 Se construyen modelos para comunicar
la estructura deseada y el
comportamiento del sistema
Universitat de les Illes Balears, Tesis doctoral, Análisis y Diseño Orientado a
Objetos de un Framework para el Modelado Estadístico con MLG
2.3.2. MODELADO ORIENTADO A
OBJETOS
2.3.2.1
2.3.2.2
2.3.2.3
Análisis ¿Que?
Diseño ¿Como?
Implementación – Solución
2.3.3. PROGRAMACIÓN ORIENTADA A
OBJETOS
2.3.3.1



Lenguajes Orientados a Objetos
Definición de Objetos
Definición de Clases (tipos de Objetos)
Herencia
2.3.4. DEFINICIÓN DE N FRAMEWORK
Framework
APLICACIÓN
ESPECIFICA
Dominio específico
LIBRERÍA DE
CLASES Y DISEÑO
Generadores de
Aplicación
Reutilización
http://www.acm.org/crossroads/espanol/xrds7-4/frameworks.html
2.3.5. PATRONES DE DISEÑO

Los patrones de diseño son descripciones de un
problema que ocurre repetidas veces en un diseño,
junto a una descripción de la solución al problema
2.3.6. TIPOS DE PATRONES



De creación: Builder, Factory
De estructura: Proxy
Comportamiento: Template
2.3.7. FRAMEWORK VS. PATRÓN DE
DISEÑO


Los Frameworks dominio especifico
Los patrones de diseño en cualquier tipo de
aplicación
2.3.8. PROCESO UNIFICADO DE
DESARROLLO DE SOFTWARE
2.3.8.1
2.3.8.2
2.3.8.3
2.3.8.4
Fase de Inicio
Fase de Elaboración
Fase de Construcción
Fase de transición
2.3.9. EL LENGUAJE UNIFICADO DE
MODELADO UML
 Lenguaje gráfico de modelado de un
sistema de software.
Capitulo
III
ANALISIS DE LAS
FUNCIONALIDADES
DEL FRAMEWORK
CAPITULO III
ANALISIS DE LAS FUNCIONALIDADES
DEL FRAMEWORK
3.1. ANALISIS DEL CONTEXTO DEL FRAMEWORK
3.2. REPRESENTACION AUDIO/VISUAL DE AMBIENTES
VIRTUALES DISTRIBUIDOS
3.3. COMUNICACIÓN E INTERCAMBIO DE DATOS EN AMBIENTES
VIRTUALES DISTRIBUIDOS
3.1. ANALISIS DEL CONTEXTO DEL
FRAMEWORK
Entonces, seleccionar las clases que permitan:


Representación Audio/Visual del Ambiente Virtual
Distribuido
Comunicación e intercambio de datos entre los
participantes del Ambiente Virtual Distribuido.
Soluciona la mayoría de requerimientos de una
aplicación de AVD:
3.2. REPRESENTACION
AUDIO/VISUAL DE AMBIENTES
VIRTUALES DISTRIBUIDOS
3.2.1.
3.2.2.
3.2.3.
ESPECIFICACIÓN DE AMBIENTES VIRTUALES
DISTRIBUIDOS UTILIZANDO EL ESTANDAR X3D
CODIFICACIÓN XML DE AMBIENTES VIRTUALES
DISTRIBUIDOS VRML/X3D
ESTRUCTURA BÁSICA DE UNA ESCENA VIRTUAL
DISTRIBUIDA X3D
3.2.1. ESPECIFICACIÓN DE
AMBIENTES VIRTUALES
DISTRIBUIDOS UTILIZANDO EL
ESTANDAR X3D
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "+//ISO//DTD X3D//EN"
"http://www.web3D.org/Specifications/X3D/x3d-compact.dtd">
<X3D version="3.0" profile="Interactive">
<head>
</head>
<Scene>
<!—La Escena Grafica y los nodos se añaden aquí -->
<Transform DEF="P1">
<Shape>
<Box size="2.0 2.0 2.0"/>
</Shape>
</Transform>
</Scene>
</X3D>
3.2.2.
CODIFICACIÓN XML DE AVD
<?xml version="1.0" encoding="UTF-8"?>
Encabezado
<!DOCTYPE X3D PUBLIC "+//ISO//DTD X3D//EN"
"http://www.web3D.org/Specifications/X3D/x3d-compact.dtd">
<X3D version="3.0" profile="Interactive">
Elemento Raíz
<Scene>
X3D
<!definición de nodos se añaden aquí -->
<Transform DEF="P1">
<Shape>
Definición de
<Box size="2.0 2.0 2.0"/>
Nodos y
</Shape>
Campos
</Transform>
<ROUTE
fromNode="T” fromField="value_changed"
Definición de
toNode="Cubo" toField="translation"/>
Eventos
</Scene>
</X3D>
3.2.4.
BROWSER X3D
3.3. COMUNICACIÓN E INTERCAMBIO
DE DATOS EN AMBIENTES
VIRTUALES DISTRIBUIDOS
3.3.1. NIVEL 1 “COMUNICACIÓN MULTICAST”
3.3.2. NIVEL 2 “NOTIFICACIÓN DE EVENTOS”
3.3.3. NIVEL 3 ESTADO DEL AMBIENTE VIRTUAL DISTRIBUIDO
X3D
Nivel 3
PDU
Nivel 3
PDU
Nivel 2
Nivel 2
Nivel 1
Nivel 1
Red Multicast
PDU PDU
Nivel 3
Nivel 2
Nivel 1
3.3.1. NIVEL 1 “COMUNICACIÓN
MULTICAST”
Host A
Host B
Nivel 2 Notification Service A
Canal de Eventos A
SG
Nivel 1
Multicast
A
Nivel 2 Notification Service B
Federation
de Canales
CG
Canal de Eventos B
CG
SG
Serialización
Serialización
Datagramas
Datagramas
Buffer
Buffer
Multicast
Nivel 1
Multicast
B
3.3.2. NIVEL 2 “NOTIFICACIÓN DE
EVENTOS”
3.3.2.1. Filtrado centralizado de Eventos
3.3.2.2. Perfeccionar la Escalabilidad cuando exista un creciente
numero de consumidores
3.3.2.3. Agrupamiento de eventos para reducir el Espacio de
Memoria
3.3.2.4. Estructuración de datos en Notification Service
3.3.1. NIVEL 2 “NOTIFICACIÓN DE
EVENTOS”
Nivel 3 - Estado del Ambiente
Transformador Entidad 1
Suministrador
1
Consumidor
2
Canal de Evento
DATO
S
Transformador Entidad N
...
...
Suministrador
N
Fabrica de
Consumidores y
Subscriptores
Consumidor
N
Filtrado
centralizado
Nivel 3 - Estado del Ambiente
3.3.3. NIVEL 3 ESTADO DEL
AMBIENTE VIRTUAL
DISTRIBUIDO X3D
3.3.3.1
3.3.3.2
3.3.3.3
Control del Estado del Ambiente utilizando el Protocol Data
Unit de DIS
Detalles del Protocol Data Unit utilizado para la
estructuración de Datos
Definición en lenguaje X3D de una entidad de simulación
con la directiva “EspduTransform”
NIVEL 3 ESTADO DEL AMBIENTE
VIRTUAL DISTRIBUIDO X3D
Transformador
Entidad 1
Transformador
Entidad 1
PDU
Suministrador
1
Transformador
Entidad 1
PDU
Consumidor
2
Canal de Evento
Nivel 3 - Estado del
Ambiente
Capitulo
IV
IDENTIFICACIÓN DE
CLASES CON TARJETAS
CRC Y MODELO
CONCEPTUAL DEL
FRAMEWORK
CAPITULO IV
IDENTIFICACIÓN DE CLASES CON
TARJETAS CRC Y MODELO
CONCEPTUAL DEL FRAMEWORK
4.1. TARJETAS CRC PARA LOS COMPONENTES DE
VISUALIZACIÓN
4.2. TARJETAS CRC PARA LOS COMPONENTES DE
COMUNICACIÓN DEL AMBIENTE VIRTUAL
4.3. MODELO CONCEPTUAL
4.1. TARJETAS CRC PARA LOS
COMPONENTES DE
VISUALIZACIÓN
NOMBRE DE CLASE: DocumentoX3D
RESPONSABILIDAD
COLABORACIONES
Almacena
la BrowserX3D
codificación X3D de un
Ambiente
Virtual
Distribuido
en
un
archivo XML




DocumentoX3D
BrowserX3D
Escena
Presentador
Audio/Visual
4.2. TARJETAS CRC PARA LOS
COMPONENTES DE
COMUNICACIÓN DEL AVD
Nombre de Clase : Observador
RESPONSABILIDAD
COLABORACIONES
Utiliza un Suppliers Escena
de
Eventos
para Supplier
publicar
eventos Consumer
producidos por una
geometría
3D
del
Ambiente Virtual.
Utiliza un Consumers
de
Eventos
informarse del estado
de una geometría 3D
que
haya
tenido
cambios.









GatewayConsumer
GatewaySupplier
EstadoAmbiente
Canal de Eventos
SupplierChannelConection
ConsumerChannelConection
Supplier
Consumer
Filtrado_Eventos
4.3. MODELO CONCEPTUAL
Capitulo
V
DISEÑO DEL
FRAMEWORK
CAPITULO V
DISEÑO DEL FRAMEWORK
5.1. DISEÑO DEL SUBSISTEMA DE REPRESENTACIÓN
AUDIO/VISUAL 3D
5.2. DISEÑO DEL SUBSISTEMA DE COMUNICACIÓN
5.1. DISEÑO DEL SUBSISTEMA DE
REPRESENTACIÓN
AUDIO/VISUAL 3D
5.1.1.
5.1.2.
5.1.3.
5.1.4.
DISEÑO SUBSISTEMA INTERPRETE X3D
DISEÑO SUBSISTEMA PRESENTADOR3D
DISEÑO SUBSISTEMA ARBOLX3D
DISEÑO SUBSISTEMA GUI
Diagrama de
Paquetes,
componente
Visualización 3D
5.1.1. DISEÑO SUBSISTEMA
INTERPRETE X3D
5.1.2. DISEÑO SUBSISTEMA
PRESENTADOR3D
5.1.3.
DISEÑO
SUBSISTEMA
ARBOLX3D
5.1.4.
DISEÑO SUBSISTEMA GUI
5.2. DISEÑO DEL SUBSISTEMA DE
COMUNICACIÓN
DEL FRAMEWORK
5.2.1.
5.2.2.
5.2.3.
DISEÑO DEL SUBSISTEMA MULTICAST
DISEÑO DEL SUBSISTEMA DE NOTIFICACIÓN
DISEÑO DEL SUBSISTEMA ESTADOAVD
5.2.1.
DISEÑO DEL
SUBSISTEMA
MULTICAST
5.2.2. DISEÑO DEL SUBSISTEMA DE
NOTIFICACIÓN
5.2.3. DISEÑO DEL SUBSISTEMA
ESTADOAVD
Capitulo
VI
IMPLEMENTACIÓN
FRAMEWORK
CAPITULO VI
IMPLEMENTACIÓN FRAMEWORK
6.1
6.2
IMPLEMENTACIÓN DEL FRAMEWORK
INSTALACIÓN DE COMPOENTES DEPENDIENTES
6.1 IMPLEMENTACIÓN DEL
FRAMEWORK
6.2 INSTALACIÓN DE COMPOENTES
DEPENDIENTES
6.2.1
6.2.2
6.2.3
6.2.4
6.2.5
Instalación de JacORB, implementación CORBA
Instalación de JSDK 5.1.8 y Java3D
Instalación de JAXP
Instalación de DIS
Instalación de VRML Library
Capitulo
VII
EXPERIMENTACIÓN DEL
FRAMEWORK EN LA
IMPLEMENTACIÓN
DE UN EJEMPLO
CAPITULO VI
EXPERIMENTACIÓN DEL
FRAMEWORK EN LA
IMPLEMENTACIÓN DE UN EJEMPLO
7.1. DESCRIBIR UNA ESCENA VIRTUAL PARA UN AMBIENTE
VIRTUAL DISTRIBUIDO X3D/VRML
7.2. ESCRIBIR UNA APLICACIÓN DE AMBIENTE VIRTUAL
UTILIZANDO EL FRAMEWORK
7.3. EJECUCIÓN DE LA APLICACIÓN
7.1. DESCRIBIR UNA ESCENA
VIRTUAL PARA UN AMBIENTE
VIRTUAL DISTRIBUIDO
X3D/VRML
7.2. ESCRIBIR UNA APLICACIÓN DE
AMBIENTE VIRTUAL UTILIZANDO
EL FRAMEWORK
7.3. EJECUCIÓN DE LA APLICACIÓN
CONCLUSIONES
1.
La implementación de librerías de clases, basadas en la
reutilización de código de las implementaciones de estándares
X3D, CORBA Notification Service, Distributed Interactive
Simulation y APIs para redes multicast, han logrado
desarrollar un Framework que facilita y flexibiliza la creación
de Aplicaciones de Ambientes Virtuales Distribuidos. Además,
El Framework evita que los desarrolladores se enfrenten al
desarrollo de programación a bajo nivel y trabajos tediosos en
depuración de errores. De esta manera el desarrollador,
minimiza los costos y tiempo de desarrollo, temas claves para
el éxito de un proyecto de software.
CONCLUSIONES
2.
En base a las teorías y antecedentes de investigaciones en
Ambientes Virtuales Distribuidos, se ha identificado dos
componentes funcionales básicos que componen un
Framework: por una parte, identificamos el COMPONENTE DE
VISUALIZACION 3D, que proporciona las librerías de clases
que hacen la presentación 3D Audio/Visual del Ambiente
Virtual Distribuido descrito en el estándar X3D. Por otra parte
el COMPONENTE DE COMUNICACIÓN que proporciona las
librerías de clases que tienen como función mantener
informado a los usuarios participantes del estado global del
Ambiente Virtual Distribuido.
CONCLUSIONES
3.
De acuerdo, a las técnicas y métodos del proceso de
desarrollo de Software proporcionadas por la ingeniería del
Software. Se implementa los componentes, empezando por la
identificación de clases utilizando tarjetas CRC y luego
determinar el modelo conceptual tal como se describe en el
Capitulo IV. En el capitulo V, luego se desarrolla el diseño
enfatizando la reutilización del diseño y código de las clases
utilizadas en implementaciones de los estándares CORBA
Notification Service, DIS, X3D y redes multicasting. Finalmente
completando el proceso de desarrollo de software, en el
capitulo VI se describe el proceso de implementación de las
librerías de clases de los componentes del Framework en el
lenguaje Java.
CONCLUSIONES
4.
Para comprobar la efectividad del Framework, se procedió a
experimentar las librerías del Framework, implementando una
aplicación de Ambiente Virtual Distribuido. En dicha
experimentación se demostró la aplicabilidad del Framework
con la ejecución de la aplicación del Ambiente Virtual
Distribuido en forma satisfactoria. Este tema se describe en el
capitulo VII.
RECOMENDACIONES
1.
2.
Para alcanzar el desarrollo del conocimiento científico y
tecnológico de nuestra sociedad en tecnologías de
información y comunicación, proponemos la creación de
líneas de investigación y liderazgos en las diferentes áreas de
conocimientos de las ciencias de la informática y la
computación.
Dentro de esta área de investigación podemos proponer como
extensiones de este trabajo, la incorporación de módulos que
permitan conectar a una Base de Datos, de tal manera
podamos registrar la información de un Ambiente Virtual
Distribuido.
RECOMENDACIONES
3.
4.
5.
Dado la cercanía entre los lenguajes de programación Java y
C#. es posible la implementación del Framework para
Ambientes Virtuales Distribuidos en la plataforma .Net.
Otra extensión posible para este trabajo corresponde a
integrar las diferentes especificaciones del Consorcio Web3D
tales como GeoVRML, Humanoid Animation al Framework.
También una extensión de este trabajo podría ser desarrollar
plug-in para los navegadores Web mas utilizados de tal forma
que las personas puedan desarrollar sus ambientes virtuales y
publicarlos inmediatamente y estar ya trabajando en
Aplicaciones de Ambientes Virtuales Distribuidas.
Descargar