|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% n$ F2 I: I7 @- T+ y# c# Y
" F2 D) C7 s6 L- J# P! B本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
$ V/ D( w' V+ h7 N& H8 _, C6 t1 `以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
) I0 j ~! m% }/ `swarm.SignatureNotFoundException
0 S0 j- Z6 H! Z0 S* \0 c, Z at swarm.Selector.<init>(Selector.java:76)
N4 t% ~$ Q+ \4 L5 T: _" @! e, \ at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
* M2 M7 H2 g" W5 j+ x) Y at ActionGroupDemo.main(ActionGroupDemo.java:67)
( q( R: b0 R# ~) j; Q3 @, C, d) y
& R# }1 p% N0 o8 c/ G2 L8 iimport swarm.objectbase.SwarmImpl;
1 r4 E# Z& I$ Himport swarm.objectbase.Swarm;
9 x. M O$ d; T, Aimport swarm.activity.ScheduleImpl;
' w, e+ B! o: vimport swarm.activity.Activity;
7 ] k( h" W& } ?$ E+ z+ k3 Nimport swarm.activity.ActionGroupImpl;
9 Z- u" M" ]4 Cimport swarm.collections.ListImpl;
/ k: A" c; H$ @$ i/ ]import swarm.defobj.Zone;
* J5 e( c( m# ^# y0 f8 wimport swarm.Globals;3 S" Z7 W8 e( [: [5 ^
import swarm.Selector;
+ w/ o; B) \% R4 Y! `/ gimport swarm.activity.ActionGroup; ; I) T! E0 o% Z, U2 ? q) ^
class Agent {
3 Z' U5 G- O& p" C7 L( a+ D char id;& Q5 u: B! V$ S9 v, E7 g: m% A8 ?
5 `; x" A) w& l; b2 m8 ^9 W* A- h
Agent(char id) {1 u I& M0 Y2 V: `# s: i
this.id = id;/ u- c! }% c5 a7 v/ `
}
' s* x3 x. o x: [$ X" A
. d+ K+ E$ T& Z public void agentStep() {
) r/ L5 w9 T5 o- u0 h/ x System.out.println(id + ":" + Globals.env.getCurrentTime());
/ B+ r: k+ d' j, W } U; Q6 A+ l I) }
}
2 W/ m# n, {. t# W+ G: J) s4 R k; L. l' H) n1 I3 Y+ D- b$ u8 |
public class ActionGroupDemo extends SwarmImpl {
- o4 n' g8 _$ Q: Q) ^5 x9 A ScheduleImpl schedule;
3 p6 a+ b& Y7 W: I2 ? ActionGroupImpl actionGroup;
* D8 U; p9 Q. x* ]) h ListImpl list;
( A0 j, {& j- F4 j5 y char Id = 'a';
3 U4 }- y1 V7 y+ r. B- V1 n4 ?% ?2 p) ]7 T) c9 g5 O+ N0 m7 s$ B
ActionGroupDemo(Zone aZone) {
0 o. ]) S( L; m- ?0 J5 J2 O super(aZone);$ L- V6 i7 w0 x! |0 n% f m
list = new ListImpl(aZone); U) \- z, B3 G D
swarmSetp();# s( K2 `) v1 @# {+ k* H! @
actionGroup = new ActionGroupImpl(aZone);, J4 @2 N& I# W/ F0 P. q
schedule = new ScheduleImpl(aZone);' k# W2 s" E$ P4 k1 D
try { L' x1 E O2 A" z/ [) M2 }9 m, Q
Selector agentSel = new Selector(Agent.class, "agentStep", false);
9 ?4 Y, e+ v1 J; b- T! Y6 R7 M Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, P% l2 x: A c e
' z+ X& U1 l1 m- `
actionGroup.createActionForEach$message(list, agentSel);4 h8 Q8 p2 H+ k9 ?7 F5 X
actionGroup.createActionTo$message(this, swarmSel);9 P5 B Z9 W. i5 r# ^
schedule.at$createAction(0, actionGroup);) e' k( G1 z4 d" B. T4 \, V
schedule.at$createAction(1, actionGroup);
5 i, _0 r# O; r* D( }; J' U" d schedule.at$createAction(2, actionGroup);) e! ~' K. S0 y+ Z1 j, h$ {
$ D: p6 c4 s( L. v& C @. p
} catch (Exception e) {1 H# S6 c! o7 p! L5 \
e.printStackTrace(System.err);9 d/ n! W3 c, H; x
//System.out.println(e);
1 Z o4 o' H0 L& A! p6 `' { System.exit(1);/ H) U0 ]2 H: A* A
}
. \- n3 D( L6 A( M, l5 k& L
" r( Y& T! S* i/ m; n$ q8 E9 Y0 ?9 w, k( R. U
}
$ x- T/ w6 y) E5 a' d6 }2 G9 T' I. d5 s9 a+ l6 b
private void swarmSetp() {
; ^! L e/ P# Q$ B' V8 F9 w/ L* y list.addLast(new Agent(Id));
- \3 u' _' i. s) z* O& i Id++;6 r% @* w5 q* E$ I/ A& P
}1 m; O& x a# D! g9 V. b& q# Y
' ^, O5 t% a4 ~, e public Activity activateIn(Swarm context) {5 I% t4 X* l3 L
super.activateIn(context);& T! g8 W8 O! A0 C5 Z
schedule.activateIn(this);' M; y9 O m: @1 T2 ?+ M0 R
return getActivity();
' u$ U0 }0 ^, x+ ?. v1 {; m) ] }) c- N" t) j' \% _4 _
) }* m' a, y* y% g$ Z" d* U public static void main(String[] args) {
: p; G# f$ n5 T) }0 T! [, j, L Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 j6 k% X( N2 f Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);1 W2 S9 ^ f" X* e! `0 s+ Y
swarms.buildObjects();: U8 y4 A+ {+ O: B$ `. W
swarms.buildActions();
6 l7 |1 w$ p1 S2 ]9 I. q$ M* p swarms.activateIn(null).run(); [& y+ a" e* X7 y. X% p# W
}, l6 K" h6 H' o8 R9 V! h* ?
$ m8 o/ a4 Q* \! E6 g
} |
|