一般来说可以在每个agent的类实现(在项目src目录下的.java或.groovy文件)中顺利定义其行为的仿真调度信息,
2 n& T& I9 t% c7 @9 n7 z从官方demo的范例来看,一般是step函数,注意前面的Java annotation实现的仿真调度参数(Schedule)设置,例如如下源码; f2 {% \$ [+ a- t) a
@ScheduledMethod(start = 2, interval = 1, priority = 2)
, d# W( e. @6 J( H1 f" N public void step(): L, v4 x+ C+ f: Y% U2 m% v' l) p
……
9 {" i5 M2 h" T0 g6 P7 k" F我理解的意思就是此类agent对象创建后经过2 ticks执行step函数定义的行为,
, H) e8 x3 r/ @/ Y% D此后每经过1 tick,只要这个agent还在就重复执行step,优先级为2.,其它参数默认。
6 _2 J% E6 D+ @( U3 m' S+ l) C2 A: s. p7 ^: r( G
当然Repast simphony是支持agent行为的异步延时调度的,需要应用相应的api类函数,
3 k/ R: I5 `7 V相对复杂一些,目前我还没有具体应用到。 |