Эстерель
-
Обзор языка программирования Esterel
- Esterel — синхронный язык для разработки реактивных систем.
- Императивный стиль программирования поддерживает параллелизм и вытеснение.
- Разработан в начале 1980-х, в основном во Франции.
- Современные компиляторы генерируют код на C или аппаратные реализации.
- Язык все еще находится в разработке, выпущено несколько компиляторов.
-
Особенности и использование Esterel
- Многообразное представление о времени, где порядок важнее физического времени.
- Программа описывает упорядоченную последовательность логических моментов.
- Сигналы — единственное средство коммуникации, могут быть ценными или неценными.
- Сигналы передаются по всей программе, любой процесс может их читать или записывать.
- Правила когерентности сигнала обеспечивают отсутствие сигналов одновременно.
-
Примеры и преимущества Esterel
- Пример программы ABRO демонстрирует функциональность языка.
- Преимущества включают точный контроль времени, удобство для систем управления, детерминированность и предсказуемость времени выполнения.
-
Недостатки Esterel
- Ограниченная гибкость из-за конечной природы языка.
- Сложности в избегании нарушений причинно-следственных связей.
- Трудности в компиляции, но существуют критерии корректности.
-
Сравнение с другими языками
- Упоминается родственный язык Lustre и синхронный язык SIGNAL.
- Esterel Technologies — разработчик Esterel Studio и других инструментов.
-
Дополнительная информация
- Ссылки на внешние ресурсы и модель параллельного программирования.
- Компилятор Columbia Esterel доступен с открытым исходным кодом.