Erlang系统建模工具

Erlang系统建模工具,erlang,Erlang,对于OO系统的建模,一个常用的工具是类图。在Erlang中,重点是进程而不是类。您使用什么工具对Erlang系统和流程之间的交互进行建模?是一个很好的工具,用于可视化流程、消息流以及流程之间的控制。我似乎记得它们在UML之前就已经存在了。我一直在“尝试”将Bigraph作为一种模型工具来销售。双图定义为: 称为链接图的超图。它有一个顶点进程,并作为这些进程之间的超边通信。在超图中,边可以在任意数量的过程之间移动,而不仅仅是两个过程。实际上,该图映射了程序中的通信通道或通信路由。“谁在和谁说话”

对于OO系统的建模,一个常用的工具是类图。在Erlang中,重点是进程而不是类。您使用什么工具对Erlang系统和流程之间的交互进行建模?

是一个很好的工具,用于可视化流程、消息流以及流程之间的控制。我似乎记得它们在UML之前就已经存在了。

我一直在“尝试”将Bigraph作为一种模型工具来销售。双图定义为:

  • 称为链接图的超图。它有一个顶点进程,并作为这些进程之间的超边通信。在超图中,边可以在任意数量的过程之间移动,而不仅仅是两个过程。实际上,该图映射了程序中的通信通道或通信路由。“谁在和谁说话”。例如:

  • 具有相同顶点的树称为位置图。这形成了流程所在的主管层次结构。换句话说,它映射了每个流程的责任。树越低,它就越不稳定。靠近根的进程通常是与状态相关的进程,必须加以保护。例如:

我希望这将为您提供一种可视化和处理Erlang程序的方法。如果有什么不清楚的地方,请随时戳我。

  • 用于FSM建模的SDL(OTP)-尽管代码也同样易于阅读
  • 主管树的双图
  • 进程和/或应用程序之间消息序列的MSCs
最近才发现了这一点,尽管它在2011年被提到

基本建模概念(FMC):

它旨在对软件系统进行建模,并且似乎处于正确的抽象级别。整个符号仅包含在一个符号中。看看这个漂亮的符号(petri网图类型):


它们还提供了一个很好的演示,将FMC与UML进行了比较。

序列图似乎是可视化某个用例的好方法,但它没有提供整个系统的概述。感谢罗伯特的回答和上周的精彩课程!哦,这是我发现的编写序列图的最好的工具:如何在链接图中区分同步和异步通信?这些虚线是发送还是gen_强制转换,以及实线gen_调用?我想您可以对这些信息进行编码,但虚线只是通过套接字或更高级的HTTP客户端库与“外部”世界进行通信。您可以通过添加小箭头使图形具有方向性,但可能没有给它太多时间或思考。hypergraph看起来非常适合描述整个系统。它感觉像是一个类图,但有模块名而不是类名。它与协作图有一些相似之处,但我不想先写。