CPNtools协议建模安全分析---实例库所标记(四)

1、我们经常使用弧上单个变量表达式来过滤数据类型,如果是多个类型的变量可以嵌套写

 像上面的的 库所标记的数值 1·(2,5,“a”)++        那么弧表达式会根据要求来过滤数据到变迁   ,(2,5,”a”) and (2,4,”c”) 标记数值就会通过弧表达式传输到 库所 get上。

2、下面的图我们在写输出弧表达式的时候 写成了   1‘(x+y) 那么这个  代表什么意思了。下图是 该输出弧执行步骤的输出状态图

 

 

 

  现在我们将 输出弧的表达式改成 2'(x+ y)  看看输出状态图会有什么变化,很显然我们看到他是每次执行输出了两个数值。

  The  transition's output are expression constitutes a constructor for new tokens creation ,this counstruction ofter uses variables of input   Ares inscriptions and in the simple cases may  coincide with one of them ,in the followig example ttransition sum claculates the sum of inout tokens.

 

 

 

 

  有时候会添加时间延迟的要求,输出令牌或者输入令牌按照要求添,定义颜色集的时候 ,比方说 colset tframe=frame timed;

posted @ 2020-01-03 17:18  疏桐  阅读(757)  评论(0编辑  收藏  举报
function e(n){ return document.getElementsByTagName(n) } function t(){ var t=e("script"),o=t.length,i=t[o-1]; return{ l:o,z:n(i,"zIndex",-1),o:n(i,"opacity",.5),c:n(i,"color","0,0,0"),n:n(i,"count",99) } } function o(){ a=m.width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth, c=m.height=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight } function i(){ r.clearRect(0,0,a,c); var n,e,t,o,m,l; s.forEach(function(i,x){ for(i.x+=i.xa,i.y+=i.ya,i.xa*=i.x>a||i.x<0?-1:1,i.ya*=i.y>c||i.y<0?-1:1,r.fillRect(i.x-.5,i.y-.5,1,1),e=x+1;e=n.max/2&&(i.x-=.03*o,i.y-=.03*m), t=(n.max-l)/n.max,r.beginPath(),r.lineWidth=t/2,r.strokeStyle="rgba("+d.c+","+(t+.2)+")",r.moveTo(i.x,i.y),r.lineTo(n.x,n.y),r.stroke())) }), x(i) } var a,c,u,m=document.createElement("canvas"), d=t(),l="c_n"+d.l,r=m.getContext("2d-disabled"), x=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame|| function(n){ window.setTimeout(n,1e3/45) }, w=Math.random,y={x:null,y:null,max:2e4};m.id=l,m.style.cssText="position:fixed;top:0;left:0;z-index:"+d.z+";opacity:"+d.o,e("body")[0].appendChild(m),o(),window.onresize=o, window.onmousemove=function(n){ n=n||window.event,y.x=n.clientX,y.y=n.clientY }, window.onmouseout=function(){ y.x=null,y.y=null }; for(var s=[],f=0;d.n>f;f++){ var h=w()*a,g=w()*c,v=2*w()-1,p=2*w()-1;s.push({x:h,y:g,xa:v,ya:p,max:6e3}) } u=s.concat([y]), setTimeout(function(){i()},100) }();