|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 K. M) ?6 m+ m7 T
, T( m* V9 B5 n4 ]; E
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. o6 Y+ N! d7 B$ M: D( X
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% @4 _9 @* m4 f1 W8 n& M
swarm.SignatureNotFoundException
7 P1 F% X% d8 V! m- E$ x+ f" w/ G at swarm.Selector.<init>(Selector.java:76)
) d# g* Z5 |6 c/ q" @0 V at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 R8 D9 L# v) E1 b
at ActionGroupDemo.main(ActionGroupDemo.java:67)
) t1 z- y4 C1 x T9 \' p* P/ L4 z& M" ^: y6 s; w
1 @- O1 ?3 M* r# Q
import swarm.objectbase.SwarmImpl;+ A! r0 K" T3 k; k* R
import swarm.objectbase.Swarm;
: M) q- k* b- w9 N: s `3 \& @* uimport swarm.activity.ScheduleImpl;2 L- `' L y9 ?% W4 e+ C7 \
import swarm.activity.Activity;6 ]7 v! H" I! P3 o0 F R! f
import swarm.activity.ActionGroupImpl;
$ G! z6 `" L$ J6 J) e9 nimport swarm.collections.ListImpl;. N* x+ g( U! X
import swarm.defobj.Zone;
6 l+ O. c6 G% f' g- i' f9 K& ?- jimport swarm.Globals;
8 o# `5 I2 `( y0 n! ~ K8 q$ ^import swarm.Selector;% @ ~; ?( |/ `; K8 J0 z7 t
import swarm.activity.ActionGroup;
! Z" o3 ~( Q) q$ s* S7 Oclass Agent {
?/ S4 R0 }/ D9 ]& f. _ char id;
2 Y2 H) d1 j; b( p: b5 o, v0 n2 x, ^7 ~ ^
Agent(char id) {
6 o) n# v- n7 D( i" Q this.id = id;
7 y/ N( M; Z: X( m* y4 n }
3 w1 C5 u- N, d& E$ Y
6 U N/ x8 ]+ Z" U) U# L c, G; w6 p1 I public void agentStep() {
/ {( S1 u/ ?/ z2 Z2 f System.out.println(id + ":" + Globals.env.getCurrentTime());# z6 _: C! s7 J" m1 ?. ?- i% ^6 \
}% k3 l" ]' v3 N1 ~6 O: n
}
+ q5 [8 _5 w$ X7 ^
9 K. R( B7 q3 ?' Y1 [public class ActionGroupDemo extends SwarmImpl {+ m; C5 @3 L$ j1 f, @1 t
ScheduleImpl schedule;
' B4 A! J% r v, Q0 ]+ k) A& m ActionGroupImpl actionGroup;( A2 R! [4 Z6 m, X) Y6 g
ListImpl list;- Z' W* ]. z# Z$ J: R( g
char Id = 'a';+ ^/ ?" V, x( W
2 q7 l; f* _9 u; n" {! G0 x
ActionGroupDemo(Zone aZone) {
9 m2 c2 i* H$ O0 k super(aZone);
7 w2 a' A9 R1 x# o list = new ListImpl(aZone);/ N$ H( r! l. I* I# p( a
swarmSetp();
. e/ l0 T1 f9 C3 A, H actionGroup = new ActionGroupImpl(aZone);
4 ^; L& S; z, ~6 g) c) A$ A' ] schedule = new ScheduleImpl(aZone);
/ D6 A4 U! {2 e2 j. R- V# O try {
' {* I6 O% U% c) ~& t Selector agentSel = new Selector(Agent.class, "agentStep", false);- |1 h/ o, ^; G; n
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. }5 z6 N/ R0 ^/ T" n
- q6 H( |, B6 Z- k- ` actionGroup.createActionForEach$message(list, agentSel);
) y6 j: q3 |! u actionGroup.createActionTo$message(this, swarmSel);- I" u8 h0 P2 B- x7 l
schedule.at$createAction(0, actionGroup);
3 |" z* h2 E2 N5 Q* \; M schedule.at$createAction(1, actionGroup);
9 ~1 q1 c1 _; L4 O5 O ? schedule.at$createAction(2, actionGroup);
3 r- ]% E% f2 @1 x J
2 m* C! p: ]1 B" t+ {* o } catch (Exception e) {
, {; |$ r: g- @/ U$ `# k e.printStackTrace(System.err);
9 [7 d3 E( F) T( b$ J //System.out.println(e);
; \ r( r3 O S! Y" A System.exit(1);' t- D' Q v+ R' ~8 _
}" x5 C, p5 |9 X5 }6 t0 U2 v; g0 ^
: V2 f0 m6 {6 P; F7 R. d3 I9 ~6 s' @1 ?. u3 q3 K: D9 x, k
}$ M5 Y* _0 q( X) k7 M7 ~& O
5 [" H5 Y* Z) t, g8 z/ S4 U1 A
private void swarmSetp() {
g* \& v% c- ^: Q9 r list.addLast(new Agent(Id));
3 d- Y! g+ E9 f, ?: I6 U9 W+ t Id++;" G# f" j3 [3 I1 Y0 c# v
}
3 u% t/ a( r& ~' @4 y; w2 C4 e- f: l2 p4 W; M" E
public Activity activateIn(Swarm context) {
4 [# ~2 i+ Q# s5 h super.activateIn(context);
% C) T: O; T8 U+ ~- `, p schedule.activateIn(this);
: |* K# j0 O3 D F* C( i* e' y0 P. ? return getActivity();
$ g6 w. N5 I% }2 ^+ h! c }
& R2 s$ z1 f8 [" |& u/ p5 S4 N2 {6 Z- g7 w' C+ ]; d
public static void main(String[] args) {
; {/ U* g. r. k l! F' S Q3 @ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);/ N4 B" {6 i5 g2 c" K. M z7 X
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);* k9 p8 z! L, V7 p/ O" F
swarms.buildObjects();
2 F, _0 O; D5 Z- e2 Z swarms.buildActions();
6 y5 X, W% q5 N9 y4 {2 O swarms.activateIn(null).run();
) L u: Y& G" I4 p: {4 F. t }
D' V" k5 A. q9 t* R% |( M
3 [: k9 V5 M% T} |
|