DRAKON

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 29 janvier 2019 à 12:02 et modifiée en dernier par 77.129.29.108 (discuter). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
Un diagramme DRAKON-C générant la séquence de Fibonacci.
Un diagramme DRAKON-C implémentant l'algorithme quicksort.
Le diagramme DRAKON de l'algorithme de recherche A*.
Un diagramme DRAKON décrivant un transport de patient cryogénisé;

DRAKON est un langage algorithmique de programmation visuelle développé au sein du projet Buran space.

Histoire

Le développement de DRAKON débuta en 1986 et était dirigé par Vladimir Parondzhanov avec la participation de l'Agence Aérospatiale Fédérale de Russie (Academician Pilyugin Center, Moscow) et l'Académie des Sciences de Russie (Keldysh Institute of Applied Mathematics). Le langage a été construit pour une formalisation et structuration des diagrammes de flux décrits par le standard ISO 5807-85 et le standard russe «Гост 19.701-90» et pour le développement de programmes temps réel[1],[2].

Le but était de remplacer les langages spécialisés PROL2 (ПРОЛ2) (utilisés pour le développement de logiciel de bord complexes pour système embarqués Biser-4 (Бисер-4) à bord de la navette Buran)[3], DIPOL (ДИПОЛЬ) (utilisé pour le développement de logiciels de maintenance au sol de la navette Buran)[3] and LAKS (ЛАКС) (utilisé pour la modélisation) utilisé au sein du projet Buran avec un langage de programmation universel.

Le travail fut finalisé en 1996 (3 ans après que le projet Buran soit officiellement clôturé), lorsqu'un système de conception assistée appelé "Grafit-Floks" fut développé[4].

Ce système de conception assistée est utilisé depuis 1996 pour de nombreux grands programmes spatiaux : un projet international Sea Launch, insertion orbitale de l'étage supérieur de la Fregat (Russian: Фрегат, frigate)[5], développement du lancement de véhicule lourd (fusée porteuse) Proton-M, etc.

Les règles DRAKON pour l'édition de diagrammes sont cognitivement optimisées pour une meilleure compréhension, en faire un outil pour l'augmentation de l'intelligence[1],[6],[7],[8].

Famille de langages DRAKON

Icônes du langage DRAKON
Macro-icônes du langage DRAKON.

DRAKON (russe : ДРАКОН) est l'acronyme de Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность, qui signifie "langage algorithmique russe clair et intuitif."

DRAKON n'est pas un simple langage mais une famille de langages hybrides, tel que DRAKON-C, DRAKON-Java, etc. Tous les langages hybrides de la famille drakon ont une syntaxe graphique uniforme et ne diffèrent qu'au niveau textuel. La syntaxe graphique standard fournit une similarité visuelle des diagrammes drakon pour les différents langages hybrides. Chaque langage hybride de la famille possède sa propre syntaxe.

Une distinction stricte de la syntaxe textuelle et graphique vient avec de riches améliorations graphiques flexibles et variées des moyens d'expressions du langage. L'unification des règles de syntaxe graphique en langages hybrides sécurise leur unité conceptuelle.

La base de la syntaxe graphique est un alphabet graphique. Les éléments graphiques (lettres graphiques) de l'alphabet DRAKON sont appelés icônes (non pas symboles). il existe 27 icônes dans l'alphabet graphique DRAKON.

DRAKON n'a pas seulement des icônes, mais également des macro-icônes. Les macro-icônes sont les mots graphiques du langage DRAKON. Tout comme les mots sont faits de lettres, les macro-iсônes (mots graphiques) sont constitués d'icônes (lettres graphiques). Il existe 21 macro-icônes dans le langage DRAKON.

Les icônes et macro-iсônes sont les blocs de construction des diagrammes drakon.

Les points importants des macro-icônes sont les points de valence (dans l'illustration de droite, ils sont représentés par de petits cercles noirs). A l'intérieur de ces points, les icônes ou macro-icônes peuvent être successivement saisis et ré-arrangés par l'éditeur drakon de façon propre et ordonnée en rangées verticales.

DRAKON algorithm execution animation

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. Note that each path from the "Fishing" Headline icon (start point) to the End icon (stop point) goes smoothly and continuously without any breaks or interruptions. This animation shows that any human can slide his finger along any route from the Headline icon to the End one without lifting his finger (or pencil) from the paper or screen.

It means that silhouette control 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.

DRAKON algorithm execution is animated by highlighting diagram elements in the running order.
DRAKON algorithm execution is animated by highlighting diagram elements in the running order.

Exemples

Ramification

En DRAKON, le cheminement le moins favorable bifurque par la droite.

L'algorithme de sortie d'un appartement:

  • Se vêtir.
  • Prendre un parapuie s'il pleut.
  • Quitter l'appartement.

Boucle vérifier-faire (faire tant que)

Premièrement, vérifier la condition de sortie. Ensuite exécuter l'action.

L'algorithme de prise du repas de midi:

  • Si vous avez encore faim, manger un hamburger.
  • Si vous êtes rassasié, quitter.
  • Répéter.

Boucle faire-vérifier (faire tant que)

Premièrement, réaliser l'action. Ensuite, vérifier la condition de sortie.


L'algorithme d'un exercice de musculation:

  • Soulever le poids.
  • Si fatigué, quitter.
  • Répéter.

Notes

  1. a et b Окулова Л.
  2. Parondzhanov V. D. Visual Syntax of the DRAGON Language // Programming and Computer Software, 01 / 1995; Volume 21 (Issue 3): p. 142 - 153.
  3. a et b Штурманы ракет / Под общей редакцией Е. Л. Межирицкого. — М.: БЛОК-Информ-Экспресс, 2008. — 384 с.
  4. Technique of development of algorithms and programms "Grafit-Floks."
  5. Морозов В.В., Трунов Ю.В., Комиссаров А.И., Пак Е.А., Жучков А.Г., Дишель В.Д., Залихина Е.Е., Паронджанов В.Д. Система управления межорбитального космического буксира «Фрегат» // Вестник НПО имени С.А. Лавочкина: Космонавтика и ракетостроение. — 2014, №1 (22). — С. 16–25.
  6. Bezel Ja. V. Is it possible to improve the workings of the mind?
  7. Созоров Н. Г., Трошин М. В. Дракон-редактор как основное звено в формализации целевых дидактических ресурсов для проектирования интерактивного учебного курса. — (Материалы региональной научно-методической конференции ИДНО Томского политехнического университета «Электронные дидактические материалы в инженерном образовании» 11-12 октября 2009 г.
  8. Паронджанов В. Д. Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации — М.: ДМК Пресс, 2012. — 520 с.

Références

Liens externes