EN   mirror  |  RU   зеркало

 

Главная

ОС A2 (Bluebottle)

ДРАКОН

ДРОН

Программы

Утилиты

Ссылки

Веб-мастеру

Контакт

Резюме


A2 OS forum

free counters

Rated by MyTOP

 

							принтер
						   Версия для печати

ДРАКОН + Оберон = визуальный язык программирования ДРОН


SAGE


ДРАКОН — Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность/Надёжность

В.Д. Паронджанов, книга "Как улучшить работу ума" [1]:

Язык ДРАКОН — общедоступный интеллектуальный инструмент нового типа, специально сконструированный для облегчения и улучшения работы ума интеллектуальных работников и учащихся, особенно полезный при решении трудных и сверхтрудных задач систематизации и автоформализации профессиональных знаний, описания структуры человеческой деятельности и многих других задач, о которых речь впереди.

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

Язык ДРАКОН разработан совместными усилиями Российского космического агентства (НПЦ автоматики и приборостроения, г. Москва) и Российской академии наук (Институт прикладной математики им. М.В. Келдыша, г. Москва) как обобщение опыта работ по созданию космического корабля "Буран". На базе ДРАКОНа построена автоматизированная технология проектирования программных систем (CASE-технология) под названием "ГРАФИТ-ФЛОКС". Она успешно используется в ряде крупных космических проектов: "Морской старт", "Фрегат", "Протон-М" и др.

ДРАКОН — очень легкий язык. Настолько легкий, что разработку многих компьютерных программ для космических ракет на практике ведут не программисты, а обычные специалисты — по принципу "программирование без программистов". Причина отказа от программистов проста. При решении практических прикладных задач специалисты досконально владеют материалом и прекрасно знают постановку задачи. В отличие от них программисты не знают "физику процесса" и становятся "лишними людьми", без которых вполне можно обойтись. Это позволяет значительно сократить издержки, улучшить показатель "затраты—результат", ускорить ход работ и полностью избавиться от ошибок "испорченного телефона", вызванных взаимным непониманием между ПРОГРАММИСТАМИ и СПЕЦИАЛИСТАМИ.

ДРАКОН универсален. Он может применяться для наглядного представления и быстрой разработки алгоритмов не только в "космосе", но и в "земных" видах человеческой деятельности. Практическая полезность ДРАКОНа получила высокую оценку. Министерство образования включило изучение языка ДРАКОН в программу курса информатики высшей школы (см.: Примерная программа дисциплины “Информатика”. Издание официальное. — М.: Госкомвуз, 1996. С. 3, 4, 15, 16).


ДРАКОН-редактор

6 апреля 2008 г. Геннадий Тышов опубликовал на форуме [2] первый рабочий вариант ДРАКОН-редактора (на всякий случай я поместил архив с ним здесь на сайте).


Окно ДРАКОН-редактора


ДРОН

В.Д. Паронджанов в своей книге "Как улучшить работу ума" [1] указывает на возможность трансляции ДРАКОН-схем непосредственно в программный код на языке высокого уровня. При этом управляющие конструкции целевого языка полностью отбрасываются заменяясь конструкциями языка ДРАКОН. Таким образом получается новый язык, являющийся подмножеством целевого языка. Так упоминаются языки ДРАКОН-Си, ДРАКОН-Паскаль.

8 апреля 2008 г. Александр Ильин на форуме [3] предложил название ДРОН для возможного языка ДРАКОН-Оберон.


D2O (Deuterium Oxide) — ДРОН => Active Oberon транслятор.

Задавшись целью реализации языка ДРОН я написал письмо Геннадию Тышову с просьбой открыть формат ДРАКОН-схем используемый в его редакторе. На что в ответ он выслал мне весь исходный код :)

Для начала я решил создать ДРАКОН-схему которую можно было-бы полность транслировать в модуль на Active Oberon.

И очень быстро я убедился что при соответствующем оформлении ДРАКОН-схемы задача становится вполне реализуемой.

Основные особенности "оформления" конечно касаются декларативой части, отсутствующей в ДРАКОНе.

На первых порах пришлось "приспособить" под декларативную часть блок "комметнарий", с разделением соответсвующих секций, собственно: комментариев, импорта, констант, типов и переменных. принадлежность той или инной секции определяется первым считанным из блока элементом, соответственно (*, IMPORT, CONST, TYPE и VAR.


блок комметнарий, приспособленный под декларативную часть


Дело в том что, содержимое некоторых секций будет необходимо не только в качестве справочной информации, а должно быть доступно и для модификации на стадии генерации кода.

Возможно более удачное решение - оформлять декларативную часть в табличной форме.

В TYPE секции даются объявления типов и "пустышек" деклараций объектов (без методов и тел).

Каждая отдельная схема рассматривается как эквивалент процедуры на языке Оберон. При этом применительно к языку Оберон можно рассматривать в качестве процедур ещё и тела модуля и объектов (после слова BEGIN), а ещё необходимо как-то различать процедуры модуля от процедур-методов объектов.

Было решено:

  • Тело модуля оформлять в виде схемы, в заголовок которой вписывается слово BEGIN
  • Префиксовать заголовки схем относящихся к методам объектов именами этих объектов. т.е. Object.Proc1, Object.BEGIN. Как видите, тело объекта тоже не забыли
  • Все остальные схемы соответствуют процедурам модуля

Вот какая получилась схема:


ДРОН-схема приложения UDPChatServer


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

Простые циклы

В результате получено консольное приложение, позволяющее транслировать ДРАКОН-схему (фактически, схему на языке ДРОН) в модуль на языке Active Oberon.

ДРОН-транслятор носит скромное название D2O т.е. Deuterium Oxide или Тяжёлая Вода по русски :)

ДРОН-транслятор и тестовые схемы на языке ДРОН прилагаются.

13 июля 2008 г. Геннадий Тышов опубликовал более свежую версию редактора [4], однако тестовые схемы прилагающиеся к существующей на сегодняшний день версии D2O имеют несовместимый формат. Версия редактора представленная здесь на сайте гарантированно позволяет открыть и редактировать прилагающиеся схемы. Вопросы обратной совместиости форматов или открытия нового формата в настоящий момент обсуждаются с автором редактора.


Дальнейшее развитие идеи

Проработки требует организация декларативной части модуля. Как вариант — табличная форма:


Табличная форма организации декларативной части модуля



Ссылки:

[1] http://www.transhumanism-russia.ru/documents/books/drakon/kak_uluchsit_rabotu_uma_Word.rar.

[2] http://forum.oberoncore.ru/viewtopic.php?p=14323#p14323.

[3] http://forum.oberoncore.ru/viewtopic.php?p=14373#p14373.

[4] http://forum.oberoncore.ru/viewtopic.php?f=62&t=1075.




Тип

Имя

Размер

Дата

zip

D2O.zip

93K

14.06.2011

zip

DRT.zip

301K

17.07.2008


Дата последнего обновления:  01.03.2012


 

Search Engine Optimization - AddMe

Locations of visitors to this page

Copyright © 2005-2014 SAGE.  All rights reserved.

Запрещено частичное или полное воспроизведение материалов сайта

без согласования с владельцем.