對於復雜的系統的建模或者協議的建模,各種顏色集的定義以及變量的聲明很重要,要區分明確,對於函數行業進程的定義更加復雜。CPN對協議的描述只適合簡單邏輯性的協議分析,如果協議包括復雜的算法,那么CPN就不適合做協議的建模分析,
1、實例
現在我們使用CPN來建模一個 灰姑娘和繼母的故事, 繼母要求灰姑娘將不同的谷物分開,當灰姑娘去跳舞的時候 小老鼠分離這些谷物。
首先我們需要定義顏色集 和變量,
colset p=unit with pumpkin;
colset c=unit with Cinderella;
colset g=with rice | wheat | oat;
colset m=unit with mouse;
colset f=unit with Fairy;
var x: c;
var y: g;
var z: f;
var u: p;
var v: m;
初始的狀態如下面

后續執行的步驟圖見下面:








因為谷物設置的較多,所以我們直接看部分執行狀態 如下圖,很多步驟都是在循環

2、狀態空間分析
因為我么設置的谷物數量太大,導致狀態空間爆炸問題,所以說CPN Tools對 狀態空間爆炸問題 只能是人工的干預減少,但是沒有辦法解決。 那么對復雜的協議分析 也會出現狀態空間爆炸問題,導致協議不能分析。
所以說CPN Tools只呢個分析簡單的 邏輯性的協議,而不能用來分析含有發雜計算的協議
