是否有模型/模拟软件并发的工具?

时间:2009-12-22 19:07:01

标签: concurrency modeling petri-net

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

我知道Petri网可以或多或少地使用它,但我不知道可以设计和模拟的优秀GUI工具。

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

非常感谢任何好的链接。

7 个答案:

答案 0 :(得分:4)

UML活动图可以表示为Petri网(例如see this paper)。不幸的是,我不知道任何用于模拟Petri网或活动图的良好工业导向工具(但是有许多学术项目可以轻松找到)。

你确定要模拟你的模型吗(通过模拟我的意思是你真的想坐下来看看你的Perti网是如何被执行的)?通常这种类型的分析适用于小而简单的算法。在现实世界中,您可能希望对算法进行model checking而不是模拟。我建议你检查SPIN(许多公司使用,例如西门子)。我对AlloyPrism也有积极的体验。但如果您的重点是验证并行算法,我建议您先考虑SPIN。

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

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

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

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

答案 1 :(得分:2)

SPIN是用于验证分布式系统的流行工具,但我认为只是命令行。但是在Spin网页上有一个链接到一个名为GOAL

的密切相关的GUI工具

答案 2 :(得分:2)

我怀疑这是你在找什么,但我会投入两分钱:

在我的大学,在我们的并发软件系统课上,我们使用了一个名为Labelled Transition System Analyser (LTSA)的工具。它实际上是一种可用于模拟系统行为的语言。

“代码”变为状态图和转换表。

答案 3 :(得分:1)

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

答案 4 :(得分:1)

我看了很长时间,但听起来Ptolemy会很合适。

答案 5 :(得分:1)

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

答案 6 :(得分:0)

尝试使用并发工具LTSA。 Java程序。 (Labeled Transition System Analyzer),用于模拟程序。您可以从以下网址下载:

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

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

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