DRAKON + Oberon = DRON visual programming language
DRAKON (Russian: ДРАКОН, "dragon" — backronym for russian phrase "Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность/Надёжность" and reads as Friendly Russian Algorythmic language That Guarantees Clarity/Reliability) is an algorithmic visual programming language developed for the Buran  space project. Its development, started in 1986, was directed by Vladimir Parondzhanov . The goal was to replace specialised languages PROL2 (ПРОЛ2), DIPOL (ДИПОЛЬ) and LAKS (ЛАКС) used in the Buran project with one universal language.
The work was finished in 1998 (5 years after the Buran project was officially closed), when an automated CASE programming system called "Grafit-Floks" was developed.
After that it was used in Sea Launch and other space projects.
DRAKON rules for creating diagrams are cognitively optimised for easy comprehension, making it a tool for intelligence augmentation.
Vladimir Parondzhanov in his book  points to ability of translation DRAKON schemas to code on high level programming language directly. As result, the new language arises with procedural part from original language and graphical primitives as an flow control part. For example, Vladimir Parondzhanov mentioned DRAKON-C and DRAKON-Pascal languages.
April 8, 2008 Alexandr Il'in proposed on the forum  to use name DRON for possible DRAKON-Oberon language.
D2O (Deuterium Oxide) — DRON => Active Oberon translator.
I've made up my mind to design DRON languge and wrote down letter to Gennadiy Tishov asking them to open DRAKON editor's file format. And Gennadiy had sent me whole source code :)
At first I've made DRAKON schema to use it for translation to Active Oberon module.
Fact that task of direct DRON to Oberon translation with accordingly formed schema is possible becomed evident for me quickly.
Great bulk of schema's forming features concerns to declaration part that is absent in DRAKON.
As first decission comment block for describing declaration part has used, with differentiating sections of comments, imports, constants, types and variables. Section type detected by first token: (*, IMPORT, CONST, TYPE and VAR respectively.
Section's differentiating done because content of some sections needs to be modified on stage of code generation.
TYPE section contains types' declarations and objects' declarations (without procedural part).
Each schema consider as procedure in Oberon language. Additionally modules' bodies and objects' bodies consider as procedures.
For differentiating such schemas-procedures decission was made:
Resulting DRON document has created:
There are two directions of control flow in DRON schemas currently allowed. Top to down and left to right. Except for simple cycles made in natural way.
But flow control may be rather complex if construct Silhouette used.
Currently console application for translation of DRON schemas to Active Oberon modules is worked out.
DRON translator named D2O (Deuterium Oxide).
DRON translator and example DRON schemas supplied.
There are fresh versions of DRAKON editor exists  , but format of example schemas supplied with existing version of D2O is incompatible. Local copy of DRAKON editor placed here is compatible with example schemas.
Declaration part needs to be reworked. As possible varint — representation in tabular form.
Last update: 24-1-16 19:14:18
Copyright © 2005-2021 SAGE. All rights reserved.