Actualmente el desarrollo de hardware y software en conjunto conlleva retos importantes desde el punto de vista de validación, calidad y compatibilidad. El propósito de este blog es hablar un poco sobre algunas de las técnicas utilizadas actualmente en la industria.
- Hardware in the loop (HIL): Se refiere a pruebas realizadas conectando componentes de hardware reales a ambientes simulados o virtuales con la finalidad de verificar el funcionamiento del hardware y sus interacciones con componentes de software.
- Software in the loop (SIL): En este caso se verifica el correcto funcionamiento de los elementos de software sin la necesidad de contar con ningún hardware. Esto nos permite corregir errores antes de descargarlos y utilizarlos en hardware real, lo que se traduce a ahorro de tiempo, costo y trabajo invertido, así mismo se consigue una mejor calidad de software debido a que se puede iterar con mayor frecuencia.
- Model in the loop (MIL): En este caso lo que se valida es el modelo (Matemático, lógico, filosófico, etc.) con el que se está trabajando, es decir, en este caso se simula el modelo y comprobamos por lo menos de manera teórica que es correcto, sin tomar en cuenta el hardware ni el software que se utilizará. Esto nos sirve mucho, ya que una vez que contamos con un modelo validado tenemos una meta clara a la cual llegar y sabemos que al alcanzarla el funcionamiento será el adecuado.
- Processor in the loop (PIL): Se refiere a la realización de pruebas de software en procesadores simulados o virtuales con la finalidad de verificar el funcionamiento y desempeño de los mismos antes de comenzar con las pruebas físicas.
Un ejemplo claro de como es que se aplican estas técnicas de validación se encuentra en el desarrollo de automóviles.
Hoy en día los automóviles representan un sistema complejo el cual consta de multiples computadoras interconecadas cque comparten información entre ellas para generar comportamientos, como el control del aire acondicionado o de las luces hasta conducción autonoma y prevención de accidentes.
No existe forma alguna de desarrollar estos sistemas tan complejos en el tiempo que se desarrollan sin aplicar estas tecnicas, ya que estas nos permiten verificar el funcionamiento de cada uno de estos sistemas y de todos ellos en conjunto desde antes de que exista el automovil.
En conclusión, Estas técnicas de validación permiten tener productos con mayor calidad y mejor desempeño minimizando los costos y el desperdicio, ya que solamente se cuenta con hardware una vez que se verificó que funcionará correctamente.
Es gracias a técnicas como estas que podemos pensar en desarrollos cada vez más ecológicos y eficientes en donde tanto el medio ambiente como los trabajadores y los empresarios salen ganando.
Bibliografía:
«Embedded Systems Design: An Introduction to Processes, Tools, and Techniques» by Arnold S. Berger
«Model-Based Engineering for Complex Electronic Systems» by Peter Wilson
«Hardware-Software Co-Design of Embedded Systems: The POLIS Approach» by Jørgen Staunstrup, Wayne Wolf, and Marco D. Santambrogio
«Hardware/Software Co-design for Data Flow Dominated Embedded Systems» by Jörg Henkel and Sri Parameswaran