pfc xpertum agusti sancho

60
Agustí Sancho Martínez Director Esteve Almirall Barcelona, 12 de Junio de 2009

Upload: agustisancho

Post on 23-Jan-2018

590 views

Category:

Education


1 download

TRANSCRIPT

Page 1: PFC Xpertum Agusti Sancho

Agustí Sancho Martínez

Director Esteve Almirall Barcelona, 12 de Junio de 2009

Page 2: PFC Xpertum Agusti Sancho

Índice de contenidos

1. Introducción

2. Conceptos

3. Que hace Xpertum?

4. Proceso de desarrollo

5. Ejecución

6. Conclusiones

7. Futuras ampliaciones

8. Demostración

9. Ruegos y preguntas

Page 3: PFC Xpertum Agusti Sancho

Xpertum es una herramienta para mejorar el proceso de innovación

Introducción

Page 4: PFC Xpertum Agusti Sancho

Introducción

Como mejora Xpertum el proceso de innovación?

● Redes sociales– Análisis de recursos humanos

– Creación de equipos

Page 5: PFC Xpertum Agusti Sancho

Introducción

Nuestros objetivos con Xpertum

● Simplicidad o “Easy-to-use”● Basado en tecnología web● Visual● Flexible● “Ligero”● Mashup● 500 elementos por pantalla

Page 6: PFC Xpertum Agusti Sancho

Conceptos

● Proceso de innovación

● Redes sociales

● Representación visual

● Grafos● Treemaps

● Sistemas distribuidos

Page 7: PFC Xpertum Agusti Sancho

Conceptos

Proceso de innovación

● La innovación es necesaria en las organizaciones

● Es provechosa si genera unos beneficios

● Se divide en 3 etapas

● Adquisición

● Asimilación

● Desarrollo

Page 8: PFC Xpertum Agusti Sancho

Conceptos

Proceso de innovación

● El conocimiento puede dividirse en 2 tipos

● Tácito

– Palabras o valores numéricos

– Medible● Explícito

– En función del contexto

– Difícilmente formalizable

Page 9: PFC Xpertum Agusti Sancho

Conceptos

Proceso de innovación

La innovación necesita equipos multidisciplinarios para tener éxito

Page 10: PFC Xpertum Agusti Sancho

Conceptos

Redes sociales

● Las redes sociales son estructuras sociales

● Pueden representarse como grafos (nodos y conexiones)

● Muestran relaciones entre personas

● Débiles ( existe una relación )

● Fuertes ( existe una relación con un peso o valor )

● Pueden coexistir elementos de distintos tipos

● 1-mode (solo un tipo)

● N-mode (n tipos)

Page 11: PFC Xpertum Agusti Sancho

Conceptos

Elementos● La red social que analiza Xpertum tiene 2

tipos de elementos (2-mode)

● Personas

● Competencias

– Representa el nivel de conocimiento

– Se agrupan en áreas de conocimiento● Es una red de enlaces fuertes

● Definimos si una persona sabe de una competencia

● Definimos cuanto sabe

Page 12: PFC Xpertum Agusti Sancho

Conceptos

Representación visual

● Existen diversos métodos para visualizar una red social

● La idea principal es que proporcione información útil sin previa formación del usuario

● Con Xpertum hemos estudiado los grafos y los treemaps

Page 13: PFC Xpertum Agusti Sancho

Conceptos

Grafos

● Grafos bipartitos

● Son aquellos grafos no dirigidos cuyos nodos se pueden separar en conjuntos disjuntos

● Suelen representarse como puntos o círculos conectados

– Xpertum aprovecha esta representación en círculos

– El tamaño provee semántica visual

Page 14: PFC Xpertum Agusti Sancho

Conceptos

Visualizaciones con grafos

● Distribución geométrica

● Nodos-competencias en elipse

● Nodos-personas

– Interiores a la elipse

– Posición en función de la fuerza de sus relaciones

Page 15: PFC Xpertum Agusti Sancho

Conceptos

Visualizaciones con grafos

● Distribución basada en la fuerza

● Kamada-Kawai

– Basado en métodos de Newton

● Atracción → muelle● Repulsión → eléctrica

– Por cada iteración desplazamos un nodo

Page 16: PFC Xpertum Agusti Sancho

Conceptos

Visualizaciones con grafos

● Distribución basada en la fuerza

● Fruchterman-Reingold

– Atracción entre nodos relacionados

– Repulsión entre nodos no relacionados

– La suma de la fuerza determina la dirección

– Basado en la “temperatura”

– Constante “k” para el desplazamiento

Page 17: PFC Xpertum Agusti Sancho

Conceptos

Visualizaciones con grafos

● Clustering

● LinLog

– Repulsión de arestas

– Representa las relaciones mediante la proximidad espacial

– Basado en un modelo de energía

– Busca el estado de menor energía total

Page 18: PFC Xpertum Agusti Sancho

Conceptos

Visualizaciones con grafos

● Clustering

● Markov Clustering

– Modifica una distribución previa eliminando conexiones

– Basado en simulación de flujo en los grafos

– Define conjuntos agrupándolos sobre un nodo

Page 19: PFC Xpertum Agusti Sancho

Conceptos

Treemap

● Visualización compacta para estructuras en árbol

● Permite definir en un plano mucha información

● Muy eficiente O( log n)

Page 20: PFC Xpertum Agusti Sancho

Conceptos

Sistemas distribuidos

● Necesitamos una aplicación que consuma pocos recursos

● Necesitamos realizar cálculos complejos

● Solución:

● Sistemas distribuidos

– Distribuyen las tareas!

Page 21: PFC Xpertum Agusti Sancho

Conceptos

Sistemas distribuidos

Un sistema distribuido es una colección de computadores separados físicamente y conectados mediante una red de comunicación.

El usuario, en cambio, lo percibe como un único sistema.

Estos sistemas están pensados para solucionar problemas complejos.

Page 22: PFC Xpertum Agusti Sancho

Que hace Xpertum?

● Xpertum visualiza las relaciones entre personas y competencias

● Nos permite

● Filtrar las competencias por áreas de conocimiento● Analizar la red como 1-mode o 2-mode● Aplicar 4 tipos de visualización● Manipular la visualización para su análisis

Page 23: PFC Xpertum Agusti Sancho

Proceso de desarrollo

● Plan de trabajo

● Metodología

● Arquitectura del sistema

● Plataformas de desarrollo

● Funcionamiento

● Pruebas con tecnologías

Page 24: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Plan de trabajo

1. Definir funcionalidades y objetivos

2. Buscar tecnologías satisfactorias para los requisitos

3. Experimentar con la tecnología

4. Diseñar el software

5. Implementar

6. Probarlo

Imprevisto!

Page 25: PFC Xpertum Agusti Sancho

● Metodología RUP adaptada

● Definición de requisitos

– Funcionales● Mostrar visualizaciones con grafos basados en fuerza● Mostrar visualizaciones con grafos basados en

geometría● Mostrar visualizaciones con grafos en clusters● Resolución personalizable● ...

– No-funcionales● Extensible, adaptable, portable...

Proceso de desarrollo

Metodología

Page 26: PFC Xpertum Agusti Sancho

● Metodología RUP adaptada

● Definición de casos de uso

Proceso de desarrollo

Metodología

Page 27: PFC Xpertum Agusti Sancho

● Metodología RUP adaptada

● Diagramas de secuencia

Proceso de desarrollo

Metodología

Page 28: PFC Xpertum Agusti Sancho

● Metodología RUP adaptada

● Diseño de clases del sistema para el servidor

Proceso de desarrollo

Metodología

Page 29: PFC Xpertum Agusti Sancho

● Metodología RUP adaptada

● Diseño de clases del sistema para el mashup

Proceso de desarrollo

Metodología

Page 30: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Arquitectura del sistema

● Arquitectura distribuida en 3 capas

Page 31: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Arquitectura del sistema

● Interfaz de usuario

● Implementado íntegramente en el lado del cliente

● Realiza la interacción con el usuario

● Carga y visualiza los datos

● NO calcula visualizaciones de grafos

● Se comunica con el dominio a través de la red

Page 32: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Arquitectura del sistema

● Dominio

● Implementado en el lado del cliente y del servidor

● Cliente● Solo calcula la visualización treemap

● Servidor● Genera los datos necesarios para el sistema● Calcula todos los algoritmos de visualización de

grafos● Suministra todas las peticiones del usuario a

través de la red

Page 33: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Arquitectura del sistema

● Dominio

● Algoritmos de visualización de grafos

– Kamada-Kawai

– Fruchterman-Reingold

– Spring2Layout

– ISO Meyers

– LinLog– Markov Cluster Algorithm● Solo 2-mode

● Geometric Layout● Solo 1-mode

● Circle Layout

Page 34: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Arquitectura del sistema

● Datos

● Implementado en el lado del servidor y en interfaces externas

● Servidor● Almacena y gestiona los datos para cada sesión

de usuario● Se comunica con las fuentes externa de datos

mediante la red● Interfaces externas

● Traduce las fuentes externas a nuestro “lenguaje”

Page 35: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Arquitectura del sistema

● Comunicación y formato de datos

● La comunicación se realiza a través de la red mediante el lenguaje XML

● Xpertum trabaja con ficheros XML en formato GraphML

● Permite definir los atributos de los elementos de la visualización

● Permite definir posiciones● La estructura está pensada para ser utilizada con

grafos● Los datos pueden estar en cualquier localización de la

red

Page 36: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Arquitectura del sistema

● Ventajas

● El formato de los datos es comprensible

● La carga en el lado del usuario es menor → menores requisitos del sistema → visualización más dinámica

● El calculo, la visualización y el almacenamiento de datos son independientes y modulares

● Facilidad para incrementar la oferta de algoritmos● Múltiples dispositivos de visualización

● Las visualizaciones son coherentes● Podemos aprovechar las características de cada

uno

Page 37: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Arquitectura del sistema

Page 38: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Plataformas de desarrollo

Adobe Flash 9ActionScript 3.0

Java/Servlet

Xpertum ServidorXpertum Mashup

Page 39: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Funcionamiento

Al iniciar Xpertum se solicitan los datos de la sesión

Page 40: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Funcionamiento

El servidor busca los datos en la URL y los descarga

Page 41: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Funcionamiento

Hace una copia y devuelve los datos en XML, que Xpertum descarga

Page 42: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Funcionamiento

Al solicitar una nueva visualización, se calcula y se envía como XML

Page 43: PFC Xpertum Agusti Sancho

● Representación visual de grafos en 3D

● Objetivo

– Determinar si el desarrollo es posible con la actual tecnología

– Cumplir con los requisitos del proyecto

● Herramientas

– Librería opensource flash “Papervision”

Proceso de desarrollo

Pruebas con tecnología

Page 44: PFC Xpertum Agusti Sancho

● Representación visual de grafos en 3D

● 1º Versión: representación de nodos mediante esferas

● Optimización

– Reducción del número de polígonos

● Resultado

– Rendimiento inaceptable

Proceso de desarrollo

Pruebas con tecnología

Page 45: PFC Xpertum Agusti Sancho

● Representación visual de grafos en 3D

● 2º Versión: representación de nodos planos con material

● Optimización

– Reducción de la calidad del material

● Resultado

– Rendimiento inaceptable

– Escasa sensación de profundidad

Proceso de desarrollo

Pruebas con tecnología

Page 46: PFC Xpertum Agusti Sancho

● Sistema de colisiones

● Problema

– Los algoritmos no tienen en cuenta la representación (círculos)

● Objetivo

– Mejorar la comprensión– No alterar el significado

Proceso de desarrollo

Pruebas con tecnología

Page 47: PFC Xpertum Agusti Sancho

● Sistema de colisiones

● Detectamos los pares de nodos que colisionan

● Ejercemos una fuerza de repulsión en función de:

– La resolución del viewport

– Parámetro “k”● Esta operación se repite hasta

que:

– La visualización es “estable”

– Se han superado el límite de iteraciones

Proceso de desarrollo

Pruebas con tecnología

Page 48: PFC Xpertum Agusti Sancho

● Sistema de colisiones

Proceso de desarrollo

Pruebas con tecnología

Colisiones desactivadas

Page 49: PFC Xpertum Agusti Sancho

Proceso de desarrollo

Pruebas con tecnología

Colisiones activadas

● Sistema de colisiones

Page 50: PFC Xpertum Agusti Sancho

● Optimización

● Problema

– A partir de 200 nodos las visualizaciones pierden legibilidad

– El rendimiento cae– Los paquetes de datos son demasiado pesados para

conexiones lentas● Objetivo

– Mejorar la comprensión de las visualizaciones

– Mejorar el rendimiento

Proceso de desarrollo

Pruebas con tecnología

Page 51: PFC Xpertum Agusti Sancho

● Optimización de la transmisión de datos

● Perfiles de atributos personalizados para los visores

● Eliminación de atributos innecesarios para las visualizaciones

Proceso de desarrollo

Pruebas con tecnología

Page 52: PFC Xpertum Agusti Sancho

● Optimización del rendimiento y refinamiento de la visualización

● Estados de carga

Proceso de desarrollo

Pruebas con tecnología

Normal Hard

Conexiones Todas Las más relevantes

Etiquetas de nodos

Todas Solo para mostrar conexiones

Detección de Colisiones

Si No

Movimientos entre visualizaciones

Si No

Page 53: PFC Xpertum Agusti Sancho

● Optimización del rendimiento y refinamiento de la visualización

Proceso de desarrollo

Pruebas con tecnología

Sin optimización

Page 54: PFC Xpertum Agusti Sancho

● Optimización del rendimiento y refinamiento de la visualización

Proceso de desarrollo

Pruebas con tecnología

Con optimización

Page 55: PFC Xpertum Agusti Sancho

EjecuciónFases Horas Horas(real)Estudio inicial 60 60Definir fases del proyecto 40 40

Análisis de requisitos 40 40

Evaluación tecnológica 80 80

DiseñoDiseño de la arquitectura 20 20

Casos de uso y funcionalidades

40 40

Diseño interfaz 60 110

ImplementaciónXpertum Server System 80 120

Xpertum Mashup System 200 240

Herramientas de soporte 20 20Test y Debug 100 140Documentación 140 140

TOTAL 880 1050

Page 56: PFC Xpertum Agusti Sancho

Conclusiones

● Se han cumplido los objetivos● Se ha desarrollado un sistema

● Potencialmente ampliable, sin “traumas”

● Integrador de diversas tecnologías

● En definitiva, la base para plataforma mucho mayor...● He desarrollado y aplicado las habilidades y

conocimientos adquiridos en la carrera● He adquirido nuevos conocimientos sobre redes

sociales y su impacto e importancia en los procesos de innovación en nuestra sociedad

Page 57: PFC Xpertum Agusti Sancho

Posibles ampliaciones

● Añadir funcionalidades al visor● Desarrollar nuevos visores para otros dispositivos● Crear un recomendador de equipos mediante

inteligencia artificial

● Nunca es tarde para las visualizaciones 3D....

Page 58: PFC Xpertum Agusti Sancho

Demostración

Page 59: PFC Xpertum Agusti Sancho

Ruegos y preguntas

Page 60: PFC Xpertum Agusti Sancho

Gracias por vuestra atención!