【发布时间】:2009-12-22 19:07:00
【问题描述】:
是否有一个很好的工具可以以图形方式对应用程序并发/锁定方案进行建模并可以模拟某些方面?
我知道 Petri 网或多或少可以用于此目的,但我不知道可以设计和模拟的良好 GUI 工具。
UML 是否可用于此类目的?
非常感谢任何好的链接。
【问题讨论】:
标签: concurrency modeling petri-net
是否有一个很好的工具可以以图形方式对应用程序并发/锁定方案进行建模并可以模拟某些方面?
我知道 Petri 网或多或少可以用于此目的,但我不知道可以设计和模拟的良好 GUI 工具。
UML 是否可用于此类目的?
非常感谢任何好的链接。
【问题讨论】:
标签: concurrency modeling petri-net
UML 活动图可以表示为 Petri 网(例如see this paper)。不幸的是,我不知道任何用于模拟 Petri 网或活动图的面向工业的良好工具(但您可以轻松找到许多学术项目)。
您确定要模拟您的模型(模拟是指您实际上想坐下来看看您的 Perti 网络是如何执行的)?通常这种类型的分析适用于小而简单的算法。在现实世界的情况下,您可能希望对您的算法进行model checking,而不是模拟。我建议您检查 SPIN(许多公司使用,例如 Siemens)。我对Alloy 和Prism 也有积极的体验。但如果您的重点是验证并行算法,我建议您先考虑 SPIN。
编辑:我检查了一些模拟工具,我可以建议看看
【讨论】:
我怀疑这就是你要找的东西,但我会投入两分钱:
在我的大学,在我们的并发软件系统课上,我们使用了一个名为 Labelled Transition System Analyser (LTSA) 的工具。它实际上是一种可用于对系统行为进行建模的语言。
“代码”变成了状态图和转换表。
【讨论】:
Here is an interactive Java applet 可以设计和运行 Petri 网。
【讨论】:
我已经很久没看过了,但听起来Ptolemy 很合适。
【讨论】:
您可以查看Petri Net Sim,以模拟常见/定时/彩色 Petrinet,它带有一个漂亮的 GUI,可以实时显示 Petri 网络的执行情况。
【讨论】:
尝试使用并发工具 LTSA。 Java 程序。 (标记转换系统分析器),用于模拟程序。您可以从以下网址下载:
但是您在使用时必须耐心等待,学习如何使用它可能需要几个小时。在对 Java 程序建模时可能效果最好。
当然,使用 UML 模型总是好的 :)
【讨论】: