|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 F& H1 a- z2 n) q0 |6 G. l1 l( [7 w' N; a1 X$ A: W
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& U! u4 `& k: \
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 m8 q/ i0 u& O) U$ N6 `4 nswarm.SignatureNotFoundException/ K. x& b. u2 d( e' Z) _, Y
at swarm.Selector.<init>(Selector.java:76)
% |1 @; ]" f3 d7 [ at ActionGroupDemo.<init>(ActionGroupDemo.java:37). c6 ^6 U" n, Z* ~* S+ P
at ActionGroupDemo.main(ActionGroupDemo.java:67)
$ l9 }$ y) f) |% [8 ~: R$ d g
Q8 Z* t& ~! K9 h* m& |$ A. j* E1 d$ t" f& M: r3 e
import swarm.objectbase.SwarmImpl;
+ h9 F: J3 I4 P% z; wimport swarm.objectbase.Swarm;' }2 {: e, H3 ?
import swarm.activity.ScheduleImpl;& B1 ~. E. r @" i; ~
import swarm.activity.Activity;
" I) e4 y9 d V9 timport swarm.activity.ActionGroupImpl;3 p4 ]7 Q" V/ t! L% B) m" p& }
import swarm.collections.ListImpl;
9 B5 ~* w% _- M- E/ iimport swarm.defobj.Zone; 0 ?+ S4 C, P) X. w2 d( g( Z' f2 t
import swarm.Globals;
4 A3 i4 O& e5 O+ O# w$ k- r' nimport swarm.Selector;
+ C* C" y7 m* D/ c1 ^# q; ximport swarm.activity.ActionGroup;
g! u6 b7 P4 m. t( Dclass Agent {) J- L+ h' Q! P- v; m( ^. `
char id;
$ L7 \7 b5 | j$ t' S% E. s
2 y$ k: i; q" G" U/ ^8 r Agent(char id) {
* J: U' T: h2 A" K6 S8 w6 z this.id = id;% J- l/ }' Q3 W& i! g% @
}
! d! M$ y, v- h) T& o5 }
% Y* r L5 y9 t' C+ ~$ U& G public void agentStep() {
& `+ O% n8 Q7 e' f System.out.println(id + ":" + Globals.env.getCurrentTime());
" W7 L: M% `" S6 N. X; y }
* K0 x+ A1 x. n- Q}
( j. h+ @! u" p3 D. x. l9 g' F4 ~6 L3 h9 e) |" F0 k, P7 t; I
public class ActionGroupDemo extends SwarmImpl {, q3 [/ P5 o! L* V1 g- w6 a
ScheduleImpl schedule;
n6 C0 T' Y2 f$ J7 ^ ActionGroupImpl actionGroup;
2 B0 J% ^, Y. j1 _, g; j ListImpl list;
, ?' N' Z& X$ T" M/ K! r5 v char Id = 'a';
* i# ?6 r ]7 S" Y1 F1 u/ M/ D7 v
ActionGroupDemo(Zone aZone) {& r; t0 B) p, P6 j# q+ r* i' r4 M
super(aZone);
! l' V( N8 D$ M list = new ListImpl(aZone);+ ^8 z" I: Q9 N3 M
swarmSetp();0 s l% j6 @, B
actionGroup = new ActionGroupImpl(aZone);
) {5 c9 u* u# } schedule = new ScheduleImpl(aZone);
8 x' s/ b$ A' P& [* w: @% V try {3 F9 @$ R1 n. o5 x
Selector agentSel = new Selector(Agent.class, "agentStep", false);1 O. t" h1 o" q' {0 F
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行4 O6 m. e7 N0 W0 U
+ @! `' U$ R* d9 E/ H" m, A
actionGroup.createActionForEach$message(list, agentSel);
, h* k- h3 o! Z( N4 \" R$ n actionGroup.createActionTo$message(this, swarmSel);% A7 c; g. V0 C' ?9 z! m
schedule.at$createAction(0, actionGroup);1 Y4 k) ~. d) F( |$ z& }2 ~
schedule.at$createAction(1, actionGroup);% I b3 }3 I$ Q, F0 q- C
schedule.at$createAction(2, actionGroup);' X/ N% H0 G, S5 i' s% L5 U
# c+ F3 \/ M& I. F1 k } catch (Exception e) {
_" h ~$ ~& V+ ]5 ~ e.printStackTrace(System.err);
; }7 i% r$ u* s/ \ //System.out.println(e);
5 Z; ` ?0 [' a" A System.exit(1);
: e7 J; B7 Z- M: x }& u$ b+ q- f3 E( P. i/ _
/ p5 h# @1 T1 E/ x+ U u- a
; l: B$ ?, q1 B9 G2 D9 f
}
- j- M; |+ Q( s' L: E8 [
6 m. Z8 |, c1 m5 u. M private void swarmSetp() {
0 d' i" s* k9 O; ` list.addLast(new Agent(Id));
4 G6 t6 y7 f1 \6 m* ^8 m% p3 c Id++;7 B8 a2 F, |6 b/ C2 u+ A1 G. k
}
& O8 [! c0 v4 i$ C3 E" [9 f9 w+ M
5 M& N1 Y k/ _$ K' R( N public Activity activateIn(Swarm context) {6 V& ?6 r1 ?. X% H& I% N
super.activateIn(context);
0 ~7 D6 U0 Q4 }/ Z schedule.activateIn(this);! S; Y8 c, _' t/ Y1 c2 S
return getActivity();! W6 j7 O# A6 A6 W
}
2 K( a5 }8 f% m
" b, J9 P" l* \# { public static void main(String[] args) {, b6 Z* Z0 O# }
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
r2 h( l7 n1 ^2 V Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);$ V$ G9 {1 i7 E; D+ O- l f9 s
swarms.buildObjects();" [& X, |5 O" i2 j
swarms.buildActions();
" f$ I' R) z) e! ?, a2 L. W: ? swarms.activateIn(null).run();9 [0 \ t% C- \* \* o+ G# B
}
" q9 c* C+ x# |( ^, c, h
& ]% ]5 ]6 y) S( `: ^' v/ P* {. G0 N} |
|