El tiempo de ejecución del software generalmente se considera una actuación propiedad en lugar de una propiedad de corrección. Pero en software para sistemas ciberfísicos, la sincronización es a menudo una característica crítica de la ejecución del software.
Hoy en día, ningún lenguaje de programación ampliamente utilizado especifica el tiempo. En cambio, el momento oportuno es una consecuencia emergente de una implementación particular y es sensible a cada detalle del hardware en el que se ejecuta el software y a qué otro software puede estar compartiendo el mismo hardware. Incluso un pequeño cambio en el contexto del hardware o del software puede llevar a tiempos drásticamente diferentes comportamientos, lo que dificulta las pruebas, el mantenimiento y las actualizaciones.
Así como un programador delega en el compilador y el microprocesador la ejecución correcta de la lógica del programa, sostenemos que debería haber formas programáticas para delegar de manera similar la entrega de los requisitos de tiempo. En los últimos años se han logrado avances hacia la realización de esta visión. Pero hasta el día en que las abstracciones por tiempo están disponibles en programación madura y bien soportada en lenguajes, compiladores y arquitecturas de computadoras y redes, aún quedan desafíos importantes.
En este artículo, discutimos el tiempo lógico como un medio para establecer una sólida práctica de ingeniería en torno al desarrollo de software reactivo centrado en el tiempo. Las principales aportaciones son precisas definiciones de tiempo físico y lógico, y una breve revisión de algunos lenguajes que abrazan el tiempo lógico.
La noción de tiempo lógico, a diferencia del tiempo físico, es un elemento crítico para diseñar sistemas reactivos centrados en el tiempo. Esta noción aparece en muchas formas relacionadas en lenguajes sincrónicos, el paradigma del tiempo de ejecución lógica (LET) y los lenguajes y formalismos de programación emergentes. Puede dar un significado riguroso a coherencia y controlar el calendario práctico de los programas.
s
Fuente: Lohstroh, M., Lee, E. A., Edwards, S. A., & Broman, D. (2023). Logical Time for Reactive Software. Proceedings of Cyber-Physical Systems and Internet of Things Week 2023. https://dl.acm.org/doi/pdf/10.1145/3576914.3587494
No hay comentarios.:
Publicar un comentario