СИГНАЛ (язык программирования) - SIGNAL (programming language)

SIGNAL - это язык программирования, основанный на синхронизированном потоке данных (потоки + синхронизация): процесс - это набор уравнений на элементарных потоках, описывающих как данные, так и управление.

Формальная модель SIGNAL предоставляет возможность описывать системы с несколькими часами (полихронные системы) как реляционные спецификации . Отношения полезны как частичные спецификации и как спецификации недетерминированных устройств (например, недетерминированной шины ) или внешних процессов (например, небезопасного водителя автомобиля).

Использование SIGNAL позволяет указать приложение, спроектировать архитектуру , детализировать компоненты вплоть до RTOS или описания оборудования. Модель SIGNAL поддерживает методологию проектирования, которая идет от спецификации к реализации , от абстракции к конкретизации , от синхронности к асинхронности .

SIGNAL в основном разрабатывается командой INRIA Espresso с 1980-х годов, одновременно с аналогичными языками программирования Esterel и Lustre .

Краткая история

Язык SIGNAL был впервые разработан для приложений обработки сигналов в начале 1980-х годов. Было предложено удовлетворить потребность в новом предметно-ориентированном языке для разработки приложений обработки сигналов , приняв стиль потока данных и блок-диаграммы с операторами массива и скользящего окна . П. Ле Герник, А. Бенвенист и Т. Готье отвечали за определение языка. Первая статья о СИГНАЛЕ была опубликована в 1982 году, а первое полное описание СИГНАЛА появилось в докторской диссертации Т. Готье. Символьное представление SIGNAL через z / 3z (больше [-1,0,1]) было введено в 1986 году. Полный компилятор SIGNAL, основанный на исчислении часов на иерархии булевых часов, был описан Л. Безнаром в его работе. Кандидатская диссертация в 1992 году. Исчисление часов было улучшено позже Т. Амагбеньоном с предложением древовидных канонических форм.

В течение 1990-х прикладная область языка SIGNAL была расширена до общих встроенных систем и систем реального времени. Стиль спецификации, ориентированный на отношения, позволил расширить построение систем, а также привел к проектированию, учитывающему многочастотные системы, по сравнению с оригинальной реализацией Эстерель и Ластер на основе одного такта. Кроме того, в SIGNAL были учтены дизайн и реализация распределенных встроенных систем. Соответствующее исследование включает методы оптимизации, предложенные Б. Шероном, модели кластеризации, определенные Б. Ле Гоффом, абстракцию и раздельную компиляцию, формализованные О. Маффеисом, и реализацию распределенных программ, разработанную П. Обри.

Наборы инструментов полихронии

Набор инструментов Polychrony - это среда разработки с открытым исходным кодом для критически важных / встроенных систем, основанная на SIGNAL, языке полихронного потока данных в реальном времени . Он предоставляет единую управляемую моделями среду для исследования проекта с использованием методологий проектирования сверху вниз и снизу вверх, формально поддерживаемых преобразованиями модели проекта от спецификации к реализации и от синхронности к асинхронности. Его можно включать в разнородные системы проектирования с различными формализмами ввода и языками вывода.

Полихрония - это набор инструментов, состоящий из:

Среда малого и среднего бизнеса

Среда SME (SIGNAL Meta в Eclipse) - это интерфейсная часть Polychrony в среде Eclipse, основанная на технологиях Model-Driven Engineering (MDE). Он состоит из набора подключаемых модулей Eclipse, основанных на Eclipse Modeling Framework (EMF). Среда построена вокруг SME, метамодели языка SIGNAL, расширенного концепциями автоматов режимов .

Среда SME состоит из нескольких плагинов, которые соответствуют:

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

Примечания и ссылки

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