|
Эта публикация цитируется в 2 научных статьях (всего в 2 статьях)
Информатика
Препроцессор языка Templet: инструмент программирования в терминах модели «процесс–сообщение»
С. В. Востокин Самарский государственный аэрокосмический университет им. ак. С. П. Королёва (национальный исследовательский университет), г. Самара, 443086, Россия
(публикуется на условиях лицензии Creative Commons Attribution 4.0 International)
Аннотация:
Мотивация: Для большого числа прикладных задач целесообразно представление кода решаемой задачи в виде совокупности процессов, обменивающихся сообщениями. Традиционное применение модели «процесс–сообщение» в средстве программирования состоит в разработке специального языка или библиотеки времени исполнения для имеющегося языка. Недостаток первого подхода — это сложность разработки, а второго — сложность применения. Предлагается новый метод описания модели «процесс–сообщение», использующий язык программирования с процедурной семантикой и препроцессор, устраняющий указанные недостатки. Метод: Код программы в терминах модели «процесс–сообщение» делится на блоки: библиотека времени исполнения; связывающий код, объединяющий библиотеку времени исполнения и код конкретной задачи; типы данных для сообщений и процедуры их обработки. Границы блоков обозначаются комментариями. Для описания структуры кода в целом предлагается предметно-ориентированный язык, названный Templet. Метод позволяет проводить контроль соответствия структуры кода модели «процесс–сообщение» автоматически перед компиляцией. Описание каналов: Канал описывает протокол обмена сообщениями между парой процессов. Приведён синтаксис каналов с использованием расширенной нотации Бекуса–Наура (EBNF). Информационная структура каналов, используемая для генерации кода, описана с применением диаграммы «сущность–связь» (ER).
Описание процессов: Процесс определяет алгоритм обработки сообщений, поступающих по каналам от других процессов, и ответы на сообщения. Показана информационная структура каналов во взаимосвязи с синтаксисом. В описании также использованы метамодели EBNF и ER. Описание синтаксиса сопровождается примером процесса «разветвление–слияние». Схема работы препроцессора: Рассматривается укрупнённый алгоритм работы и архитектура препроцессора языка Templet. Препроцессор состоит из подсистем синтаксического анализатора, анализатора блоков, базы данных, семантического анализатора, механизма вывода и генератора кода. Описывается алгоритм работы препроцессора. На основе анализа количества строк кода в контрольном примере показано сокращение объёма ручного кодирования примерно в 20 раз.
Применение и сравнение с аналогами: Препроцессор применяется в составе web-сервиса для автоматизации параллельных вычислений. Он используется для подготовки скелетов программ, которые пользователи дополняют проблемно-ориентированным кодом. Описаны преимущества, общие черты и различия предложенного подхода в сравнении с технологиями разметки последовательного кода, генерирующими макропроцессорами, специализированными параллельными языками, метапрограммированием и разработкой, управляемой моделями.
Ключевые слова:
препроцессор, предметно-ориентированный язык, процесс, сообщение, параллельное программирование.
Поступила в редакцию 18/VII/2014 в окончательном варианте – 21/VIII/2014
Образец цитирования:
С. В. Востокин, “Препроцессор языка Templet: инструмент программирования в терминах модели «процесс–сообщение»”, Вестн. Сам. гос. техн. ун-та. Сер. Физ.-мат. науки, 3(36) (2014), 169–182
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/vsgtu1334 https://www.mathnet.ru/rus/vsgtu/v136/p169
|
Статистика просмотров: |
Страница аннотации: | 512 | PDF полного текста: | 249 | Список литературы: | 63 |
|