Lustre (мова програмування)Lustre — це формально визначена, декларативна та синхронна мова програмування потоків даних для програмування реактивних систем. Вона почалася, як дослідницький проєкт на початку 1980-х років. Формальну презентацію мови можна знайти в Proceedings of the IEEE за 1991 рік. У 1993 році мову впровадили в практичне, промислове використання як основну мову промислового середовища SCADE, розробленого Esterel Technologies. Зараз вона використовується для програмного забезпечення критично важливих систем керування на повітряних суднах[1]. вертольотах і атомних електростанціях. Структура програм LustreПрограма Lustre - це серія визначень вузлів, записаних у вигляді: node foo(a : bool) returns (b : bool);
let
b = not a;
tel
Де Внутрішні змінніДодаткові внутрішні змінні можуть бути оголошені наступним чином: node Nand(X,Y: bool) returns (Z: bool);
var U: bool;
let
U = X and Y;
Z = not U;
tel
Примітка: Порядок рівнянь не має значення, порядок рядків Спеціальні оператори
ПрикладиВиявлення контурівnode Edge (X : bool) returns (E : bool);
let
E = false -> X and not pre X;
tel
Див. такожПримітки
Зовнішні посилання
|