Скрыть
Раскрыть

ISSN 1998-0663 (print),
ISSN 2587-8166 (online)

English version: ISSN 2587-814X (print),
ISSN 2587-8158 (online)

Александров А. Е., Шильманов В. П.

Инструментальные средства разработки и сопровождения программного обеспечения на основе генерации кода

2012. № 4(22). С. 10–17 [содержание номера]

Александров Александр Евгеньевич – доктор технических наук, профессор кафедры персональных компьютеров и сетей, факультет информатики, Московский государственный университет приборостроения и информатики (МГУПИ).
Адрес: 107996, Москва, ул. Стромынка, 20.  
E-mail: femsystem@yandex.ru

Шильманов Владимир Петрович – аспирант кафедры персональных компьютеров и сетей, факультет информатики, Московский государственный университет приборостроения и информатики (МГУПИ).
Адрес: 107996, Москва, ул. Стромынка, 20.  
E-mail: femsystem@yandex.ru

В индустрии программирования наметилась устойчивая тенденция к переходу от объектно-ориентированной технологии программирования к новой парадигме, основанной на теории понятий и языко-ориентированных методах программирования. В рамках разработки программного обеспечения (ПО) средствами объектно-ориентированного программирования этот процесс  является весьма длительным, а при сопровождении и развитии программного кода все необходимо повторять заново. Альтернативой ему выступает использование предметно-ориентированных языков,  выполняющих  роль своеобразного интерфейса, связывая высокоуровневые понятия с непосредственной программной реализацией.

Цель исследования заключается в автоматизации генерации кода при формировании компонентной библиотеки на основе семантических описаний, поступающих на вход, т.е. исходя из принципов языково-ориентированных методов программирования. 

Рассматриваются два основных подхода, используемых при генерации кода: шаблонная генерация и генерация с помощью преобразователя. Во втором случае при проектировании ПО используется высокоуровневая модель предметной области с применением предметно-ориентированного языка (ПОЯ), такая модель более приближена к предметной области, чем классы и методы. В этом случае код программного приложения становится легким для понимания «предметным» специалистом, без какого-либо участия программиста. В результате на порядки сокращается  объем текста приложения. Понятие программных компонентов предполагает многократное их использование, формирование  различных программных приложений из блоков, с учетом их многократного использования.

В результате для формирования компонентной библиотеки разработан генератор кода на языке Python с использованием комбинаторной библиотеки PyParsing. Разработанный генератор позволяет создавать программный код алгоритма по предварительно сформированному шаблону описания его входных и выходных данных. Генерация с помощью преобразователя основана на написании программы, которая получает на вход семантическую модель, а на выходе дает исходный текст для целевой языковой среды.

BiBTeX
RIS
 
 
Rambler's Top100 rss