Diskussion zum Artikel "Die visuelle Programmiersprache DRAKON - Kommunikationswerkzeug für MQL-Entwickler und Kunden"

 

Neuer Artikel Die visuelle Programmiersprache DRAKON - Kommunikationswerkzeug für MQL-Entwickler und Kunden :

DRAKON ist eine visuelle Programmiersprache, die entwickelt wurde, um die Interaktion zwischen Fachleuten aus verschiedenen Bereichen (Biologen, Physiker, Ingenieure...) und Programmierern in russischen Raumfahrtprojekten (z.B. im Projekt für das wiederverwendbare Raumschiff Buran) zu vereinfachen. In diesem Artikel werde ich darüber sprechen, wie DRAKON die Erstellung von Algorithmen zugänglich und intuitiv macht, selbst wenn Sie noch nie mit Code in Berührung gekommen sind, und wie es für Kunden einfacher ist, ihre Gedanken zu erklären, wenn sie Handelsroboter bestellen, und für Programmierer, weniger Fehler bei komplexen Funktionen zu machen.

Dies wird die technische Arbeit der Programmierer nicht erleichtern, aber zumindest werden sie Ihre Gedanken besser verstehen, und die Wahrscheinlichkeit, dass sie in den ersten Versionen Fehler machen, ist geringer. Diese Fehler müssen schließlich korrigiert werden, was zusätzliche Zeit (und/oder Geld) erfordern kann.

Im Allgemeinen sind DRAKON-Diagramme sowohl für Programmierer als auch für Kunden von Vorteil, die mit der Programmierung nicht vertraut sind, aber ein sehr gutes Verständnis davon haben, wie genau ihre EAs funktionieren sollen.

Um es einfach auszudrücken:

  • Die Sprache ist so aufgebaut, dass sie wirklich zum Nachdenken anregt. Wenn ich einen Algorithmus in Form eines Diagramms sehe, ist es für mich viel einfacher, die Beziehungen zwischen den Teilen in den Modulen sowie zwischen den Modulen selbst zu verstehen, Fehler zu finden und Lösungen zu verwenden, die ohne ein Diagramm nicht offensichtlich erscheinen würden.
  • DRAKON hilft, den Kunden besser zu verstehen.
  • Es ist einfacher, meine Vorschläge an den Kunden weiterzugeben, falls es welche gibt.
  • Für den Kunden ist es einfacher, meine Fehler zu kritisieren.
  • Wenn der Kunde ein DRAKON-Diagramm gezeichnet hat, kann es in den Code übertragen werden und die Anforderungsspezifikation kann als abgeschlossen betrachtet werden. Das ist viel einfacher, als sich mit Fragen und Problemen zu befassen, die während der Kodierung selbst auftreten. Es mag einige Funktionen geben, die für den Kunden offensichtlich sind, aber nicht für den Entwickler. Das Diagramm beseitigt mögliche Missverständnisse.

Für mich ist die Grafik in den Algorithmen ein unverzichtbares Kommunikationsinstrument. Wenn zwei Menschen an einem Ergebnis interessiert sind und einen Dialog führen, ist es besser, wenn sie die gleiche Sprache sprechen. Die Sprache der DRAKON-Diagramme ist universell für Spezialisten in jedem Wissensgebiet, wenn man sie einmal verstanden hat.

Autor: Oleh Fedorov

 

Es war gespenstisch:

Ich las die Schilder mit Erstaunen. Es waren drei Stück. Am linken Tor leuchtete ein blaues, massives Schild mit silbernen Buchstaben streng durch dickes Glas:

NICHAVO
HÜTTE AUF HÜHNERBEINEN
DENKMAL DES SOLOVETSKY-ANTIQUUMS



Am rechten Tor hing von oben ein rostiges Blechschild: "Lukomorye Street, N_13, N. K. Gorynych", und darunter befand sich ein Stück Sperrholz mit einer mit Tinte in einer krummen Linie geschriebenen Inschrift:

.

KATZE FUNKTIONIERT NICHT

Verwaltung


 
Разработка эксперта средствами UML
Разработка эксперта средствами UML
  • www.mql5.com
В статье рассматривается создание торгового советника с помощью графического языка UML, который используется для визуального моделирования объектно-ориентированных программных систем. Основным преимуществом такого подхода является визуализация работы проектировщика. Приведен пример проектирования структуры и свойств советника при помощи программы Software Ideas Modeler.
 
Dmitry Fedoseev #:

Da fällt mir ein:

Ich habe die Schilder mit Erstaunen gelesen.

...

Kannst du die Assoziation ein wenig näher erläutern?

P.S. Ich liebe "Monday" auch. Sowie einige ihrer anderen Sachen.

 
Stanislav Korotky #:
Verwandter Beitrag.
Super. Vielen Dank!
 
Oleh Fedorov #:

Können Sie die Assoziation ein wenig näher erläutern?

P.S. Ich liebe "Monday" auch. Ebenso wie einige ihrer anderen Sachen.

Nichts Besonderes. Der Anfang ist so surreal:"Die Sprache DRAGON wurde in Zusammenarbeit mit dem Bundesamt für Raumfahrt entwickelt", dass ich für einen Moment dachte, ich würde Strugatsky lesen.

 
Versuchen Sie es doch einmal mit Flowgorithm.
 
Dmitry Fedoseev #:

Nichts Besonderes. Der Anfang ist so surreal:"Die Sprache DRAGON wurde in Zusammenarbeit mit dem Bundesamt für Raumfahrt entwickelt", dass ich für einen Moment dachte, ich würde Strugatsky lesen.

Das ist ein gruseliger Anblick! Wenn ich mir vorstelle, wie viele Diagramme die Entwickler der Buran-Software zeichnen mussten, um eine automatische Landung durchzuführen, kommen mir die Tränen!

 
Alexey Volchanskiy #:

Es ist ein schrecklicher Anblick! Wenn ich mir vorstelle, wie viele Diagramme die Buran-Softwareentwickler zeichnen mussten, um eine automatische Landung durchzuführen, kommen mir die Tränen!

Der springende Punkt ist, dass sich die Konstruktionsbüros bei den Projekten, bei denen DRAGON zum Einsatz kam, weigerten, Programmierer zu beschäftigen. Die Programme wurden von Anwendungsingenieuren geschrieben, die sich ohnehin um alle ausfallsicheren Algorithmen kümmern mussten. Sie hätten diese Schemata ohnehin entwerfen müssen, zumindest für die Interaktion zwischen den Abteilungen. Daher scheint mir persönlich der Nutzen der Technologie recht konkret zu sein...
 
Soewono Effendi #:
Vielleicht sollten Sie Flowgorithm einmal ausprobieren.

Das sieht sehr interessant aus, danke.

Chat-Stil Konsole ist nicht so gut für mich, aber es ist viele interessante Dinge gibt.

 

Ich habe festgestellt, dass Flowgorithm mehr für Bildungszwecke als für die reale Programmierung geeignet ist. Drakon ist näher an dem, was ich suche: näher an Grafcet, das außerhalb Frankreichs und der Automatisierungsbranche nicht sehr bekannt ist, aber es ist ein Juwel ;) https://www.researchgate.net/profile/Paul-Baracos-2/publication/243782363_Grafcet_step_by_step/links/588b7e3d45851567c93c9cdb/Grafcet-step-by-step.pdf


Ich hatte vor langer Zeit in einer französischen Ingenieurschule (nicht Informatik, sondern traditionelles Ingenieurwesen) von einem Lehrer, der Teil des Komitees war, unterrichtet worden. Bevor ich es lernte, hatte ich kein Interesse am Programmieren und war fast der Letzte, mit ihm wurde ich der Erste :)

Dann habe ich es vergessen, da ich in der traditionellen Softwareentwicklung tätig war. Nach Jahrzehnten wurde mir klar, dass es in der traditionellen Softwareentwicklung keine wirkliche Modellierung gibt, da niemand UML verwendet, abgesehen von Entwürfen, und ich erkannte, dass Grafcet oder ein Äquivalent + ein bisschen UML ein echter Weg sein könnte, um mit anderen technischen Bereichen gleichzuziehen. Wie Drakon ist es zunächst auf die Spezifikation ausgerichtet, aber aufgrund seiner Einfachheit und Fraktalität kann es leicht mit Code abgebildet werden, so dass viele Leute denken, dass SFC äquivalent zu Grafcet ist, während SFC in der Tat von Grafcet abgeleitet ist, aber es ist nur eine Codierungssprache für eine bestimmte Branche (Automatisierung) und nicht für die Spezifikation gedacht.

Wie hier gesagt wurde,ist einer der Hauptvorteile von GRAFCET die Spezifikation von hierarchischen Strukturen" https://www.sciencedirect.com/science/article/pii/S2405896319314387 und es ist ausschließlich ereignisgesteuert, also sehr geeignet für Handelsalgorithmen ;)

A model-driven approach for transforming GRAFCET specification into PLC code including hierarchical structures
A model-driven approach for transforming GRAFCET specification into PLC code including hierarchical structures
  • www.sciencedirect.com
GRAFCET, as defined in IEC 60848, is a powerful graphical modelling language to define the behavior of sequence controls with discrete event systems. …