Articulo de referencia

Lustre (lenguaje de programación)

Lustre es un lenguaje de programación de flujo de datos formalmente definido , declarativo y síncrono para la programación de sistemas reactivos. Comenzó como un proyecto de inv...

Lustre es un lenguaje de programación de flujo de datos formalmente definido , declarativo y síncrono para la programación de sistemas reactivos. Comenzó como un proyecto de investigación a principios de la década de 1980. Una presentación formal del lenguaje se puede encontrar en las Actas del IEEE de 1991. [ 1 ] En 1993, evolucionó hacia un uso práctico e industrial en un producto comercial como el lenguaje central del entorno industrial SCADE , desarrollado por Esterel Technologies . Ahora se utiliza para software de control crítico en aeronaves , [ 2 ] helicópteros y centrales nucleares .

Estructura de los programas Lustre

Un programa Lustre es una serie de definiciones de nodos , escritas de la siguiente manera:

nodo foo(a : bool) devuelve (b : bool); dejar b = no a; tel 

Donde fooes el nombre del nodo, aes el nombre de la única entrada de este nodo y bes el nombre de la única salida. En este ejemplo, el nodo foodevuelve la negación de su entrada a, que es el resultado esperado.

Variables internas

Se pueden declarar variables internas adicionales de la siguiente manera:

El nodo Nand(X,Y: bool) devuelve (Z: bool); var U: bool; dejar U = X e Y; Z = no U; tel 

Nota: El orden de las ecuaciones no importa, el orden de las líneas U = X and Y;no Z = not U;cambia el resultado.

Operadores especiales

Ejemplos

Detección de borde emergente

nodo RisingEdge (X : bool) devuelve (E : bool); dejar E = X y no pre X; tel 

Detección de flanco descendente

nodo FallingEdge (X : bool) devuelve (E : bool); dejar E = no X y anterior a X; tel 

Véase también

  • Esterel
  • SEÑAL (otro lenguaje síncrono orientado al flujo de datos)

Referencias

  1. N. Halbwachs et al. El lenguaje de programación de flujo de datos síncrono LUSTRE. En Proc. IEEE 1991 Vol. 79, No. 9. Consultado el 17 de marzo de 2014.
  2. "Historias de éxito de SCADE" . Archivado del original el 30 de enero de 2019. Consultado el 8 de junio de 2013 .
  • Synchrone Lab archivado el 25/11/2020 en el sitio web oficial de Wayback Machine.
  • Página del producto SCADE