Ingeniería del Software Sostenible
Ingeniería del Software Sostenible
Aunque el software no consume energía directamente, sí que incide enormemente en el gasto energético del hardware donde se ejecuta (ej: centro de datos, dispositivos móviles, accesorios inteligentes, etc.). Este impacto del software en el consumo de energía no es precisamente despreciable, especialmente si pensamos en los millones de dispositivos y de veces que se ejecuta cierto código. Con la idea de contribuir a generar productos más sostenibles, recientemente ha surgido un interés por concienciar al desarrollador de software sobre el gasto energético que generan sus productos. Las tecnologías de la información “verdes” (Green IT) tienen como objetivo procurar el uso de recursos hardware de forma sostenible para minimizar el impacto medioambiental y alargar la vida útil de las baterías de los dispositivos inteligentes. Esto significa que las metodologías de desarrollo de software actuales deben revisarse para centrarse en producir software más sostenible. En este contexto el rol del Ingeniero del Software es fundamental, ya que debe ser consciente de las implicaciones que cada decisión de diseño e implementación tienen en el consumo de energía del sistema final. En ITIS somos expertos en la medición del consumo de energía de código, identificamos aquellos elementos del sistema que son devoradores de energía y desarrollamos mecanismos que le proporcionan al programador información sobre el consumo de energía de su aplicación según el dispositivo donde se ejecute un determinado código. En el proyecto HADAS definimos metodologías y herramientas que permiten hacer un análisis de la sostenibilidad de las diferentes opciones de diseño e implementación de un software (https://hadas.caosd.lcc.uma.es/) y también plug-ins que se instalan en IDEs tipo IntelliJ y que le muestran al desarrollador los diferentes consumos del uso de una API, para diferentes parámetros. En los proyectos LEIA y MEDEA se considera la minimización del consumo de energía como un criterio de calidad de primer orden, y por ello calculamos cuál es el despliegue más sostenible de una aplicación en entornos IoT/Edge/Cloud.