|
Debugger for declarative DSL for telecommunication
[Отладчик декларативного DSL для разработки телекоммуникационных систем]
T. M. Skazhenika, D. V. Koznovb a St. Petersburg National Research University of Information Technologies, Mechanics and Optics
b Saint Petersburg State University
Аннотация:
Телекоммуникационные системы являются одними из самых трудоёмких видов ПО, вовлекая большое количество людей, денежных средств, а также времени. Декларативные предметно-ориентированные языки (DSLs) могут существенно помочь в разработке таких систем, реализуя подходящие абстракции. Мы используем термин «декларативные», подразумевая, что программы на таком DSL предназначаются не для программирования исполняемой логики, а для описания данных (базы данных сетевого устройства, структуры данных целевого кода и т.д.) и задания некоторого модельного поведения устройств при возникновении определённых событий. Таким образом, исполнение таких программ в целях отладки невозможно осуществить, сгенерировав и запустив конечный код, т.е. не удаётся использовать средства типа xtext, MPS. Между тем отладка таких спецификаций является востребованной задачей в виду объёмности спецификаций (десятки тысяч строк кода), а также большого числа точечных изменений, вносимых при copy/paste, в ходе разработки очередной телекоммуникационной системы, принадлежащей данному семейству продуктов.
В предлагаемой статье описывается отладчик для предметно-ориентированного декларативного языка DevM. Этот язык предназначается для описания базы данных аппаратуры роутеров и свичей, задания специфической информации, необходимой для инициализации драйверов устройств, и описания высокоуровневого поведения системы при получении специфических событий из сети и от аппаратуры самого устройства. Язык ориентирован на использование в контексте семейства телекоммуникационных систем одной крупной телекоммуникационной компании. В рамках работы над отладчиком была уточнена исполняемая семантика DevM для задания событийно-ориентированного поведения системы, а также введена специальная модель (т.е. создана новая часть языка DevM) для задания отладочной конфигурации отлаживаемой системы. Исполнение программы на DevM выполняется без генерации целевого кода. Для наглядного отображения шага исполнения программы использовалась графическая событийно-ориентированная нотация. Интеграция созданного отладчика с DevM-фреймворком была выполнена с помощью Debug Adapter Protocol и языкового сервера DevM (language server), разработанного с помощью стека технологий Eclipse xText/EMF.
Ключевые слова:
семейство программных продуктов, телекоммуникационная система, предметно-ориентированный язык, отладка, среда разработки
Образец цитирования:
T. M. Skazhenik, D. V. Koznov, “Debugger for declarative DSL for telecommunication”, Труды ИСП РАН, 35:3 (2023), 205–214
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp797 https://www.mathnet.ru/rus/tisp/v35/i3/p205
|
Статистика просмотров: |
Страница аннотации: | 30 | PDF полного текста: | 17 |
|