代码之家  ›  专栏  ›  技术社区  ›  Andrey Adamovich

是否有工具来建模/模拟软件并发性?

  •  8
  • Andrey Adamovich  · 技术社区  · 15 年前

    有没有一个好的工具可以用图形的方式对应用程序并发/锁定方案进行建模,并且可以模拟一些方面?

    我知道Petri网可以或多或少地用于这个目的,但是我不知道一个好的可以设计和模拟的GUI工具。

    UML是否以任何方式可用于此类目的?

    任何好的链接都非常感谢。

    7 回复  |  直到 7 年前
        1
  •  4
  •   Alexey Kalmykov    15 年前

    UML活动图可以表示为Petri网(例如 see this paper )不幸的是,我不知道任何好的面向工业的Petri网或活动图模拟工具(但有许多学术项目,你可以很容易地找到)。

    您确定要模拟您的模型吗(通过模拟,我的意思是您实际上想坐下来看看您的perti网络是如何执行的)?通常这种类型的分析适用于小型和简单的算法。在现实生活中,你可能想这样做 model checking 你的算法而不是模拟。我建议您检查自旋(许多公司使用,例如西门子)。我也有一个积极的经验 Alloy Prism . 但如果你的重点是验证并行算法,我建议你先考虑自旋。

    编辑:我检查了一些用于模拟的工具,我可以建议您查看

    1) http://sourceforge.net/projects/visual-petri/

    2) http://www.renew.de/

    3) http://www.winpesim.de/index.html

        2
  •  2
  •   caerwyn    15 年前

    SPIN 是一个流行的工具,用于验证分布式系统,但只是命令行,我认为。但是在spin网页上有一个链接指向一个密切相关的图形用户界面工具 GOAL

        3
  •  2
  •   Thomas Owens    15 年前

    我怀疑这是你要找的,但我会把我的两分钱投进去:

    在我的大学,在我们关于并行软件系统的课堂上,我们使用一个叫做 Labelled Transition System Analyser (LTSA) . 它实际上是一种可以用来模拟系统行为的语言。

    “代码”被转换成状态图和转换表。

        4
  •  1
  •   James Kolpack    15 年前

    Here is an interactive Java applet 它可以设计和运行一个Petri网。

        5
  •  1
  •   Oddthinking    15 年前

    我已经很久没看过了,但听起来 Ptolemy 很适合。

        6
  •  1
  •   webtu    13 年前

    你可以检查 Petri Net Sim ,为了模拟通用/定时/彩色Petrinet,它附带了一个很好的GUI,可以实时显示Petri网的执行情况。

        7
  •  0
  •   Kim Jonatan Wessel Bjørneset    11 年前

    尝试使用并发工具LTSA。Java程序。(标记为过渡系统分析仪),以模拟程序。您可以从以下位置下载:

    http://www.doc.ic.ac.uk/ltsa/

    但是你在使用它的时候必须要有耐心,学习如何使用它可能需要几个小时。在建模Java程序时可能是最好的。

    当然,使用UML模型总是很好的:)