一般来说可以在每个agent的类实现(在项目src目录下的.java或.groovy文件)中顺利定义其行为的仿真调度信息,
3 c( O) r. r2 O8 X- \从官方demo的范例来看,一般是step函数,注意前面的Java annotation实现的仿真调度参数(Schedule)设置,例如如下源码
7 o; U0 B* o2 A, o( \; c @ScheduledMethod(start = 2, interval = 1, priority = 2)
. \. @/ N% Y1 C: d8 w) b+ F v' r public void step()( ]: y9 r A8 t+ v- g" c3 g0 v
……
/ T4 g1 z0 P; X2 R我理解的意思就是此类agent对象创建后经过2 ticks执行step函数定义的行为,! T! R' w, g& `3 N% {- c: E1 c
此后每经过1 tick,只要这个agent还在就重复执行step,优先级为2.,其它参数默认。
$ ?: R! c1 q4 y4 d" b( h, L* K% N3 H8 D5 s+ \( Y. e! ?2 e
当然Repast simphony是支持agent行为的异步延时调度的,需要应用相应的api类函数,2 [0 h4 f5 o3 u$ @/ P- b
相对复杂一些,目前我还没有具体应用到。 |