Lustre (язык программирования) - Lustre (programming language)
Блеск это формально определенный, декларативный, и синхронный программирование потока данных язык программирования реактивных систем. Это началось как исследовательский проект в начале 1980-х годов. Формальное представление языка можно найти в Протоколах IEEE 1991 г.[1] В 1993 году он перешёл к практическому промышленному использованию в коммерческом продукте в качестве основного языка промышленной среды. SCADE, разработан Эстерель Технологии. Теперь он используется для программного обеспечения критического управления в самолет,[2] вертолеты, и атомная электростанция.
Структура программ Lustre
Программа Lustre - это серия узел определения, записанные как:
node foo (a: bool) возвращает (b: bool); let b = not a; tel
Где фу
это имя узла, а
имя единственного входа этого узла и б
- это имя единственного выхода. В этом примере узел фу
возвращает отрицание своего ввода а
, что и является ожидаемым результатом.
Внутренние переменные
Дополнительные внутренние переменные можно объявить следующим образом:
узел Nand (X, Y: bool) возвращает (Z: bool); var U: bool; пусть U = X и Y; Z = не U; тел
Примечание: порядок уравнений не имеет значения, порядок строк U = X и Y;
и Z = не U;
не меняет результат.
Специальные операторы
предварительно п | Возвращает предыдущее значение п |
п -> q | Набор п как начальное значение выражения q |
Примеры
Обнаружение края
узел Edge (X: bool) возвращает (E: bool); пусть E = false -> X, а не pre X; tel
Смотрите также
- Эстерель
- СИГНАЛ (еще один синхронный язык, ориентированный на потоки данных)
- Синхронный язык программирования
- Программирование потока данных
Рекомендации
- ^ [1] N. Halbwachs et al. Язык программирования синхронного потока данных LUSTER. В Proc. IEEE 1991 Vol. 79, No. 9. По состоянию на 17 марта 2014 г.
- ^ «Истории успеха SCADE». Получено 8 июн 2013.
внешняя ссылка
- Synchrone Lab Официальный веб-сайт
- SCADE страница продукта
Этот язык программирования -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |