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 guarantees 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] 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),[2] DIPOL (ДИПОЛЬ) (assigned for developing software for ground maintenance computer system of Buran)[2] 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.[3]

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

DRAKON rules for creating diagrams are cognitively optimized for easy comprehension, making it a tool for intelligence augmentation.

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 building blocks to construct drakon-charts.

The important parts of maсroiсons are valence points (see the illustration on 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]

References[edit]

External links[edit]

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