Lenguajes innovadores para el software de simulación

21-08-2017 | Publicado por Principia

Lenguaje simulacion MITUno de los principales retos del futuro del software de simulación y de la ingeniería asistida por ordenador (CAE) tiene que ver con el coste y la disponibilidad del desarrollo del mismo. Efectivamente, para poder disponer de programas cada vez más potentes y actualizaciones cada vez más rápidas y eficientes, los desarrolladores tienen que emplear meses de trabajo para dar forma  al código más eficiente, lo que encarece enormemente el producto final.

Sin embargo, y aunque todavía se encuentra en un estadio incipiente, algunos investigadores están empezando a considerar que el futuro del software de simulación, tanto desde el punto de vista de los desarrolladores como de los usuarios, puede ser un poco menos oneroso si prestamos atención a formas innovadoras de abordar los problemas que plantea el código.

Tradicionalmente se da por hecho que la creciente complejidad de las soluciones que debe ofrecer el software de simulación implica una creciente complejidad en el código que las soporta, ya que se requieren distintos lenguajes en cada una de las diferentes etapas del proceso de diseño. Para ser capaces de simular un amplio abanico de condiciones de trabajo, desde factores medioambientales a escala macro hasta potenciales microfracturas, tanto los ingenieros de simulación como los desarrolladores de software han de “traducir” estas situaciones para que los ordenadores sean capaces de reproducir simulaciones realistas.

Las descripciones necesarias pueden dividirse en dos categorías: datos que deben describirse utilizando recursos gráficos, y datos que requieren la utilización de álgebra lineal para su descripción. Matemáticamente, para los desarrolladores combinar ambos lenguajes es como hacer malabares, e incluso para los ordenadores resulta arduo alternar entre niveles descriptivos tan diferentes. Por ello, los investigadores piensan que si somos capaces de encontrar un lenguaje de codificación capaz de combinar ambos niveles de descripción, no solamente será posible simplificar el código del software sino que también podrá mejorarse la eficacia de los sistemas al reducir el “nivel de estrés” de los ordenadores.

En la búsqueda de este nuevo lenguaje de codificación, las empresas desarrolladoras de software trabajan conjuntamente con investigadores universitarios para encontrar soluciones innovadoras que beneficien al conjunto de desarrolladores de software y, por lo tanto, a sus potenciales usuarios.

Recientemente, el Journal ACM Transactions on Graphics ha publicado los resultados de una colaboración de este tipo, y de sus conclusiones puede deducirse que los nuevos (y experimentales) lenguajes de programación pueden tener una aplicación casi inmediata en la industria del software de simulación.

“Conseguir que una simulación se ejecute rápidamente requiere a menudo reajustes meticulosos en el código” dice Chris Wojtan, professor en el Institute of Science and Technology Austria. “Y lo que es peor, el código ha de ser reescrito para ordenadores diferentes”.

Investigadores del MIT se han asociado tanto con desarrolladores de software de simulación como con otras universidades de primer nivel en USA para desarrollar lo que han llamado “Simit”, un lenguaje apropiado para la simulación física que tiene la particularidad de cambiar el concepto de codificación tal y como lo conocemos, simplificando el problema de alternar entre los niveles de descripción “traduciendo” los gráficos en matrices, lo que permite usar únicamente el álgebra lineal para programar las simulaciones. Esto no sólo simplifica la codificación, sino que ahorra una gran cantidad de tiempo y esfuerzo que puede dedicarse a publicar actualizaciones con mayor frecuencia que actualmente

“Simit [y otros lenguajes experimentales de simulación] aspiran a ser capaces de resolver automáticamente las actualmente frustrantes optimizaciones específicas de código, y permitir así que los programadores dediquen su tiempo y energía al desarrollo de nuevos algoritmos.”

Tras crear el nuevo lenguaje, los investigadores lo han probado “traduciendo” código existente de compañías como Google, y lo que han verificado es que es capaz de reducir hasta en un 90% el código necesario, lo que significa que la velocidad de simulación de los ordenadores puede mejorarse hasta 200 veces.

Aunque todavía son experimentales, estos nuevos lenguajes de codificación ofrecen una posible solución a los problemas de coste y velocidad de desarrollo del software de simulación, y permiten asimismo visualizar que el trabajo conjunto entre empresas desarrolladoras de software e investigadores académicos puede facilitar el hallazgo de nuevos lenguajes o estrategias de codificación que ayuden tanto a acelerar las velocidades de simulación como a reducir el coste global de desarrollo de nuevos productos o actualizaciones de software.

Te puede interesar

Te puede interesar