DRAKON

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Lua error in package.lua at line 80: module 'strict' not found.

File:Fibonacci DRAKON.png
A DRAKON-C diagram that generates the Fibonacci sequence.
File:Quicksort DRAKON.png
A DRAKON-C diagram that implements the quicksort algorithm.
File:Dutch cryo Moscow.png
A DRAKON diagram describing a transportation of a cryonics patient

Lua error in package.lua at line 80: module 'strict' not found.

DRAKON is an algorithmic visual programming language developed within the Buran space project.

History

The development of DRAKON started in 1986 and was directed by Vladimir Parondzhanov with the participation of Russian Federal Space Agency (Academician Pilyugin Center, Moscow) and Russian Academy of Sciences (Keldysh Institute of Applied Mathematics). The language was constructed by formalization, ergonomization and nonclassical structurization of flowcharts described in the ISO 5807-85 standard and Russian standard «Гост 19.701-90» and for the development of real time programs.[1][2]

The goal was to replace specialised languages PROL2 (ПРОЛ2) (assigned for developing onboard complex software for embedded computer system Biser-4 (Бисер-4) on board of Buran),[3] DIPOL (ДИПОЛЬ) (assigned for developing software for ground maintenance computer system of Buran)[3] and LAKS (ЛАКС) (assigned for modelling) used in the Buran project with one universal programming language.

The work was finished in 1996 (3 years after the Buran project was officially closed), when an automated CASE programming system called "Grafit-Floks" was developed.[4]

This CASE is used since 1996 in many major space programs: an international project Sea Launch, Russian orbit insertion upper stage Fregat (Russian: Фрегат, frigate),[5] upgraded heavy launch vehicle (carrier rocket) Proton-M, etc.

DRAKON rules for creating diagrams are cognitively optimized for easy comprehension, making it a tool for intelligence augmentation.[1][6][7][8]

Family of DRAKON-languages

DRAKON (Russian: ДРАКОН) is a backronym for Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность, which stands for "friendly Russian algorithmic language that provides clarity."

DRAKON is not a single language but a family of hybrid languages, such as DRAKON-C, DRAKON-Java, etc. All hybrid languages of the drakon-family have the uniform graphical syntax and differ in textual one. The standard graphical syntax provides visual similarity of drakon-charts of different hybrid languages. Every hybrid language of the family has its own textual syntax.

Strict distinction of the graphical and textual syntax along with rich graphics improves flexibility and variety of expressive means of the language. The unification of the rules of the graphical syntax in the hybrid languages secures their conceptual unity.

The basis of the graphical syntax is a graphical alphabet. Graphical elements (graphical letters) of the DRAKON alphabet are called icons (not symbols). There are 27 icons in the DRAKON graphical alphabet.

DRAKON has not only icons, but also macroicons. Macroicons are the graphical words of the DRAKON language. Just as words are made up of letters, macroiсons (graphical words) consist of the icons (graphical letters). There are 21 macroicons in the DRAKON language.

Icons and macroiсons are the building blocks for constructing drakon-charts.

The important parts of maсroiсons are valence points (in the illustration to the right, they are depicted as little black circles). Into these points, icons or microicons can be successively entered and arranged by drakon-editor in neat, orderly vertical rows.

Examples

Branching

File:Going out in DRAKON.png
In DRAKON, the less desirable path goes to the right.

The algorithm of going out of one's apartment:

  • Get dressed.
  • Take umbrella if it's raining.
  • Leave apartment.

Check-do (while) loop

File:Lunch DRAKON.png
First, check the exit condition. Then perform the action.

The algorithm of eating lunch:

  • If you are still hungry, eat a hamburger.
  • If you are already full, quit.
  • Repeat.

Do-check (do-while) loop

File:Workout DRAKON.png
First, perform the action. Then check the exit condition

The algorithm of working out:

  • Lift the weight.
  • If tired, quit.
  • Repeat.

Notes

  1. 1.0 1.1 Окулова Л. П. Проектирование образовательного процесса в соответствии с требованиями педагогической эргономики // Вестник. Наука и практика. Материалы конференции «Инновации и научные исследования, а также их применение на практике \ Innowacje i badania naukowe, jak rowniez ich zastosowanie w praktyce. — 29.05.2012- 31.05.2012. Варшава \ Warszaw».
  2. Parondzhanov V. D. Visual Syntax of the DRAGON Language // Programming and Computer Software, 01 / 1995; Volume 21 (Issue 3): p. 142 - 153. (Here is an incorrect translation. This should be read as "DRAKON language.")
  3. 3.0 3.1 Штурманы ракет / Под общей редакцией Е. Л. Межирицкого. — М.: БЛОК-Информ-Экспресс, 2008. — 384 с. — C. 192. — ISBN 978-5-93735-008-4
  4. Technique of development of algorithms and programms "Grafit-Floks."
  5. Морозов В.В., Трунов Ю.В., Комиссаров А.И., Пак Е.А., Жучков А.Г., Дишель В.Д., Залихина Е.Е., Паронджанов В.Д. Система управления межорбитального космического буксира «Фрегат» // Вестник НПО имени С.А. Лавочкина: Космонавтика и ракетостроение. — 2014, №1 (22). — С. 16–25. (In Russian) Morozov V.V., Trunov Yu.V., Komissarov A.I., Pak E.A., Zhuchkov A.G., Dishel V.D., Zalihina E.E., Parondzhanov V.D. Control System of “Fregat” Versatile Space Tug // Vestnik NPO imeni S.A. Lavochkina. Cosmonautics and Rocket Engineering — 2014, 1 (22). — P. 16–25.
  6. Bezel Ja. V. Is it possible to improve the workings of the mind? A new look at the problem.— Herald of the Russian Academy of Sciences. Volume 73, Issue 4, 2003.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.

References

External links