Introducción a OSGiLiath para EAs orientados a servicios
1. Introducción a OSGiLiath para tomar un café gratis de
la @OSLUGR y hablar del @concursousl
Pablo García Sánchez (@fergunet)
pgarcia@atc.ugr.es
@osgiliathSOA
15 de Enero de 2013
martes 15 de enero de 2013
2. Índice
• Mi caso
• Arquitectura Orientada a Servicios
• Ciencia Orientada a Servicios
• Algoritmos Evolutivos orientados a Servicios
• Ejemplo tecnológico
• Futuras ideas
martes 15 de enero de 2013
3. Mi caso
• Proyecto e-Integra. Bus de Servicios empresariales para la Junta de Andalucía. BPEL y Web
services.
• Proyecto Mapache. Servidor de aplicaciones para TDT. Java, Struts y OSGi.
• Proyecto AmIVital. Arquitectura Orientada a Servicios para e-Salud. Java, eRCP y OSGi,
UMM.
• Curso de Web 2.0: Arquitectura Orientada a Servicios en Java (SPAM)
• Durante estos proyectos saco tiempo para:
• Creación de hojas de estilo XSLT a partir de ejemplos usando Algoritmos Evolutivos
• Algoritmos evolutivos en móviles
• Algoritmos meméticos: búsqueda tabú para un problema de enrutamiento dentro de un
EA mayor.
• Colaboración en artículos de MOACOs, EAs entrenadores de bots...
martes 15 de enero de 2013
4. Se me ocurre
Arquitectura Orientada
a Servicios...
martes 15 de enero de 2013
5. Se me ocurre
Algoritmos Evolutivos...
martes 15 de enero de 2013
6. Se me ocurre
Algoritmos
Evolutivos Orientados a
Algoritmos Evolutivos...
Servicios
martes 15 de enero de 2013
9. Service Oriented Science
•Concepto creado por Foster en 2005
•Investigación científica usando redes
interoperables y distribuidas
•Interfaces públicas y bien definidas
•Lo importante no es la tecnología a usar, si no
migrar lo existente y cambiar la forma de pensar
de los investigadores
martes 15 de enero de 2013
10. Frameworks para EA
• jMetal
• MALLBA
• KEEL
• DREAM
• ParadiseEO
• Matlab toolbox
• HeuristicLab
• JCLEC
• METCO
• GridUFO
• ECJ
• A::E
• ...
martes 15 de enero de 2013
11. Ventajas de usar SOA en EA
•Gagné (2006) establece los criterios de generalidad
de los frameworks para EAs: fitness, operadores,
modelo, administración de parámetros y salidas.
•Usar SOA permite:
•Generalidad en las interfaces de los servicios
•Independencia del lenguaje de programación
•Transparencia en la distribución
•Flexibilidad
martes 15 de enero de 2013
14. OSGiLiath (OSGi Laboratory for Implementation and
Test of metaHeuristics)
• Framework para EAs en OSGi utilizando
sus ventajas (control de paquetes, ciclo de
vida, servicios declarativos...)
• Consiste en un conjunto de interfaces e
implementaciones básicas (NSGA-II)
• Permite usar los eventos para coordinación
• Utiliza ECF para distribución:
• Puedo usar r-OSGi, XMPP, SOAP...
cambiando una linea de un XML
• Puedo generar los servicios remotos en
REST, Web Services... cambiando otra.
martes 15 de enero de 2013
15. OSGi
• Qué es
• Qué tiene
• Sistema de eventos basado en pizarra
• Servicios declarativos
• Versionado, control de paquetes y seguridad
• Gestión del ciclo de vida
martes 15 de enero de 2013
16. Qué hay en un bundle
martes 15 de enero de 2013
18. Pasos para empezar
• Descargarse la última versión de Eclipse
• Instalar ECF desde el Eclipse Market
• Descargar el plugin de Configuration Manager de OSGi (arrastrando a la carpeta
plugins)
• Bajar los fuentes de Sourceforge
• Crear un launcher con los plugins necesarios
martes 15 de enero de 2013
19. Ideas para el futuro
• Hay mucho por hacer en algoritmos autoadaptativos:
• Selección de metaheurísticas basada en recompensas
• Selección basada en coste
• Agregación de operadores (semántica, GP,...)
• Entrada y salida de operadores/nodos en tiempo real
• Gestión de recursos
• Adaptación al hardware
martes 15 de enero de 2013