一般来说可以在每个agent的类实现(在项目src目录下的.java或.groovy文件)中顺利定义其行为的仿真调度信息,; y& t0 K) u0 P- \4 s3 o* Z0 f
从官方demo的范例来看,一般是step函数,注意前面的Java annotation实现的仿真调度参数(Schedule)设置,例如如下源码
( f" ?* X1 W: ]( J+ w; G6 C3 ] @ScheduledMethod(start = 2, interval = 1, priority = 2)
9 K9 V0 K7 w4 S1 b8 u4 Q n public void step()
$ S1 C" B1 B6 x+ p9 z ……6 K. d6 k3 n$ _ Q1 ~0 j m
我理解的意思就是此类agent对象创建后经过2 ticks执行step函数定义的行为,
" t* c9 z& v- A- M* E& M此后每经过1 tick,只要这个agent还在就重复执行step,优先级为2.,其它参数默认。2 |4 S0 u7 Y9 t4 B; g( z
: o! `0 d4 v' d/ |! U
当然Repast simphony是支持agent行为的异步延时调度的,需要应用相应的api类函数,
4 D, y& {, F) h7 Y, d: C相对复杂一些,目前我还没有具体应用到。 |