【发布时间】:2017-05-08 12:08:10
【问题描述】:
我被要求构建一个 petri 网引擎,作为内部工作流程的基础。
到目前为止,我已经能够生成所有逻辑和行为(我创建了一个“服务台”类型的工作流来测试规则和条件)并且一切正常。
然而,事实证明有点痛苦的是,将 Petri 网可视化并自动执行此可视化。
我一直在看 SVG 绘图例程,例如: http://flowchart.js.org(流程图) https://bramp.github.io/js-sequence-diagrams/(序列图)
我很想修改其中一个或找到一个类似的作为基础,但我遇到了一个意想不到的问题:我完全不熟悉复杂的绘图例程和处理自动放置的理论多个并发连接和分支。
上面的两个例子很简单,但是在 Petri 网中,你可能有一个地方产生多个转换,如果处理不当,即使是短/简单的网络也很容易变成笨拙的图表。
解决这个问题的最佳方法是什么?
【问题讨论】:
-
我认为最好的方法是像这样的 d3 力图; jsfiddle.net/tangentstorm/bjp5nv4a
-
谢谢。我看到了,但不能让它工作得足够好以使它正常。我想我可能只是不知道一个简单的可视化算法可以帮助构建我需要的图表。
标签: javascript svg workflow diagram petri-net