stringtranslate.com

Блеск (язык программирования)

Lustre — это формально определенный , декларативный и синхронный язык программирования потоков данных для программирования реактивных систем. Это началось как исследовательский проект в начале 1980-х годов. Формальное представление языка можно найти в Трудах IEEE 1991 года. [1] В 1993 году он получил практическое промышленное использование в коммерческом продукте в качестве основного языка промышленной среды SCADE, разработанного Esterel Technologies . В настоящее время он используется для программного обеспечения критического управления в самолетах , [2] вертолетах и ​​атомных электростанциях .

Структура программ Lustre

Программа Lustre представляет собой серию определений узлов , записанных как:

узел  foo ( a  :  bool )  возвращает  ( b  :  bool ); пусть  b  =  не  a ; тел.

Где fooимя узла, aимя единственного входа этого узла и bимя единственного выхода. В этом примере узел fooвозвращает отрицание своего ввода a, что является ожидаемым результатом.

Внутренние переменные

Дополнительные внутренние переменные могут быть объявлены следующим образом:

узел  Nand ( X , Y :  bool )  возвращает  ( Z :  bool );  вар  U :  bool ; пусть  U  =  X  и  Y ;  Z  =  не  U ; тел.

Примечание. Порядок уравнений не имеет значения, порядок строк U = X and Y;не Z = not U;меняет результат.

Специальные операторы

Примеры

Обнаружение края

узел  Edge  ( X  :  bool )  возвращает  ( E  :  bool ); пусть  E  =  false  ->  X  , а  не  pre  X ; тел.

Смотрите также

Рекомендации

  1. ^ [1] Н. Хальбвакс и др. Язык программирования синхронных потоков данных LUSTRE. В Proc. IEEE 1991 Том. 79, № 9. По состоянию на 17 марта 2014 г.
  2. ^ «Истории успеха SCADE» . Проверено 8 июня 2013 г.

Внешние ссылки