Drakonis Mac OS
Paradigm | Visual |
---|---|
First appeared | 1996 |
Website | drakon-editor.sourceforge.net |
Major implementations | |
GRAFIT-FLOKS (1996), IS Drakon (2008), DRAKON Editor (2011), DrakonHub (2018), Drakon.Tech (2019) | |
Influenced by | |
PROL2, DIPOL, LAKS | |
Influenced | |
QReal DSM platform[1] |
The Draconians are commonly described as a powerful war-like alien race who hail from the Alpha Draconis star system. These reptilian aliens are said to be expert geneticists who posses a level of technology that far exceeds today’s human technology including the ability of interstellar travel. .Draconis Arcanum is committed to offering personalized service in a wide range of spiritual paths. Our staff are trained to help you along your journey with the utmost respect for your spirits and path.
DRAKON is an algorithmicvisual programming and modeling language developed within the Buran space project following ergonomic design principles. The language provides a uniform way to represent flowcharts of any complexity that are easy to read and understand.
The name DRAKON is the Russian acronym for 'Дружелюбный Русский Алгоритмический [язык], Который Обеспечивает Наглядность', which translates to 'Friendly Russian algorithmic [language] that illustrates (or provides clarity)'. The word 'наглядность' (pronounced approximately as 'naa-glya-dno-st-th') refers to a concept or idea being easy to imagine and understand, and may be translated as 'clarity'.
The DRAKON language can be used both as a modelling/'markup' language (which is considered a standalone 'pure DRAKON' program) and as a programming language (as part of a hybrid language).
Integration of a stricter, 'academic', variant of a markup language into programming, such as provided by DRAKON, adds syntactic sugar allowing users of different programming languages to easily understand the contributions of others and provide commentary if needed.
History[edit]
The development of DRAKON started in 1986 to address the longstanding risk of misunderstandings in large projects developed by the Soviet space program, especially if multiple programming languages are used. Its development was directed by Vladimir Parondzhanov with later participation of the Russian Federal Space Agency (Academician PilyuginCenter, 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».[2][3]
The goal was to replace specialized languages used in the Buran project with one universal programming language. Namely PROL2 (ПРОЛ2), used for developing inflight systems software for the computer system Biser-4 (Бисер-4),[4] DIPOL (ДИПОЛЬ), used for developing software for the ground maintenance computer systems)[4] and LAKS (ЛАКС), used for modelling.
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.[5]
This CASE is used since 1996 in many major space programs: an international project Sea Launch, Russian orbit insertion upper stage Fregat (Russian: Фрегат, frigate),[6] upgraded heavy launch vehicle (carrier rocket) Proton-M, etc. The exact role DRAKON played in these projects however can not be determined. The actual real-world experience of building systems with DRAKON remains extremely scarce as only a few very short snippets of code are publicly available.
Family of DRAKON-languages (hybrid languages)[edit]
Drakonis Mac Os Download
DRAKON (Russian: ДРАКОН; dragon in English) is designed with the intent of allowing for easy understanding and legibility, as usage of multiple languages in a single project can lead to confusion.
DRAKON is not a single language, but as a family of hybrid languages, such as DRAKON-C, DRAKON-ASM, DRAKON-Java, etc. All languages of the DRAKON-family have uniform graphical syntax based on flowcharts. The standard graphical syntax provides similarity of drakon-charts for different hybrid languages. The text language uses its own syntax.
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 also has macroicons. Macroicons are the graphical words of the DRAKON language. Macroiсons (graphical words) consist of icons (graphical letters). There are 21 macroicons in the DRAKON language.
Drakon-charts are constructed out of icons and macroicons.
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 into vertical rows.
Design[edit]
DRAKON was created as a visual language to aid in the understanding of computer programs written in different programming languages for quickly understanding the flow and purpose of a program.
DRAKON uses drakon-chart, which is a flowchart used to depict the overall structure of the program. Code snippets of a programming language are added to the charts.
DRAKON rules for creating diagrams are cognitively optimized for easy comprehension, making it a tool for intelligence augmentation.[2][7][8][9]
Drakon-charts of large multi-purpose programs can be hard to follow or understand. A set of smaller programs, that together serve the same purpose, are often easier to understand.
Visual syntax[edit]
The full-text article containing description of the visual syntax of the DRAKON language in English, 12 pages, free to download, pdf.[10]
Examples[edit]
Tetris example[edit]
Simple example of a program in the DRAKON language
These examples are real code from an implementation of the Tetris game. The examples are in DRAKON-JavaScript language. The icons (visual primitives) of the DRAKON language define the overall structure of the algorithms. The code snippets inside the icons (primitives) are in JavaScript.
advanceStep[edit]
The advanceStep function implements the core logic of the game. advanceStep is a state machine represented as a decision tree.[11] The game engine calls advanceStep periodically. This state machine has three states 'playing', 'dropping', and 'finished'. The game takes different actions depending on the current state. For example, in the 'playing' state, when there is a falling projectile and the projectile can move down, it is moved down one step.
With DRAKON, the reader of the algorithm can visually trace all possible paths in the decision tree.
The core logic of the Tetris game in DRAKON-JavaScript language | JavaScript code generated from the DRAKON-chart: |
noProjectile[edit]
The noProjectile function handles the specific situation when there is no falling projectile. If there is a filled row, that row is removed from the grid. Otherwise, the game tries to insert a new projectile. If there is no space for the projectile, the game is lost.
The noProjectile function for Tetris game in DRAKON-JavaScript language | JavaScript code generated from the DRAKON-chart: |
clearRow[edit]
The clearRow function scans all rows bottom-up until it hits a row with no gaps. In such case the row is removed from the grid, the score is increased, and the game's tempo goes up.
The algorithm that removes a line from Tetris grid in DRAKON-JavaScript language | JavaScript code generated from the DRAKON-chart: |
DRAKON execution animation[edit]
The picture below illustrated the execution of the silhouette DRAKON algorithm. The algorithm execution is animated by highlighting diagram elements in the running order.
The 'Fishing' silhouette consists of four trees:
- Preparing for fishing.
- Waiting for a bite.
- Fishing work.
- Way back.
The main path of each tree is shown by highlighting thick vertical line which is called a skewer.
The flow graph always has a path from the Headline icon to each vertex (node) of the control flow graph. Consequently, a silhouette can't have unreachable code in any conditions.
Drakonis Mac Os 11
Branching[edit]
In DRAKON, the less desirable path goes to the right. | The algorithm of going out of one's apartment:
|
Check-do (while) loop[edit]
First, check the exit condition. Then perform the action. | The workout algorithm:
|
Do-check (do-while) loop[edit]
First, perform the action. Then check the exit condition |
Drakonis Mac Os X
Modern usage[edit]
DRAKON in the German Aerospace Center[edit]
DRAKON language is used in the German Aerospace Center for implementation of some critical functions dictated by the safety regulations of the flight tests, where automation is important because of maximum distance to the ground station and the process needs quick automatic execution.
The DRAKON Editor software was using to graphically program flowcharts which were specially checked. C-code was generated from the drakon-charts, for instance, for DRAKON representation of launch detection code.[12]
Uses outside of programming[edit]
While DRAKON is primarily designed as a tool for comprehending computer programs, drakon-charts can also be used to illustrate processes in fields not related to computing.
In the DRAKON editor pictures can be added to the DRAKON icons. This ability is used in some fields to easily create 'flowchart like' infographics. In Russia the DRAKON editor is known for being used in the medical field as a tool for making 'instructional' charts for patients or medical personnel. Example of medical program for reducing body fat (not translated).
See also[edit]
Manual[edit]
A full description of the DRAKON language is provided in a Russian book. The book is 520 pages long and free to download.[9]
Official Russian website and webforum of DRAKON language[edit]
Notes[edit]
- ^Terekhov, Andrey; Bryksin, Timofey; Litvinov, Yurii. How to make visual modeling more attractive to software developers / 11th LASER Summer School on Software Engineering. Leading-Edge Software Engineering. September 7-13, 2014 - Elba Island, Italy
- ^ abОкулова Л. П. Проектирование образовательного процесса в соответствии с требованиями педагогической эргономики // Вестник. Наука и практика. Материалы конференции «Инновации и научные исследования, а также их применение на практике Innowacje i badania naukowe, jak rowniez ich zastosowanie w praktyce. — 29.05.2012- 31.05.2012. Варшава Warszaw».
- ^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.')
- ^ abШтурманы ракет / Под общей редакцией Е. Л. Межирицкого. — М.: БЛОК-Информ-Экспресс, 2008. — 384 с. — C. 192. — ISBN978-5-93735-008-4
- ^'Technique of development of algorithms and programms 'Grafit-Floks.''(PDF). Archived from the original(PDF) on 2012-12-27. Retrieved 2012-12-27.
- ^Морозов В.В., Трунов Ю.В., Комиссаров А.И., Пак Е.А., Жучков А.Г., Дишель В.Д., Залихина Е.Е., Паронджанов В.Д. Система управления межорбитального космического буксира «Фрегат» // Вестник НПО имени С.А. Лавочкина: Космонавтика и ракетостроение. — 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.
- ^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.
- ^Созоров Н. Г., Трошин М. В. Дракон-редактор как основное звено в формализации целевых дидактических ресурсов для проектирования интерактивного учебного курса. Материалы региональной научно-методической конференции ИДНО Томского политехнического университета «Электронные дидактические материалы в инженерном образовании» 11-12 октября 2009 г.
- ^ abПаронджанов В. Д. (2012). 'Учебное пособие по языку ДРАКОН для вузов'. Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации. М.: ДМК Пресс. p. 520. ISBN978-5-94074-800-7.вузов'. Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации. М.: ДМК Пресс. p. 520. ISBN978-5-94074-800-7.
- ^Parondzhanov V.D. (1995). Visual Syntax of the DRAKON Language. 21. PROGRAMMING AND COMPUTER SOFTWARE. Official English Translation of Programmirovanie. pp. 142–153.
- ^Митькин С.Б. Автоматное программирование на языке ДРАКОН // Программная инженерия. Том 10, № 1, 2019 (in Russian). Mitkin Stepan B. Automata-Based Programming in DRAKON Language. Programmnaya Ingeneria, 2019, vol. 10, no. 1, pp. 3—13. DOI: 10.17587/prin.10.3-13
- ^'Marc Schwarzbach, Sven Wlach, Maximilian Laiacker. Modifying a Scientific Flight Control System for Balloon Launched UAV Missions // German Aerospace Center DLR // IEEE, 2015'(PDF). drakon.su. Retrieved 2017-12-03.
References[edit]
- About the DRAKON language in English.
- V. Parondzhanov. How to improve the work of your mind. Algorithms without programmers - it's very simple! (Как улучшить работу ума. Алгоритмы без программистов - это очень просто! М.: Дело, 2001. - 360с.)
- S. Mitkin. DRAKON: The Human Revolution in Understanding Programs
External links[edit]
Wikimedia Commons has media related to DRAKON. |
- History of DRAKON(in Russian)
- Transhumanism DRAKON List of Internet Resources about Drakon (in Russian)
- DRAKON + Oberon = DRON visual programming language(in English)
- DRAKON + Oberon = DRON visual programming language(in Russian)
- DRAKON Editor for Windows, Mac and Linux.
- Drakon.Tech an online IDE based on DRAKON.
- ИС Дракон for Windows.
- Learn Drakon Synchronized Music Slideshow Video Slideshow on how to use Drakon set to [Kevin MacLeod] music synchronized for easy learning.