Arquitectura Orientada a Servicios para investigación (ejemplo de uso en Algoritmos Evolutivos)
1. Arquitectura Orientada a Servicios para Investigación
(ejemplo de uso en Algoritmos Evolutivos)
Pablo García Sánchez
pgarcia@atc.ugr.es
#CITICOFFEE
18 de Abril de 2012
miércoles 18 de abril de 2012
2. Índice
• Mi caso
• Arquitectura Orientada a Servicios
• Ciencia Orientada a Servicios
• Algoritmos Evolutivos orientados a Servicios
• Ejemplo tecnológico
• Futuras ideas
miércoles 18 de abril de 2012
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...
miércoles 18 de abril de 2012
4. Se me ocurre
Arquitectura Orientada
a Servicios...
miércoles 18 de abril de 2012
5. Se me ocurre
Algoritmos Evolutivos...
miércoles 18 de abril de 2012
6. Se me ocurre
Algoritmos
Evolutivos Orientados a
Algoritmos Evolutivos...
Servicios
miércoles 18 de abril de 2012
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
miércoles 18 de abril de 2012
10. Frameworks para EA
• jMetal
• MALLBA
• KEEL
• DREAM
• ParadiseEO
• Matlab toolbox
• HeuristicLab
• JCLEC
• METCO
• GridUFO
• ECJ
• A::E
• ...
miércoles 18 de abril de 2012
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
miércoles 18 de abril de 2012
14. 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
miércoles 18 de abril de 2012
15. 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.
miércoles 18 de abril de 2012
16. 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
miércoles 18 de abril de 2012