Inteligencia Artificial para la Ingeniería de Software

Utilizamos la Inteligencia Artificial (IA) para construir Ingeniería de Software (IS). Aplicamos complejos conceptos de optimización más el aprendizaje máquina y la ciencia de los datos para resolver los retos de la IS: pruebas, reparación de software, líneas de productos de software, programación de herramientas inteligentes. Incluimos aquí la importante línea de investigación mundial de la ingeniería de software basada en la búsqueda, a la que nos enfrentamos con algoritmos tanto exactos como aproximados.

Ingeniería de software para la construcción de una inteligencia artificial confiable

Nos centramos en la construcción de software inteligente dotado de motores de optimización avanzada y de aprendizaje profundo que pueden ser utilizados para resolver problemas reales de ingeniería, energía, economía, salud, ciudades inteligentes e industria 4.0. Lo hacemos aplicando las herramientas comunes de IS para obtener finalmente una herramienta inteligente fiable que ha sido probada para realizar el trabajo requerido como se esperaba, y que es más fácil de entender y explicar. Como con cualquier otro software, la IA embebida en un paquete de software puede ser analizada, mejorada y hecha más segura para las aplicaciones científicas e industriales en las que va a ser utilizada más tarde bajo duros requisitos de producción.

Seguridad por diseño y evaluación automática e inteligente de la calidad del software

Definimos métodos de IA (optimización, ciencia de los datos, aprendizaje profundo) para evaluar la calidad del software en sus diferentes ejes: funcionalidad, rendimiento, seguridad, fiabilidad, facilidad de uso, mantenimiento, compatibilidad y portabilidad. Proporcionamos nuevas técnicas, prototipos de trabajo y herramientas para el análisis estático automático del software, además de nuevos estudios sobre la calidad en entornos de software dinámicos. Nos centramos en los sistemas de software en general y en los sistemas ciberfísicos en particular, en el software integrado de IoT y en el middleware de las ciudades inteligentes.

Sistemas inteligentes distribuidos y ubicuos: HPC, Edge Computing y Big Data

Utilizamos un hardware moderno y especializado para construir sistemas inteligentes que más tarde pueden ser utilizados en aplicaciones del mundo real, donde existen grandes cantidades de datos y estrictas restricciones de tiempo, bajo incertidumbres y cambios dinámicos en el entorno de trabajo. Utilizamos multiprocesadores, clusters de estaciones de trabajo, GPUs y teléfonos inteligentes/Raspberry pi para tareas exigentes de optimización y aprendizaje. Trabajamos tanto en el procesamiento central donde los datos fluyen hacia los recursos de computación como en la computación de borde/niebla, donde la computación ocurre justo donde la información es recogida o el resultado es esperado por el usuario final. Proporcionamos herramientas para la computación en multiples navegadores web para que se resuelvan los problemas socialmente importantes de forma voluntaria en los dispositivos del usuario, y también nos centramos en nuevas técnicas para tareas de aprendizaje altamente eficientes en los laboratorios de computación. También tratamos con vehículos inteligentes, comunicaciones V2V y micro-simulaciones.

Sistemas inteligentes para ciudades inteligentes: Transporte, Energía, Medio Ambiente, Vida

Nos acercamos a las Ciudades Inteligentes (CS) de manera holística y hacemos I+D para mejorar el nivel de desarrollo y la gestión de la ciudad en una amplia gama de servicios mediante el uso de las tecnologías de la información y la comunicación. Trabajamos en los seis ejes estándar esperados de SC: Economía Inteligente, Gente Inteligente, Gobernanza Inteligente, Movilidad Inteligente, Medio Ambiente Inteligente y Vida Inteligente. Utilizamos técnicas bioinspiradas, aprendizaje profundo y construimos nuevas técnicas de IA para la movilidad inteligente de una manera intensiva muy especial: rutas de baja contaminación, programación óptima de los semáforos, predicción de las plazas de aparcamiento en los aparcamientos subterráneos, reducción de atascos, comunicaciones y servicios V2V, planificación de carreteras, seguridad de los pasajeros, movilidad multimodal, y mucho más. También investigamos y desarrollamos sistemas inteligentes para la energía (como la iluminación adaptativa en las calles), aplicaciones medioambientales (como sensores móviles para la contaminación atmosférica y el ruido), edificios inteligentes (diseño inteligente), y varias otras aplicaciones relacionadas con la vida inteligente, el turismo y la gobernanza municipal inteligente.

Tecnologías verdes y comunicaciones sostenibles: 5G y Sistemas Inteligentes

En el desarrollo y mantenimiento de software inteligente y de las nuevas redes 5G es imprescindible asegurar su sostenibilidad reduciendo su impacto climático, manteniendo la eficiencia e incluyendo objetivos típicos de la economía y sociedad digitales actuales. En esta línea de investigación trabajamos en proponer nuevas técnicas basadas en optimización compleja y aprendizaje máquina para conseguir dichos objetivos de sostenibilidad sin descuidar la eficiencia resultante, produciendo software avanzado para realizer computación y comunicaciones de baja huella de carbono.

Economía circular, medio ambiente, reducción de la contaminación

Investigamos en diferentes técnicas inteligentes como algoritmos bioinspirados, redes neuronales profundas y utilizamos la ciencia de los datos para construir nuevos sistemas orientados a la economía circular, de manera que podamos reutilizar los residuos habituales (como el plástico, el cristal, el papel...) y comenzar un nuevo ciclo en la construcción de nuevos bienes (como perchas de tela, fundas de televisión...) que tengan valor de mercado. Podemos predecir el nivel de llenado de los contenedores de residuos, optimizar las rutas de los camiones, y dar interfaces inteligentes para los trabajadores en obras respetuosas con el medio ambiente. Nuestro objetivo es reducir la contaminación en nuestros prototipos de investigación y trabajo, y en general proporcionar sistemas inteligentes de última generación para la sostenibilidad: energía, agua, tráfico rodado, etc.

Análisis prescriptivo: Diagnóstico, predicción y optimización en sistemas reales complejos

Construimos nuevas técnicas de IA (aprendizaje profundo, solucionadores co-evolutivos, motores de optimización, controladores basados en cálculos, teoría) para el filtrado y análisis general de datos, con una intensificación en la predicción de valores y escenarios de riesgo, además de asistentes computarizados informados para ayudar a actuar en las instalaciones reales de las Ciudades Inteligentes o Industria 4.0. En particular, podemos predecir el próximo estado de los sistemas reales, como el número de futuras plazas de aparcamiento gratuitas para coches, los niveles de llenado de los contenedores de residuos, los futuros puntos más calientes de una ciudad desde el punto de vista de la seguridad civil, y los lugares de posibles errores futuros en los grandes sistemas de software. Podemos construir gemelos digitales de tales sistemas y probar las nuevas políticas, detectar escenarios erróneos y asesorar sobre cómo actuar para obtener un mayor beneficio, un menor coste y una mayor seguridad.

Ingeniería de Software e Inteligencia Artificial en Computación Cuántica

Aquí implementamos y ejecutamos técnicas de Inteligencia Artificial (IA) en Computadores Cuánticos como IBM QE, DWAVE, Fujitsu DA2, y también en simuladores de estas computadoras que funcionan en máquinas clásicas. Además de resolver los problemas de NP-hard en los Computadores Cuánticos nos ocupamos de las pruebas de software, la depuración y otras tareas de evaluación de la calidad del software especialmente dirigidas al software desarrollado para los propios Computadores Cuánticos.