这个问题想了好久了,一直没有敲定最终方案,请各位帮忙看看,并说说你们的意见,谢谢啦~
一个系统由N个模块组成,每个模块有m个端口,通过将端口连线表示模块之间的连接关系。如图所示:(图在附件里)
模块内各端口之间关系由数学描述确定,如模块B端口1、2、3之间的关系式:2、3对1分别依赖,即已知了1端口的量,即可知道2、3端口的量;又如模块F端口1、2、3之间的关系:3对1、2同时依赖,即必须已知1和2的量,才能知道3的量。
问题:
1. 如何将此系统图论化?端口转化为顶点、模块间的连线转化为边、模块内部各端口之间的连线转化为边?还是将模块转化为顶点、模块间的连线转化为边?
如果按端口转化为顶点这种方式转化:
2. 模块内端口之间的关系又如何转化为边?尤其对B、F模块怎么转化?
3. 如何找出{C、E}、{B、C、D、E、F}等这样的子图?其特征是:子图{C、E}与其他模块之间分别只有一条边相连,且子图内部存在环路。

Petri网是对离散并行系统的数学表示。Petri网是1960年代由C.A.佩特里发明的,适合于描述异步的、并发的计算机系统模型。Petri网既有严格的数学表述方式,也有直观的图形表达方式。
由于Petri网能表达并发的事件,被认为是自动化理论的一种。研究领域趋向认为Petri网是所有流程定义语言之母。
经典的Petri网是简单的过程模型,由两种节点:库所和变迁,有向弧,以及令牌等元素组成的。

Petri网的元素:
Petri网的规则是:
如果一个变迁的每个输入库所(input place)都拥有令牌,该变迁即为被允许(enable)。一个变迁被允许时,变迁将发生(fire),输入库所(input place)的令牌被消耗,同时为输出库所(output place)产生令牌。
注意:
两个变迁争夺一个令牌的情形被称之为冲突
多个弧连接两个节点的情况。在输入库所和变迁之间的弧的个数决定了该变迁变为被允许需要的令牌的个数。弧的个数决定了消耗/产生的令牌的个数。