一般来说可以在每个agent的类实现(在项目src目录下的.java或.groovy文件)中顺利定义其行为的仿真调度信息,5 E5 q2 Q1 f: `' j2 w' k+ N
从官方demo的范例来看,一般是step函数,注意前面的Java annotation实现的仿真调度参数(Schedule)设置,例如如下源码
) D- _8 ]; G0 B0 j; ? @ScheduledMethod(start = 2, interval = 1, priority = 2)
: Q+ ~; M" P8 K; L, r5 Z+ u$ d0 Q% n public void step()
8 V, k) z" k! M6 ^( G ……
: e" w6 \) b" u6 u( O$ b0 A我理解的意思就是此类agent对象创建后经过2 ticks执行step函数定义的行为,% s( l' [! B4 b# G, x% [' s. m& M
此后每经过1 tick,只要这个agent还在就重复执行step,优先级为2.,其它参数默认。
j6 M) w3 T- u8 O9 s H2 o% m, Q- M6 R6 f y1 G
当然Repast simphony是支持agent行为的异步延时调度的,需要应用相应的api类函数,* y2 ^$ `5 k5 A& @# T0 H
相对复杂一些,目前我还没有具体应用到。 |