背景: CPN-Tools 是使用彩色Petri网的模型检查程序,它使用CPN ML作为查询语言。 CPN ML 是标准ML的扩展,标准ML是一种类型推断功能语言。
问题:CPN-Tools通常用于对需要状态空间分析的域进行建模。我正在使用它来建模一个域,我需要知道来自某个地方的传入和传出弧的数量。不同之处在于我正在查看Petri网模型表示,而不是状态空间。所以当我说从一个地方计算弧线时,我的意思是一个地方,而不是一个状态空间节点。到目前为止,在我的研究中,我遇到了包含场所和过渡属性的CPN'PlaceTable
和CPN'TransitionTable
结构,并且看起来很有希望完成我的任务。但是,我没有找到任何CPN ML示例来帮助我找出使用这些结构计算传入/传出弧的方法。
问题:所以我的问题或实际问题是:
CPN'PlaceTable
或任何其他方法计算传入弧到指定位置? CPN'TransitionTable
或任何适当的方法来计算来自给定过渡的传出弧?案例:我正在使用这个简单的Petri网来了解我的期望。请参阅 this link 以获取说明。
在图像中,我们看到3个位置和2个过渡。我理想的是能够拥有以这种方式工作的CPN ML函数incoming(place_name)
和outgoing(transition_name)
incoming(Place1) = 0
incoming(Place2) = 2
incoming(Place3) = 1
outgoing(Transition1) = 2
outgoing(Transition2) = 1
其他信息:我想再次强调一点,我不是指状态空间节点。 CPN-Tools中有很多关于状态空间中弧属性的文档,但是我没有在CPN-Tools支持论坛上找到有关我所说问题的更多信息。更糟糕的是,CPN'
结构通常在CPN-Tools中没有记录。