Discussing the article: "DRAKON visual programming language — communication tool for MQL developers and customers"

 

Check out the new article: DRAKON visual programming language — communication tool for MQL developers and customers.

DRAKON is a visual programming language designed to simplify interaction between specialists from different fields (biologists, physicists, engineers...) with programmers in Russian space projects (for example, in the Buran reusable spacecraft project). In this article, I will talk about how DRAKON makes the creation of algorithms accessible and intuitive, even if you have never encountered code, and also how it is easier for customers to explain their thoughts when ordering trading robots, and for programmers to make fewer mistakes in complex functions.

This will not decrease the load of the programmer’s technical work, but at least they will understand your thoughts much better, and there is less chance that they will make mistakes in the first versions. These errors will have eventually to be corrected, which may require additional time (and/or money).

In general, DRAKON diagrams are beneficial both for programmers and customers who are unfamiliar with programming but have a very good understanding of how exactly they want their EAs to work.

To put it simply:

  • The language is structured in such a way that it really helps you think. When I see an algorithm in the form of a diagram, it is much easier for me to understand the relationships between parts in the modules, as well as between the modules themselves, find errors and use solutions that might not seem obvious without a diagram.
  • DRAKON helps to better understand the customer.
  • It is easier to convey my proposals to the customer if any arise.
  • It is easier for the customer to criticize my mistakes.
  • If the customer has drawn a DRAKON diagram, it can be transferred into the code and the requirements specification can be considered completed. This is much easier than dealing with questions and issues arising during the coding itself. There may be some features that are obvious to the customer, but not for the developer. The diagram eliminates potential misunderstandings.

For me, graphics in the algorithms is an indispensable communication tool. When two people are interested in the result and are engaged in a dialog, it is better for them to speak the same language. The language of DRAKON diagrams is universal for specialists in any branch of knowledge if you understand it once.

Author: Oleh Fedorov

 

It was haunting:

I read the signs with amazement. There were three of them. On the left gate, a blue solid sign with silver letters shone strictly with thick glass:

NICHAVO
HUT ON CHICKEN LEGS
MONUMENT OF SOLOVETSKY ANTIQUITY



A rusty tin plate hung on the right gate from above: "Lukomorye Street, N_13, N. K. Gorynych", and under it was a piece of plywood with an inscription written in ink in a crooked line:

.

CAT DOES NOT WORK

Administration


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

That reminds me:

I read the signs with amazement.

...

Can you expand on the association a bit?

P.S. I love "Monday" too. As well as some of their other stuff.

 
Stanislav Korotky #:
Related Post.
Super. Thank you.
 
Oleh Fedorov #:

Can you expand on the association a little bit?

P.S. I love "Monday" too. As well as some of their other stuff.

Nothing in particular. The beginning is so surreal:"The DRAGON language was developed by joint efforts of the Federal Space Agency", for a moment I thought I was reading Strugatsky.

 
You might want to give Flowgorithm a try.
 
Dmitry Fedoseev #:

Nothing special. The beginning is so surreal:"The DRAGON language was developed by joint efforts of the Federal Space Agency", for a moment I thought I was reading Strugatsky.

It's a scary sight! As I imagine how many diagrams the Buran software developers had to draw in order to perform an automatic landing, tears come to my eyes!

 
Alexey Volchanskiy #:

It's a horrible sight! As I imagine how many diagrams the Buran software developers had to draw to make an automatic landing, tears come to my eyes!

The point of this thing is that in those projects where they used DRAGON, the design bureaus refused to employ programmers. Programmes were written by application engineers, those who had to take care of all the fail-safe algorithms as it was. They would have had to draw these schemes anyway, at least for interaction between departments. Therefore, the usefulness of the technology seems to me personally quite concrete...
 
Soewono Effendi #:
You might want to give Flowgorithm a try.

It looks very interesting, thanks.

Chat style console is not so good for me, but it is many interesting things there.

 

I found Flowgorithm is more for educational purpose than real world programming. Drakon is closer to what I'm looking for : closer to Grafcet which is not well known outside of France and Automation field but it's a gem ;) https://www.researchgate.net/profile/Paul-Baracos-2/publication/243782363_Grafcet_step_by_step/links/588b7e3d45851567c93c9cdb/Grafcet-step-by-step.pdf


I had been taught a long time ago in french engineering school (not computer science but tradional engineering field) by a teacher who was part of the comitee. Before learning it I had no interesting in coding and was almost last, with it I became first :)

Then I forgot about it since I was in traditional software engineering. After decades I realised there's no real modeling in traditional software engineering as nobody actually uses UML apart from drafts and I realise Grafcet or equivalent + a bit of UML could be a real way to be on par with other engineering fields. Like Drakon it is first aimed at specification but due to its simplicity and fractality it can easily map with code so much people think that SFC is equivalent to Grafcet whereas SFC is indeed derived from Grafcet it is only a coding language for a specific industry (automation) not meant for specification.

As said here  "one of the main advantages of GRAFCET is the specification of hierarchical structureshttps://www.sciencedirect.com/science/article/pii/S2405896319314387 and it is exclusively event driven so very suitable for trading algorithms ;)

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