http://www.ihst.ru/~akm/34t17.htmГеннадию Николаевичу!
_________________________________________________________________________________
ЯЗЫК ПРОГРАММИРОВАНИЯ «ДРАКОН» И ЕГО ПРИМЕНЕНИЯ ЗА ПРЕДЕЛАМИ РАКЕТНО-КОСМИЧЕСКИХ ПРОЕКТОВ.
РАЗРАБОТКА МАТЕМАТИЧЕСКОЙ МОДЕЛИ И РЕДАКТОРА
Е.И. Шамардина, П.А. Манюнин
(Россия, г. Орёл, Технологический институт ОрёлГТУ –
ООО «Метасистемы»)
destiny@rambler.ru,
seraf@student.suЯзык ДРАКОН разработан в отечественной космической промышленности для разработки управляющего ПО; применяется в программировании, системном анализе и обучении как нотация для записи алгоритмических знаний. Нами разработана математическая модель ДРАКОН-схем (на основе специально выделенного класса циклических орграфов), что позволило а) приступить к систематической разработке полного редактор языка; б) рассмотреть структуры управления, предложенные в ДРАКОНе, как более свободный вариант структурного программирования, ориентированный на двумерное представление.
1. Язык ДРАКОН — средство описания алгоритмических знаний. Язык ДРАКОН («Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность/Надёжность») [1] является графическим языком, который может использоваться для описания алгоритмов, исполняемых программ, спецификаций процессов и взаимодействий (в том числе протоколов). Язык разработан совместными усилиями Российского космического агентства (НПЦ автоматики и приборостроения, г. Москва) и Института прикладной математики РАН им. М.В. Келдыша как обобщение опыта работ по созданию космического корабля “Буран”. На его базе построена автоматизированная технология проектирования программных систем (CASE-технология) “ГРАФИТ-ФЛОКС”, которая используется в ряде крупных космических проектов («Морской старт», «Фрегат», «Протон-М»). В этой технологии ДРАКОН является одновременно и языком программирования, и «аналогом UML». В настоящее время ДРАКОН получает распространение как в программировании, так и в образовании, в области анализа бизнес-процессов, как выразительное средство в научно-популярной литературе.
2. Преимущества языка ДРАКОН. ДРАКОН является очень легким языком. Схемы и алгоритмы, разработанные с помощью этого языка, просты и понятны любому человеку, далекому от программирования. Например, разработку многих компьютерных программ для космических ракет на практике ведут не программисты, а обычные специалисты — по принципу “программирование без программистов”. ДРАКОН как язык программирования удовлетворяет требованиям математической строгости: из исходного чертежа можно однозначно получать объектный код. Схемы строятся по определенным правилам, аналогичным структурному программированию, но являющимися более свободными и выразительными (особенно для написания управляющих программ). Эти правила однозначно определяют взаимное расположение элементов на листе чертёжа.
3. Задача создания редактора. Использование языка ДРАКОН в практическом программировании должно быть поддержано хорошим инструментальным пакетом. Инструментарий ДРАКОН-программирования существует в ФГУП НПЦ Автоматики и приборостроения им. Н.А. Пилюгина — именно с его помощью ведётся разработка управляющих систем ракет. Однако этот инструментарий является недоступным для широкого использования; ориентированным на специфическую категорию задач, на подготовленных пользователей и нестандартное целевое оборудование. Нами была поставлена задача создания редактора ДРАКОН-схем, который может поэтапно расширяться для охвата всех стадий разработки.
4. Поиск формальной модели для ДРАКОН-схем. С самого начала изучения языка ДРАКОН было ясно, что нужна конкретная модель для его представления. Модель должна формализовать правила, по которым строятся ДРАКОН-схемы. Наш научный руководитель предложил применить особый вид циклических орграфов, исследованный им, — так называемые устремлённые графы. Изучив их свойства, мы сделали вывод, что ДРАКОН-схемы являются частным случаем устремлённых графов.
6. ДРАКОН как двумерное структурное программирование. На первый взгляд структура управляющих конструкций ДРАКОНа не соответствует канонам классического структурного программирования. Можно говорить о том, что топология ДРАКОНа является двумерным структурным программированием. Она обладает всеми преимуществами, которые когда-то закладывались в классическое структурное программирование для текстовых программ (строящихся вдоль одного измерения как цепь вложенных блоков), но за счёт использования чертежа на плоскости даёт большую свободу выражения управляющей логики.
Литература
1.
http://wiki.oberoncore.ru/index.php/Дракон
2. Паронджанов В.Д. Как улучшить работу ума. – М.: Дело, 2001.
3. Котов В.Е., Сабельфельд В.К. Теория схем программ. – М.: Наука,
1991.