Aumentar la productividad de los sistemas informáticos
A grandes rasgos, los sistemas de computación heterogénea son sistemas electrónicos que controlan el funcionamiento de diversas unidades computacionales, tales como sistemas de audio o vídeo, aplicaciones en redes, etc., y que necesitan recursos extremadamente especializados para funcionar. El desajuste entre diseño y productividad que se observa en estos sistemas se debe a dos motivos: los procesadores empotrados son cada vez más complejos, como también ocurre con las aplicaciones, cada vez más grandes, que funcionan con estos procesadores. El proyecto DynaGALS se propuso resolver estos problemas trabajando en tres aspectos: lenguajes de programación de alto nivel, predictibilidad temporal y diseño basado en componentes. Con respecto al primer elemento, los investigadores estudiaron el lenguaje de programación SystemJ, que es especialmente apto para el diseño de sistemas GALS (Globalmente Asíncronos Localmente Síncronos), un apartado muy destacado del proyecto. Los responsables del proyecto se dispusieron a definir esta tarea y efectuaron estudios de casos para averiguar si SystemJ servía para el diseño de sistemas informáticos empotrados. En segundo lugar, el equipo creó un nuevo lenguaje de programación predictivo denominado Precision Timed C (Pret_C). Se basa en el conocido lenguaje de programación C pero cuenta con dinámicas añadidas para mejorar sus prestaciones. Pret_C permite la comunicación de memoria entre dos hilos existentes, algo que no ofrece el lenguaje de programación C normal. De este modo resulta más fácil realizar correspondencias entre el tiempo lógico y el tiempo físico. También se diseñó Arpret, una arquitectura objetivo especializada que combina un acelerador de hardware con un procesador de núcleo blando que aumentó la eficiencia de Pret_C. En tercer lugar, DynaGALS trabajó en sistemas basados en componentes, es decir, sistemas complejos compuestos por bloques de código o componentes. Un problema esencial es cómo construir componentes diseñados de forma aislada cuando sólo se conoce la interfase de comunicación de un componente individual. Cuando se tratan de vincular los distintos componentes, se producen desajustes frecuentes. Por ello el equipo elaboró un nuevo planteamiento formal que incorpora una síntesis de convertidores (un tipo de verificación) que solventó los desajustes entre distintos componentes. El proyecto, que costó 111.667 euros, finalizó en febrero de 2010. Se espera que SystemJ se erija en el principal lenguaje de diseño a nivel de sistema para sistemas empotrados complejos y heterogéneos.