是否有一个好的工具可以用图形方式建模应用程序并发/锁定方案,并且可以模拟某些方面?
我知道Petri网可以或多或少地使用它,但我不知道可以设计和模拟的优秀GUI工具。
UML以任何方式可用于此类目的吗?
非常感谢任何好的链接。
答案 0 :(得分:4)
UML活动图可以表示为Petri网(例如see this paper)。不幸的是,我不知道任何用于模拟Petri网或活动图的良好工业导向工具(但是有许多学术项目可以轻松找到)。
你确定要模拟你的模型吗(通过模拟我的意思是你真的想坐下来看看你的Perti网是如何被执行的)?通常这种类型的分析适用于小而简单的算法。在现实世界中,您可能希望对算法进行model checking而不是模拟。我建议你检查SPIN(许多公司使用,例如西门子)。我对Alloy和Prism也有积极的体验。但如果您的重点是验证并行算法,我建议您先考虑SPIN。
编辑:我检查了一些模拟工具,我可以建议查看
答案 1 :(得分:2)
答案 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),用于模拟程序。您可以从以下网址下载:
但是你在使用它时必须要有耐心,学习如何使用它可能需要几个小时。在为Java程序建模时可能效果最好。
当然,使用UML模型总是好的:)