|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
' l0 h, Q1 u; A/ x' s2 L
/ ~# b% R' `2 C8 U# @本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update211 `* ^4 l) ]4 R) |" g% I9 |* Q/ S
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
8 v& a" q6 n4 q) q7 pswarm.SignatureNotFoundException
d: g: Q3 K9 Y at swarm.Selector.<init>(Selector.java:76)% s/ W# j5 L& @ q% A% V
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 D0 i" ~ m4 \" ?: ?! {, L
at ActionGroupDemo.main(ActionGroupDemo.java:67)% {6 [- h; N: z
/ v: Z* h3 W% F4 A
+ w, U/ H& n) O4 k: e/ ]/ r& K
import swarm.objectbase.SwarmImpl;$ {+ Q9 g; M- P0 l' h/ L
import swarm.objectbase.Swarm;0 k E7 T8 ~, j. i7 H! O! ]
import swarm.activity.ScheduleImpl;: l7 [9 |& y6 m; t. \' K
import swarm.activity.Activity;
9 t) o! }9 K" m. h( Ximport swarm.activity.ActionGroupImpl;
5 S2 a6 t- ?, F6 P* gimport swarm.collections.ListImpl;& t; c" r0 g1 |4 ]
import swarm.defobj.Zone;
4 i) h1 W9 C" ~/ f' y% V2 t8 k, z4 z5 Gimport swarm.Globals;- G9 i; V. h! r8 j! e: B0 k) ^" `
import swarm.Selector;
& I g" k* F$ gimport swarm.activity.ActionGroup; : S* X- Q) i5 X4 z0 o0 _! V. ^
class Agent {
/ l8 N+ I+ i( Z) A$ B9 G# ~) `: k char id;2 o& K5 `& ?" Y/ c9 @" P7 ^
% k3 z2 u; ]$ y; x0 z" P Agent(char id) {
$ Q, a' {- P, h6 m& j G9 u7 f$ n this.id = id;
. f* G8 |# Q' {( C, k% S2 y) z }
4 A9 m" e, S; K3 @- w4 I9 o3 d x) W6 ?7 t
public void agentStep() {* U- Y! `* D" ~" s& U# l5 J
System.out.println(id + ":" + Globals.env.getCurrentTime());
7 a: x8 O& |5 ?$ {5 ~ o }
* P; W& o6 ~2 P; f}
7 K( n4 ~+ K k& T; y- c# y. D9 X: y H
6 ^% W5 M+ c, G3 J' c& ^public class ActionGroupDemo extends SwarmImpl {; T$ i, z( G- C
ScheduleImpl schedule;/ }* |+ w# N0 n# @& b9 C
ActionGroupImpl actionGroup;
' L; ?* r/ ]: p ListImpl list;8 o1 @% o }( A1 W2 l D' }$ s3 [, B
char Id = 'a';
* `* ~- O: E0 M9 _" E1 t! ~ W$ M( \# d% `
ActionGroupDemo(Zone aZone) {: M7 T ~6 U( R3 }" N
super(aZone);
, u: K* W" _0 M' y list = new ListImpl(aZone);
, u5 `! v! l- t* ?7 Z& |6 U) ^, a swarmSetp();- y. p; g1 W4 F
actionGroup = new ActionGroupImpl(aZone);: T* i/ z7 T9 M& V* ^' X+ u
schedule = new ScheduleImpl(aZone);
6 j, A" _# V- T try {' Z) f0 b$ u! j. P4 n
Selector agentSel = new Selector(Agent.class, "agentStep", false);
9 b: h8 x4 H4 H$ q Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行9 C. @; B o$ b" L
% `/ A' G. I0 T) U actionGroup.createActionForEach$message(list, agentSel);# q1 D+ Z' R' ]- t S T
actionGroup.createActionTo$message(this, swarmSel);
0 \6 x# e' D6 w' j: f r4 C/ n' `5 g schedule.at$createAction(0, actionGroup);
& Y) h' S! E4 |3 ?- f schedule.at$createAction(1, actionGroup);' ~; t0 M8 _5 E9 }
schedule.at$createAction(2, actionGroup);
2 W6 S2 \9 j" }1 Q7 e0 ^* I* I. r) m0 E6 u8 t3 X. E
} catch (Exception e) {
: B) p- k, {: l8 X: q, t Y5 U. i e.printStackTrace(System.err);# g1 X- g* T5 y" x3 }9 `8 ~
//System.out.println(e);
& g& m- R: z3 ^/ H% W$ }- Q( b System.exit(1);
5 g5 m l1 _2 p: ^% }. o6 u }: t/ R% j, U% C9 a, `
% W: c* D, I# [0 H
/ W* F, w+ Y$ [) s. z9 H R0 K
}
3 n0 Y4 @! |) e& H' `( b0 J+ B+ r( K7 L! D. m
private void swarmSetp() {
4 M8 {: J" Y* R- u- K5 r$ F list.addLast(new Agent(Id));
; P8 @9 N. ]2 s! S/ y3 g Id++;' Q9 W/ K( J! l
}
3 f, I- i$ v1 {/ X, H9 w' _: Y% z
: Z0 s0 ^6 R- y3 O% Z public Activity activateIn(Swarm context) {
$ T7 D( r& K$ g$ s+ n, ~ super.activateIn(context);
" F9 K( a# S- D2 Y* D9 f$ ^8 \" j schedule.activateIn(this);( l/ w5 l, l( J7 L# \. p
return getActivity();
& v, r7 N& G) Y8 x3 C }
+ A) S# x x6 N
: t2 [# g6 F3 w$ l& ~: M public static void main(String[] args) {
% d, _- M2 x3 U Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 K( L, v( L6 d; h5 ]0 ] Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);6 m! ~$ [1 G, U) d/ Y
swarms.buildObjects();! Y( M% W/ Z" B
swarms.buildActions();
6 F1 Q) u F2 \, ? swarms.activateIn(null).run();3 h) ]" h* y( u; D2 d4 S
}
, F$ _9 Y8 z! v3 J) J) G7 d; u! ]/ |
& n# }- H0 g! n} |
|