eMadrid 2015 20 02 (UNED) Rafael Pastor Vargas - "Desarrollo/explotación de entornos experimentales...

22
R. Pastor, S. Ros, R.Hernandez, R. Pastor, A. Robles-Gomez & A.C. Caminero Dpto. Sistemas de Comunicación y Conrtrol, UNED

Transcript of eMadrid 2015 20 02 (UNED) Rafael Pastor Vargas - "Desarrollo/explotación de entornos experimentales...

R. Pastor, S. Ros, R.Hernandez, R. Pastor, A. Robles-Gomez & A.C.CamineroDpto. Sistemas de Comunicación y Conrtrol, UNED

Desarrollo de laboratorios remotos/virtuales

LaaS (Laboratory as a Service)

Desarrollo modular e integración

Explotación y despliegue de laboratorios: Servicios de gestión

Arquitectura basada en servicios

Servicios proporcionados

Conclusiones

Un laboratorio se puede considerar como unsistema software que proporciona unconjunto de servicios: experimentación

Aplicación directa de paradigmas software

Eficiencia en el desarrollo

Mejora en los costes de desarrollo/mantenimiento

Estructuración modular de un sistema: componentes

Integración de tecnologías

Paradigma Cloud Computing (IaaS, PaaS, SaaS)

Modelo de servicio (el laboratorio se puede definircomo un servicio)

▪ Proveedores de laboratorios (IaaS)

▪ Herramientas para el desarrollo de laboratorios (PaaS)

▪ Interacción con el laboratorio (SaaS)

RELATED (REmote LAboratories exTenDED) proporciona las funcionalidades PaaS y SaaSpara el paradigma LaaS

RELATED proporciona un conjunto deherramientas de desarrollo e integración(para proveedores de laboratorios)

Desarrollo basado en el paradigma MVC(Model View Controller)

Estructura modular basada en componentes

Especificación formal del laboratorio (LEDML)

Implementación de los componentes

Escribir

especificación

formal

Desarrollo de los coponentes

Componentes

RELATED usa el paradigma MVC: Módulos Componentes software para gestionar el ciclo de vida de un

experimento (start, stop, getData, setData, etc.) Gestiona los detalles de implementación de bajo nivel (medidas de los

sensores, modificación de los actuadores, etc.) Centrado en datos (variables) Implementación de una interface: IRLABModule (Java)

Vistas (Java/Web) Componentes software que representan la información del

laboratorio de manera visual y permiten la interacción con ellaboratorio. Implementación de una interface: IRLABView (Java) Página HTML basada en widgets (Web API): funciones Javascript

predefinidas para leer/escribir datos (variables) Experimentos Declarativo: componentes a usar en este escenario experimental No necesita desarrollo

Vistas (Java)

Vistas (Web, widgets)

Declarar experimentos Publicar

Disponible de manera automática en la aplicación de gestión/acceso

Los laboratorios son recursos finitos/gestionados Implementación de los servicios de gestión:▪ Usuarios asociados al laboratorio.

▪ Autorización de acceso por privilegios (basados en roles)

▪ Uso de los laboratorios (basado en sesiones de trabajo)

▪ Reserva de acceso al recurso.

▪ Datos generados durante la interacción con el laboratorio

Aproximación del desarrollador: El desarrolladorproporciona una implementación de los servicios degestión (además de la propia del laboratorio):

Es necesario un esfuerzo adicional que se traduce en incrementos de costes (mantenimiento, tiempo, etc.)

Específicos para la implementación concreta del laboratorio

Aproximación por reutilización: Conseguir un sistemarobusto y eficiente en relación al uso/interacción de losrecursos del laboratorio

La eficiencia implica reutilización de herramientas y servicios de terceras personas.

Reusabilidad/Integración: Service OrientedArchitecture (SOA). La arquitectura de servicios de RELATED se implementa

en un modelo SOA Los servicios se orquestan con el objetivo de

conseguir un sistema funcional que combinadiferentes escenarios de uso de los servicios

Los servicios pueden ser “consumidos” poraplicaciones (Web, Mobile, etc.) https://lab-app.scc.uned.es/RLABWebSite/

Los servicios se crean/consumen de maneratransparente a los usuarios finales (el laboratorio se“conecta” a la arquitectura SOA): Se crean servicios REST de manera automática para

permitir el acceso a las funcionalidades del laboratorio

Remote LAboratory exTendED

Gestión de usuarios Acceso basado en usuario/contraseña (registro libre) Gestión de las autorizaciones basadas en roles Sistema de petición de acceso (moderada por los administradores) Información de las sesiones de usuario

Datos de las sesiones de trabajo El usuario tiene acceso a la información de sus sesiones (el

administrador puede ver todo) Información de la sesión (fechas, experimentos, etc.) Acceso a los datos experimentales

Acceso a los datos experimentales▪ Descarga de los datos (variables del experimento)

▪ Gráficos de tendencias: análisis de los datos

▪ Reproducción Offline del experimento

Reserva del recurso/laboratorio:

Acceso por experimento

Disponibilidad inmediata/por reserva

El proceso de implementación de un laboratorio implicano sólo el proceso de desarrollo sino que además deberproporcionar un entorno de interacción real. Este entornodebe proporcionar un conjunto de servicios básicos

RELATED proporciona una arquitectura escalable queimplementa un entorno de interacción real con losusuarios de los laboratorios (usuarios y administradores).

El desarrollo de un conector (siguiendo las directrices deRELATED en el uso de componentes reutilizables) ofreceuna forma sencilla de integrar cualquier laboratorio en laarquitectura de los servicios de RELATED.

Los servicios se añaden de manera automática,proporcionando beneficios reales en costes de desarrollo ymantenimiento.