Your SlideShare is downloading. ×
0
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Entorno de desarrollo de heurísticas distribuidas utilizando OSGi
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Entorno de desarrollo de heurísticas distribuidas utilizando OSGi

715

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
715
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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
  • 2. Índice <ul><li>Introducción y estado del arte </li></ul><ul><li>¿Qué hemos usado? </li></ul><ul><ul><li>Arquitectura Orientada a Servicios </li></ul></ul><ul><ul><li>OSGi </li></ul></ul><ul><ul><li>R-OSGi </li></ul></ul><ul><li>Arquitectura de la plataforma </li></ul><ul><li>Experimentos </li></ul><ul><li>Conclusiones y trabajo futuro </li></ul>
  • 3. Estado del Arte <ul><li>Pero si hay un montón de frameworks! </li></ul><ul><ul><li>JEO </li></ul></ul><ul><ul><li>ECJ </li></ul></ul><ul><ul><li>HeuristicLab </li></ul></ul><ul><ul><li>MALLBA </li></ul></ul><ul><ul><li>ParadiseEO </li></ul></ul><ul><ul><li>... y más! </li></ul></ul><ul><li>Pero ninguno basado en arquitectura de plugins bien definida y aceptada como es OSGi. </li></ul>
  • 4. OSGi <ul><li>Modelo de componentes dinámico </li></ul><ul><li>Bundle : Jar con el fichero MANIFEST adaptado‏ </li></ul><ul><li>Servicio : conecta bundles de manera dinámica </li></ul><ul><li>Componente : Clase dentro de un bundle junto con una descripción en XML interpretada en tiempo de ejecución-&gt;Servicios Declarativos </li></ul>
  • 5. Ejemplo de MANIFEST.MF
  • 6. Ejemplo de descripción de servicio
  • 7. R-OSGi <ul><li>Problema de OSGi: imposibilidad de invocar servicios remotos </li></ul><ul><ul><li>Uso de conectores basados en UPnP y Jini: INVASIVOS‏ </li></ul></ul><ul><li>R-OSGi es un midleware para distribuir de forma transparente servicios en red </li></ul><ul><li>Crea proxies que actúan como bundles normales que se encargan de comunicar con otros bundles distribuidos </li></ul>
  • 8. OSGiLiath <ul><li>Acrónimo un poco friki de “ OSGi Laboratory for Implementation and Testing of Heuristics ” </li></ul><ul><li>Framework de desarrollo de heurísticas no centrado en ningún paradigma concreto y basado en plug-ins </li></ul><ul><li>Usa: </li></ul><ul><ul><li>Interfaz sencilla </li></ul></ul><ul><ul><li>Programación orientada a componentes </li></ul></ul><ul><ul><li>Activación dinámica de componentes </li></ul></ul><ul><ul><li>Servicios declarativos </li></ul></ul>
  • 9. Capas <ul><li>Interfaz : </li></ul><ul><ul><li>Interfaces para: </li></ul></ul><ul><ul><ul><li>Algoritmo </li></ul></ul></ul><ul><ul><ul><li>Algoritmo distribuido </li></ul></ul></ul><ul><ul><ul><li>Solución </li></ul></ul></ul><ul><ul><ul><li>Problema </li></ul></ul></ul><ul><ul><ul><li>Datos de entrada </li></ul></ul></ul><ul><ul><ul><li>Parámetros </li></ul></ul></ul><ul><li>Heurística </li></ul><ul><ul><li>Implementación de la heurística </li></ul></ul><ul><li>Problema : </li></ul><ul><ul><li>Implementación del problema </li></ul></ul>
  • 10. Ejemplo de desarrollo con OSGiLiath
  • 11. Experimentos
  • 12. Y unas gráficas...
  • 13. Conclusiones y trabajo futuro <ul><li>Entorno de desarrollo de algoritmos distribuidos basado en plug-ins bien definidos. </li></ul><ul><ul><li>Servicios declarativos </li></ul></ul><ul><ul><li>Gestión del ciclo de vida dinámicamente </li></ul></ul><ul><ul><li>Abstracción de paquetes </li></ul></ul><ul><ul><li>Software Libre! </li></ul></ul><ul><li>OSGi se usa en el MundoReal (tm)! </li></ul><ul><li>En el futuro se nos ocurre: </li></ul><ul><ul><li>Crear una interfaz gráfica autogenerada </li></ul></ul><ul><ul><li>Estudiar otros protocolos de comunicación </li></ul></ul><ul><ul><li>Añadir algoritmos y problemas a la librería (el siguiente paso son los AGs) </li></ul></ul><ul><ul><li>Usar la gestión de eventos de OSGi y la gestión dinámica de manera más profunda </li></ul></ul>
  • 14. Gracias! <ul><li>¿Dudas? O mejor, ¿sugerencias? </li></ul><ul><li>[email_address] </li></ul>

×