СИГНАЛ (язык программирования) - SIGNAL (programming language)
Эта статья использует сокращения это может быть запутанный или двусмысленный. (Ноябрь 2011 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
СИГНАЛ это язык программирования на основе синхронизированных поток данных (потоки + синхронизация): процесс - это набор уравнений для элементарных потоков, описывающих как данные, так и управление.[1]
Сигнал формальная модель дает возможность описать системы с несколько часов [2][3] (полихронные системы) как реляционные спецификации. Отношения полезны как частичные спецификации и как спецификации недетерминированный устройства (например, недетерминированные автобус ) или внешние процессы (например, небезопасный водитель автомобиля).
Использование SIGNAL позволяет уточнить[4] приложение, чтобы разработать архитектура, чтобы уточнить детализацию компонентов до ОСРВ[требуется разъяснение ] или описание оборудования. Модель SIGNAL поддерживает методология проектирования который идет от Технические характеристики к выполнение, из абстракция к конкретизация, из синхронность к асинхронность.
СИГНАЛ был в основном разработан в INRIAКоманда эспрессо с 1980-х годов одновременно с аналогичными языками программирования, Эстерель и Блеск.
Краткая история
Язык SIGNAL был впервые разработан для приложения для обработки сигналов в начале 1980-х гг. Было предложено ответить на спрос на новые специфичный для домена язык для дизайна приложения для обработки сигналов, приняв поток данных и блок-схема стиль с множество и раздвижное окно операторы. П. Ле Герник, А. Бенвенист и Т. Готье отвечали за определение языка. Первая статья о СИГНАЛЕ была опубликована в 1982 году, а первое полное описание СИГНАЛА появилось в докторской диссертации Т. Готье. Символьное представление SIGNAL через z / 3z (более [-1,0,1]) было введено в 1986 году. Полный компилятор SIGNAL, основанный на исчислении часов на иерархии булевых часов, был описан Л. Безнаром в его работе. Кандидатская диссертация в 1992 году. Исчисление часов было усовершенствовано позже Т. Амагбегноном с предложением древовидных канонических форм.
В течение 1990-х прикладная область языка SIGNAL была расширена до общих встроенных систем и систем реального времени. Стиль спецификации, ориентированный на отношения, позволил расширить построение систем, а также привел к проектированию, учитывающему многочастотные системы, по сравнению с оригинальной реализацией Эстерель и Ластер на основе одного такта. Кроме того, в SIGNAL были учтены дизайн и реализация распределенных встроенных систем. Соответствующее исследование включает методы оптимизации, предложенные Б. Шероном, модели кластеризации, определенные Б. Ле Гоффом, абстракцию и раздельную компиляцию, формализованные О. Маффеисом, и реализацию распределенных программ, разработанную П. Обри.
Наборы инструментов полихронии
Набор инструментов Полихрония - это разработка с открытым исходным кодом среда для критических / встроенных систем на основе SIGNAL, a в реальном времени полихронный поток данных язык. Обеспечивает единый модельно-управляемая среда для выполнения проектных изысканий с использованием нисходящих и вверх дном методологии проектирования формально поддерживаются преобразованиями модели проекта от Технические характеристики к выполнение и из синхронность к асинхронности. Его можно включить в неоднородный системы проектирования с различными формализмами ввода и языками вывода.
Полихрония - это набор инструментов, состоящий из:
- SIGNAL партия компилятор
- А Графический интерфейс пользователя (редактор + интерактивный доступ к функциям компиляции)
- В Сигали инструмент, связанная формальная система для формальная проверка и синтез контроллера.[5] Сигали разрабатывается вместе с INRIA Vertecs проект.[6]
Среда малого и среднего бизнеса
Среда SME (SIGNAL Meta в Eclipse) является внешний интерфейс полихронии в Затмение окружающая среда на основе Модельно-ориентированная инженерия (MDE) технологии. Он состоит из набора подключаемых модулей Eclipse, основанных на Среда моделирования Eclipse (ЭДС). Окружающая среда строится вокруг МСП, метамодель [7] языка СИГНАЛ расширен режим автоматов [8] концепции.
Среда SME состоит из нескольких плагинов, которые соответствуют:
- А рефлексивный редактор: а дерево представление, позволяющее управлять моделями, соответствует метамодели SME.
- Средство графического моделирования на основе TopCased средства моделирования (см. предыдущий рисунок).
- Рефлексивный редактор и представление Eclipse для создания сценариев компиляции.
- Прямое подключение к сервисам Полихронии (сборник, формальная проверка, так далее.).
- А документация и модельные примеры.
Смотрите также
- Эстерель
- Lustre (язык программирования)
- Синхронный язык программирования
- Программирование потока данных
- Язык программирования
- Глобально асинхронный локально синхронный
- Формальная проверка
- Проверка модели
- Формальная семантика языков программирования
- AADL
- Simulink
- Авионика
- Системный дизайн
- Асинхронность (компьютерное программирование)
Примечания и ссылки
- ^ П. Ле Герник, Т. Готье, М. Ле Борн и К. Ле Мэр. Программирование приложений реального времени с помощью SIGNAL. Труды IEEE, 79(9): 1321-1336, сентябрь 1991 г.
- ^ П. Ле Герник, Ж.-П. Талпин, Ж.-К. Ле Ланн. Полихрония для системного проектирования. Журнал схем, систем и компьютеров, Специальный выпуск по проектированию аппаратного обеспечения для конкретных приложений, World Scientific, апрель 2003 г. (также доступен как отчет INRIA Research Report 4715, 2003 г.).
- ^ А. Гаматье и Т. Готье. Подход SIGNAL Synchronous Multiclock к проектированию распределенных встроенных систем. Транзакции IEEE в параллельных и распределенных системах, 21(5): 641-657, май 2010 г.
- ^ А. Гаматье. Проектирование встроенных систем с помощью языка программирования SIGNAL: синхронная, реактивная спецификация. ISBN 978-1-4419-0940-4. Книга под редакцией Springer - New York, 260 страниц, 2010.
- ^ А. Бенвенист, П. Бурне, Т. Готье, М. Ле Борн, П. Ле Герник и Х. Маршан. Декларативный синхронный язык сигналов: синтез контроллеров и проектирование систем / архитектуры. 40-я конференция IEEE по решениям и контролю, 2001 г.
- ^ Х. Маршан, П. Бурне, М. Ле Борн, П. Ле Герник, Синтез контроллеров дискретных событий на основе сигнальной среды, Дискретно-событийная динамическая система: теория и приложения, 10 (4): 325-346, октябрь 2000 г.
- ^ К. Брюнетт, Ж.-П. Талпин, А. Гаматье и Т. Готье. Метамодель для проектирования полихронных систем. Журнал логического и алгебраического программирования, 78(4): 233-259, Elsevier, апрель 2009 г.
- ^ Ж.-П. Талпин, К. Брюнет, Т. Готье и А. Гаматье. Автоматы полихронного режима. Материалы 6-й Международной конференции ACM & IEEE по встроенному программному обеспечению (EMSOFT '06), ACM Press, октябрь 2006 г., стр. 83-92.
внешняя ссылка
- Команда INRIA / IRISA Espresso
- Набор инструментов Полихрония, посвященный SIGNAL (официальный сайт Полихронии)
- Synchrone Lab (синхронный язык Lustre)
- Эстерель (синхронный язык Эстерель)