# DRAKON

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$^,$.
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), DIPOL (ДИПОЛЬ) (utilisé pour le développement de logiciels de maintenance au sol de la navette Buran) 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é.
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), 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$^,$$^,$$^,$.

## Famille de langages 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
### Ramification

| En DRAKON, le cheminement le moins favorable bifurque par la droite. | L'algorithme de sortie d'un appartement: Se vêtir. Prendre un parapluie s'il pleut. Quitter l'appartement. |

### Boucle faire-vérifier (faire - jusqu'à)

| 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. |