Actualizado el 16/04/2024

icon Facebook icon Twiiter icon RSS icon EMAIL
  1. Portada
  2. >
  3. Opiniones
  4. >
  5. Nuevos desafíos en el Software Embedded

Nuevos desafíos en el Software Embedded

Escrito por Jan Tobias Mühlberg el 23/09/2016 a las 14:47:27
3909

(iMinds-DistriNet, KU Leuven, Bélgica Ponente en QA&TEST 2015 y 2016)

El software embedded  se está convirtiendo en una parte esencial de nuestras vidas sin que seamos, necesariamente, conscientes de ello. El software embedded está diseñado para controlar las cada vez más complejas máquinas y dispositivos que no son considerados como ordenadores y a quienes confiamos actividades esenciales, o incluso nuestras vidas, todos los días. 

 

A modo de ejemplo podemos pensar en programas informáticos que operan en automóviles, sistemas ferroviarios, aviones, aparatos de telecomunicaciones y multimedia, centrales eléctricas, equipos hospitalarios e incluso implantes médicos tales como bombas de insulina o marcapasos: un subconjunto cada vez mayor de la infraestructura crítica de nuestra sociedad es controlada por programas de ordenador para los que el fallo no es una opción.

 

En un futuro muy cercano vamos a estar sentados en el interior de vehículos autónomos que circulan por ciudades inteligentes, por carreteras inteligentes y viviendo en casas inteligentes que hacen un uso óptimo de los recursos energéticos renovables  proporcionados por una red eléctrica inteligente. Aún más, el software embedded se ocupará de las actividades tediosas y nos ayudará a sacar el máximo partido de nuestro tiempo tanto en contextos profesionales como en nuestra vida privada. Todo esto hace que los sistemas embedded sean un mercado de rápido crecimiento y muy innovador en el que el software toma un papel relevante.

 

El desarrollo de sistemas embedded se ha caracterizado tradicionalmente por un fuerte enfoque en la estabilidad y fiabilidad de los sistemas, en particular en la aviónica, automoción, industria médica y/o nuclear... Aquí, las normas estrictas prescriben un ciclo de vida del software que implica realizar una cuidadosa  codificación, inspección, documentación, pruebas, verificación y análisis del sistema. Décadas de experiencia han dado lugar a una gran cantidad de conocimiento en la gestión eficaz de la calidad y en la implementación de software fiable.

 

La seguridad supone un desafío para la ingeniería de sistemas embedded. Mientras que en la última década el software embedded normalmente se ha ejecutado en micro-controladores aislados protegidos físicamente contra manipulaciones, los sistemas embedded modernos operan en entornos de red y con frecuencia son accesibles y controlables de  forma remota. Ejemplos típicos para esto son los vehículos inteligentes que se comunican las condiciones de tráfico entre sí y con los dispositivos de la carretera, para garantizar un funcionamiento estable, fiable y eficiente. O la red eléctrica inteligente en la que electrodomésticos inteligentes pueden ser controlados de forma remota administrando su consumo de energía. Los ataques contra los sistemas industriales de control (Stuxnet) y coches (Miller y Valasek) llamaron la atención de toda la comunidad. Sin embargo, la seguridad global del panorama actual y futuro de las TIC embedded sigue siendo un misterio para todos nosotros.

 

En los últimos años, la Unión Europea ha dado un paso hacia delante al colocar la protección de las infraestructuras críticas en el centro de las actividades internacionales de investigación y desarrollo. Sin embargo, es necesario un intercambio permanente de experiencias entre profesionales de todas partes del mundo para hacer frente a los problemas que surgen en las TIC embedded.

 

En Europa, una serie de grandes conferencias como EuroStar y EuroSys  surgieron con el objetivo de fomentar este intercambio. Si nos enfocamos en el control de calidad y pruebas de sistemas embedded, QA&Test (SQS, Bilbao) es una conferencia clave especializada en este ámbito, que reúne tanto profesionales de la industria como del mundo académico.

 

Los procesos para producir sistemas de control embedded funcionalmente correctos, fiables y seguros son increíblemente complejos. Quienes organizan buenas conferencias aceptan esta complejidad, conocen que  para lograr este objetivo hay que emplear una amplia gama de herramientas e incluir presentaciones y conferencias que cubran los temas de gestión, normalización, casos de estudio… aún así, esto puede no ser suficiente para todos los públicos y por ello las presentaciones no son la única razón para acudir a conferencias profesionales: más atractivo aún que las propias presentaciones es la posibilidad de explorar en profundidad las herramientas y técnicas emergentes  dentro de tutoriales y talleres interactivos. Por supuesto, hay muchas maneras de aprender y perfeccionar nuestras habilidades hoy en día (webinars, blogs, podcast…), pero no es como estar en una conferencia. En particular, estas otras maneras carecen de la oportunidad de realizar networking, de conocer y participar en discusiones activas con expertos y participantes, de la oportunidad de aprender sobre herramientas y técnicas que pueden ser novedosas o desconocidas hasta entonces para nosotros. Tenemos muchos problemas desconocidos hasta ahora delante de nosotros, en el ámbito de los sistemas embedded los retos aparecen junto con las nuevas tecnologías, con interesantes dominios de aplicación, con condiciones ambientales cambiantes y con emergentes escenarios de ataque. 

 

Siendo ingenieros y científicos debemos de ser confortablemente curiosos con lo desconocido y tratar de buscar soluciones juntos.