Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

14
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi P García Sánchez , PA Castillo, J González, JJ Merelo 1 y A Escámez 2 - 1) Dept. de Arquitectura y Tecnología de Computadores - 2) Telefónica I+D Jornadas de Paralelismo 2009

Transcript of Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

Page 1: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

P García Sánchez, PA Castillo, J González, JJ Merelo1 y A Escámez2

- 1) Dept. de Arquitectura y Tecnología de Computadores- 2) Telefónica I+D

Jornadas de Paralelismo 2009

Page 2: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

2Jornadas de Paralelismo 2009

Índice

Introducción y estado del arte ¿Qué hemos usado?

− Arquitectura Orientada a Servicios− OSGi− R-OSGi

Arquitectura de la plataforma Experimentos Conclusiones y trabajo futuro

Page 3: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

3Jornadas de Paralelismo 2009

Estado del Arte

• Pero si hay un montón de frameworks!– JEO– ECJ– HeuristicLab– MALLBA– ParadiseEO– ... y más!

• Pero ninguno basado en arquitectura de plugins bien definida y aceptada como es OSGi.

Page 4: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

4Jornadas de Paralelismo 2009

OSGi

Modelo de componentes dinámico

Bundle: Jar con el fichero MANIFEST adaptado

Servicio: conecta bundles de manera dinámica

Componente: Clase dentro de un bundle junto con una descripción en XML interpretada en tiempo de ejecución->Servicios Declarativos

Page 5: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

5Jornadas de Paralelismo 2009

Ejemplo de MANIFEST.MF

Page 6: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

6Jornadas de Paralelismo 2009

Ejemplo de descripción de servicio

Page 7: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

7Jornadas de Paralelismo 2009

R-OSGi

Problema de OSGi: imposibilidad de invocar servicios remotos– Uso de conectores basados en UPnP y Jini:

INVASIVOS R-OSGi es un midleware para distribuir de

forma transparente servicios en red Crea proxies que actúan como bundles

normales que se encargan de comunicar con otros bundles distribuidos

Page 8: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

8Jornadas de Paralelismo 2009

OSGiLiath

Acrónimo un poco friki de “OSGi Laboratory for Implementation and Testing of Heuristics”

Framework de desarrollo de heurísticas no centrado en ningún paradigma concreto y basado en plug-ins

Usa:– Interfaz sencilla– Programación orientada a componentes– Activación dinámica de componentes– Servicios declarativos

Page 9: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

9Jornadas de Paralelismo 2009

Capas

• Interfaz:– Interfaces para:

• Algoritmo• Algoritmo distribuido• Solución• Problema• Datos de entrada• Parámetros

• Heurística– Implementación de la heurística

• Problema:– Implementación del problema

Page 10: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

10Jornadas de Paralelismo 2009

Ejemplo de desarrollo con OSGiLiath

Page 11: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

11Jornadas de Paralelismo 2009

Experimentos

Page 12: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

12Jornadas de Paralelismo 2009

Y unas gráficas...

Page 13: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

13Jornadas de Paralelismo 2009

Conclusiones y trabajo futuro

• Entorno de desarrollo de algoritmos distribuidos basado en plug-ins bien definidos.– Servicios declarativos– Gestión del ciclo de vida dinámicamente– Abstracción de paquetes– Software Libre!

• OSGi se usa en el MundoReal (tm)!

• En el futuro se nos ocurre:– Crear una interfaz gráfica autogenerada– Estudiar otros protocolos de comunicación– Añadir algoritmos y problemas a la librería (el siguiente paso

son los AGs) – Usar la gestión de eventos de OSGi y la gestión dinámica de

manera más profunda

Page 14: Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

14Jornadas de Paralelismo 2009

Gracias!

¿Dudas? O mejor, ¿sugerencias?

[email protected]