DRAKON

langage de programmation

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

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é;

Histoire modifier

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é pour le développement de logiciels de bord complexes pour systèmes 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] et LAKS (ЛАКС) (utilisé pour la modélisation) utilisés au sein du projet Buran par 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 modifier

 
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.

Exemples modifier

Ramification modifier

 
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 (tant que - faire) modifier

 
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 - jusqu'à) modifier

 
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 modifier

  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 modifier

Liens externes modifier