DRAKON

From Wikipedia, the free encyclopedia
Jump to: navigation, search
A DRAKON-C diagram that generates the Fibonacci sequence.
A DRAKON-C diagram that implements the quicksort algorithm.
The DRAKON chart of the A* search algorithm.
A DRAKON diagram describing a transportation of a cryonics patient

This article is about DRAKON, a programming language. For other uses of Drakon see Drakon (disambiguation).

DRAKON (Russian: ДРАКОН, backronym for Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность, "friendly Russian algorithmic language that provides clarity") is an algorithmic visual programming language developed within the Buran space project. Its development 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.[6][7][8][9]

Family of DRAKON-languages[edit]

Icons of DRAKON language
Macroicons of DRAKON language.

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[edit]

Branching[edit]

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[edit]

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[edit]

First, perform the action. Then check the exit condition

The algorithm of working out:

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

Notes[edit]

  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. ^ a b Штурманы ракет / Под общей редакцией Е. Л. Межирицкого. — М.: БЛОК-Информ-Экспресс, 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. ^ Окулова Л. П. Проектирование образовательного процесса в соответствии с требованиями педагогической эргономики // Вестник. Наука и практика. Материалы конференции «Инновации и научные исследования, а также их применение на практике \ Innowacje i badania naukowe, jak rowniez ich zastosowanie w praktyce. — 29.05.2012- 31.05.2012. Варшава \ Warszaw».
  7. ^ 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.
  8. ^ Созоров Н. Г., Трошин М. В. Дракон-редактор как основное звено в формализации целевых дидактических ресурсов для проектирования интерактивного учебного курса. — (Материалы региональной научно-методической конференции ИДНО Томского политехнического университета «Электронные дидактические материалы в инженерном образовании» 11-12 октября 2009 г.).
  9. ^ Паронджанов В. Д. Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации — Template:М.: ДМК Пресс, 2012. — 520 с. — ISBN 978-5-94074-800-7.

References[edit]

External links[edit]

This article may be expanded with text translated from the corresponding article ru:ДРАКОН in the Russian Wikipedia.