Jump to content

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

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

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

[ редактировать ]

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

node foo(a : bool) returns (b : bool);
let
  b = not a;
tel

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

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

[ редактировать ]

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

node Nand(X,Y: bool) returns (Z: bool);
  var U: bool;
let
  U = X and Y;
  Z = not U;
tel

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

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

[ редактировать ]
pre п Возвращает предыдущее значение p
п -> д Установите p как начальное значение выражения q

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

[ редактировать ]
node Edge (X : bool) returns (E : bool);
let
  E = false -> X and not pre X;
tel

См. также

[ редактировать ]
  1. ^ [1] Н. Хальбвакс и др. Язык программирования синхронных потоков данных LUSTRE. В Proc. IEEE 1991 Том. 79, № 9. По состоянию на 17 марта 2014 г.
  2. ^ «Истории успеха SCADE» . Проверено 8 июня 2013 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d9540696305909cd283cb5c2a80ac950__1712240280
URL1:https://arc.ask3.ru/arc/aa/d9/50/d9540696305909cd283cb5c2a80ac950.html
Заголовок, (Title) документа по адресу, URL1:
Lustre (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)