GEMA, Gestión de la Movilidad

 

Retos y objetivos

Este proyecto, aborda cuatro retos de investigación relevantes y actuales en los que se pretende realizar aportaciones y desarrollar tecnología que avance el estado del arte actual, a saber:

  1. Planificación Inteligente.
  2. Etiquetado Semántico de Trayectorias.
  3. Representación y Almacenamiento eficiente de Trayectorias.
  4. Desarrollo Automatizado del Software.

Los avances científico-tecnológicos que se pretenden realizar en esos cuatro retos de investigación constituyen los 4 Objetivos De Investigación o transversales del proyecto. Los resultados de los tres primeros objetivos de investigación permitirán la creación de los diferentes módulos software que necesitaría una aplicación avanzada de Gestión de Trabajadores Móviles (GTM) para posibilitar la planificación, el seguimiento y el almacenamiento y explotación de los trabajos diarios de cada trabajador/a móvil. Así, con dichos módulos se implementarán tres prototipos de aplicaciones GTM adaptados, cada uno de ellos, a las necesidades de una de las tres empresas no TIC del consorcio. Estos tres prototipos, que tendrán una arquitectura software común, constituyen los 3 Objetivos Tecnológicos o verticales del proyecto y servirán para probar y validar las tecnologías resultado de los tres primeros retos de investigación.

Por otro lado, sus módulos de software, debidamente encapsulados, se utilizarán para crear un cuarto prototipo para la empresa TIC del consorcio, pero que en vez de ser una aplicación GTM, será una Herramienta para la Generación de Aplicaciones GTM, que denominaremos HGAGTM y que constituye el Objetivo Final del proyecto. Para la creación de HGAGTM no sólo se necesitarán los componentes previamente creados, resultado de los tres primeros retos de investigación, y probados mediante su uso en los tres prototipos de aplicaciones GTM, sino que además será necesario, obviamente, abordar el cuarto reto de investigación.

Entidades participantes

En el proyecto GEMA participan cuatro empresas y un centro tecnológico en régimen de subcontratación que colabora con las cuatro empresas:

  • Gestora de subproductos de Galicia, S.L.
  • Enxenio S.L.
  • A0 Mayores Servicios Sociales, S.L.
  • Taprega Prevención de Riesgos, S.L.
  • Centro Tecnológico de la Universidade da Coruña (CITIC).
Financiación pública

Este Proyecto, con nº de expediente IN852A 2018/14, ha sido subvencionado en la convocatoria Conecta Peme 2018 por la Agencia Gallega de Innovación, con el apoyo de la Consejería de Economía, Empleo e Industria. Confinanciado por los fondos FEDER de la Unión Europea.

Resultados del proyecto

Como ya se indicó, el trabajo de investigación debía dar como resultado 3 prototipos de aplicaciones de gestión de trabajadores móviles para cada una de las tres empresas no tecnológicas del consorcio. Estos prototipos constituyeron los objetivos tecnológicos del proyecto.

Los resultados generales de la investigación se describen en el sitio web del CITIC, ya que los investigadores de ese centro fueron los responsables de ellos. Del mismo modo, el sitio web de cada empresa describe el prototipo realizado para ella. Por tanto, aquí solo describimos el trabajo realizado por y para Enxenio.
Cabe señalar que la pandemia, con confinamiento primero y restricciones de contacto después que llevaron al personal de Enxenio al teletrabajo, ha obstaculizado el desarrollo del trabajo. Sin embargo, a pesar de estos retrasos, hemos logrado alcanzar todos los objetivos del proyecto y hemos desarrollado todas las aplicaciones hasta su actual fase de prototipo que, tras un proceso de pruebas de campo y los consiguientes ajustes, será plenamente funcional en el futuro.

Como resultado del proyecto, Enxenio ha desarrollado una herramienta para la generación automatizada del código fuente de aplicaciones de gestión de trabajadores móviles (HGAGTM). Para esta herramienta hemos extraído componentes y funcionalidades de los tres prototipos de aplicaciones GTM desarrollados en las aplicaciones GTM de los objetivos tecnológicos verticales, generalizándonos y adaptándolos a un uso más general. Esto es necesario ya que los productos generados por HGAGTM no pueden ser específicos a ninguna empresa o dominio concreto, si no que han de ser suficientemente genéricos como para poder ser usados por cualquier empresa con necesidades de GTM.

Los componentes o core assets extraídos de cada prototipo se han modificado para adaptarlos a una arquitectura común, diseñada también teniendo en cuenta las particularidades del dominio, de forma que pueden ser ensamblados cuando se genera un producto que los usa. El enfoque seguido para la construcción de la herramienta es el de Líneas de Producto Software (LPS), un campo de investigación que goza cada vez de más popularidad. En el camino para poder hacer productos genéricos, hemos tenido que ir más allá de lo que nos propone una LPS pura, incluyendo en nuestro motor de derivación, la pieza que se encarga de ensamblar los componentes, capacidades de transformación de código a partir de modelos. Para llevar a cabo esas transformaciones ha sido necesario contar con plantillas con anotaciones de una forma específica que encajen que con el resto de los componentes del producto. Para este proceso nos hemos basado en lo que en la industria se conoce como scaffolding.

Además del motor de derivación (y scaffolding) y de los componentes (y plantillas de transformación), es necesario contar con una forma de confeccionar o configurar los productos. Para esto hemos diseñado un lenguaje específico de dominio que se representa en formato JSON, y que es interpretable por el motor de derivación. Evidentemente, no podemos pedir a los usuarios de la herramienta que escriban en JSON directamente, por lo que hemos diseñado una interfaz web para nuestra HGAGTM. En esta interfaz de especificación permitimos al analista diseñar el modelo de datos de la aplicación resultantes utilizando un diagrama de clases UML(Figura 1), y seleccionar las funcionalidades que desea para una aplicación concreta (Figura 2). La lista de funcionalidades está relacionada con los componentes GTM, aunque también hemos incluido funcionalidades clásicas necesarias en cualquier página web empresarial, como gestión de usuarios y autenticación, o listados y formularios para las entidades definidas.

Figura 1: Interfaz de HGAGTM para la definición del modelo de datos de un producto utilizando un diagrama de clases UML

Figura 2: Interfaz de HGAGTM para la selección de funcionalidades de un producto

Una vez el analista termina la especificación de un producto, puede generar el código fuente del mismo con un simple click. También tiene la opción de almacenar la especificación diseñada en la base de datos de la herramienta, de forma que puede volver a generarlo o modificarlo posteriormente.

Las interfaces de los componentes GTM del producto generado, extraídos de los prototipos desarrollados por las otras empresas del consorcio, son totalmente funcionales. Podemos ver un ejemplo de la planificación de un empleado en la imagen de la Figura 3. Vemos que tiene aspecto de tablero o dashboard, y cuenta con un mapa que muestra tanto la posición del empleado como de los clientes que tiene que visitar, así como una lista de los mismos ordenados cronológicamente y con enlaces a sus fichas individuales, donde se pueden ver más detalles de los mismos. Además, en esa misma imagen vemos la lista de componentes de análisis de movilidad incluidos en el producto.

Figura 3: Planificación de un empleado en un producto generado por HGAGTM

Sin ánimo de ser exhaustivos, el producto generado por la LPS incluye un planificador, funcionalidad para recibir las trayectorias de los trabajadores desde un app móvil, los algoritmos para identificar las actividades semánticas realizadas por los trabajadores, la funcionalidad para almacenar las trayectorias semánticas de modo comprimido en una estructura compacta, la funcionalidad para explotar las trayectorias semánticas, y una interfaz amigable que facilite a la gerencia de la empresa la explotación de las trayectorias facilitándole analizar el seguimiento real de las planificaciones.