文章 "DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具"

 

新文章 DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具已发布:

DRAKON是一种可视化编程语言,旨在简化来自不同领域的专家(生物学家、物理学家、工程师…)与俄罗斯太空项目(例如,Buran可重复使用航天器项目)程序员之间的互动。在这篇文章中,我将讨论DRAKON如何使算法的创建变得容易和直观,即使你从未遇到过代码,以及客户在订购交易机器人时如何更容易解释他们的想法,以及程序员如何在复杂函数中减少错误。

这不会减少程序员的技术工作负荷,但至少他们会更好地理解你的想法,并且在第一个版本中出错的可能性更小。这些错误最终必须得到纠正,这可能需要额外的时间(和/或金钱)。

一般来说,DRAKON图对程序员和客户都是有益的,他们不熟悉编程,但非常了解他们所希望的EA的工作方式。

简单地说:

  • 这种语言的结构确实有助于你思考。当我看到形式的算法时,我更容易理解模块中各部分之间以及模块本身之间的关系,发现错误并使用没有图可能看起来不明显的解决方案。
  • DRAKON有助于更好地了解客户。
  • 如果出现任何问题,将我的建议传达给客户会更容易。
  • 客户更容易批评我的错误。
  • 如果客户绘制了DRAKON图,则可以将其转换为代码,并且可以认为需求规范已完成。这比处理编码过程中出现的问题要容易得多。可能有一些功能对客户来说是显而易见的,但对开发人员来说却不是。该图消除了潜在的误解。

对我来说,算法中的图形是不可或缺的通信工具。当两个人对结果感兴趣并进行对话时,最好说相同的语言。你一旦理解了DRAKON图的语言,就会发现它对于任何知识分支的专家来说都是通用的。

作者:Oleh Fedorov

 

它让人魂牵梦绕:

我惊讶地读着这些标志。一共有三个。在左侧大门上,一块蓝色的实心牌子上的银色 字母在厚厚的玻璃上闪闪发光:

尼查沃
鸡腿上的小屋
索洛维茨基古代纪念碑



右边大门上挂着一块锈迹斑斑的铁皮牌子,上面写着:"卢科莫里耶街,N_13,N. K. Gorynych",牌子下面是一块胶合板,上面用墨水歪歪扭扭地写着一行字:

猫不起作用

行政管理


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

这倒提醒了我:

我惊讶地读着这些标志。

...

你能进一步说明一下你的联想吗?

附:我也喜欢 "Monday"。以及他们的其他一些作品。

 
Stanislav Korotky #:
相关帖子
超级谢谢。
 
Oleh Fedorov #:

你能稍微解释一下这种联系吗?

附:我也喜欢《星期一》。以及他们的其他一些作品。

没什么特别的。开头太不真实了:"DRAGON 语言是由联邦航天局联合开发的",有那么一瞬间,我还以为自己读的是斯特拉加茨基的作品。

 
您不妨试试Flowgorithm
 
Dmitry Fedoseev #:

没什么特别的。开头太不真实了:"DRAGON 语言是由联邦航天局联合开发的",有那么一瞬间,我还以为自己在读 Strugatsky 的文章。

这是一个可怕的景象!当我想象 Buran 软件开发人员要画多少图表才能实现自动着陆时,我的眼泪夺眶而出!

 
Alexey Volchanskiy #:

这场面太可怕了!当我想象着 Buran 软件开发人员要画多少张图才能实现自动降落时,我的眼泪夺眶而出!

这件事的关键在于,在使用 DRAGON 的项目中,设计局拒绝聘用程序员。程序是由应用工程师编写的,他们必须负责所有的故障安全算法。无论如何,他们都必须绘制这些方案,至少是为了部门之间的互动。因此,在我看来,这项技术的实用性是非常具体的......
 
Soewono Effendi #:
你也许想试试Flowgorithm

它看起来非常有趣,谢谢。

我不太喜欢聊天式控制台,但它有很多有趣的东西。

 

我发现 Flowgorithm 更适合教育目的,而非实际编程。Drakon 更接近我想要的:更接近 Grafcet,虽然它在法国和自动化领域之外并不出名,但它是个宝藏;) https://www.researchgate.net/profile/Paul-Baracos-2/publication/243782363_Grafcet_step_by_step/links/588b7e3d45851567c93c9cdb/Grafcet-step-by-step.pdf


很久以前,我在法国工程学校(不是计算机科学,而是传统工程领域)学习过 Drakon,老师是委员会成员之一。在学习之前,我对编码毫无兴趣,几乎是倒数第一,但学了之后,我成了第一名:)

后来,因为我从事的是传统的软件工程,我就把它忘了。几十年后,我意识到传统软件工程中没有真正的建模,因为除了草稿之外,没有人真正使用 UML。与 Drakon 一样,SFC 最初也是针对规范的,但由于它的简单性和分形性,它可以很容易地映射到代码中,因此很多人认为 SFC 等同于 Grafcet,而 SFC 确实是从 Grafcet 派生的,它只是一种针对特定行业(自动化)的编码语言,而不是用于规范的。

正如这里所说,"GRAFCET 的主要优势之一是规范分层结构"https://www.sciencedirect.com/science/article/pii/S2405896319314387 ,而且它完全是事件驱动的,因此非常适合交易算法;)

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