一般来说可以在每个agent的类实现(在项目src目录下的.java或.groovy文件)中顺利定义其行为的仿真调度信息,; b% k8 o* _4 M( V% R( c9 ]
从官方demo的范例来看,一般是step函数,注意前面的Java annotation实现的仿真调度参数(Schedule)设置,例如如下源码
3 b. Q6 J$ f# L6 O c( ^9 }/ r @ScheduledMethod(start = 2, interval = 1, priority = 2)
% p K' [3 |( ?- e$ J$ s public void step()
& q( G+ A# p1 ?% V( ^( D ……9 p4 J, ?! o0 e# P
我理解的意思就是此类agent对象创建后经过2 ticks执行step函数定义的行为," e- [6 Q% o: ~& J4 ]$ ~# Y$ N- \) N
此后每经过1 tick,只要这个agent还在就重复执行step,优先级为2.,其它参数默认。
T& ?3 K3 r1 b/ n, {! g' o$ G+ u2 \' }$ [2 Y" F
当然Repast simphony是支持agent行为的异步延时调度的,需要应用相应的api类函数,
3 R( [, ?' X4 a) o ]5 n5 k1 p/ ~相对复杂一些,目前我还没有具体应用到。 |