|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . o. l3 s; x; s9 B7 M
1 L7 |# V" y% Q! |: S本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update213 d2 Z1 S! q# X* f
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.( |; A U1 R3 ^
swarm.SignatureNotFoundException( n5 J7 p9 g" j" ]- Y2 N4 q8 o
at swarm.Selector.<init>(Selector.java:76)" p; f& k% _: l, o9 |2 d, y5 O
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)' J# Z9 @" O* `# }, `
at ActionGroupDemo.main(ActionGroupDemo.java:67)8 V& \3 K/ x3 ^
8 l2 T/ J( g! ?# Q% P% A
+ v$ e7 @ B1 A2 z3 y5 l& y
import swarm.objectbase.SwarmImpl;
/ R. a- C: f, qimport swarm.objectbase.Swarm;) L: I# R1 ]. o6 ~$ b: u6 ^
import swarm.activity.ScheduleImpl;
! ?* i* t' ]/ K2 Q8 w! p' nimport swarm.activity.Activity;
* d* O: m1 h0 C) ?import swarm.activity.ActionGroupImpl;) ]. W* R7 J% O1 T
import swarm.collections.ListImpl;0 l# h/ s; o, N/ a' I: K% a; W
import swarm.defobj.Zone; . [- ?1 \; t3 d: p4 A1 |
import swarm.Globals;
/ T; h5 ?7 B3 Vimport swarm.Selector;4 n& f! G; m' U% X
import swarm.activity.ActionGroup;
! J7 J3 X3 Q0 H; F+ ^class Agent {
* F5 D9 r3 K5 B7 w( p9 H# g# G char id;/ P3 ~# \5 c7 b, l d1 M
# H2 x9 x( i! z; p* t6 \" z
Agent(char id) {" n5 A" ~2 i$ h- V! Q
this.id = id;- d& n5 t0 d* I) i+ Z& x* z
}6 G" G5 I1 c$ M7 J+ ?
# X/ {* N1 c* t, r0 ^ public void agentStep() {
8 \0 f) W) j6 u System.out.println(id + ":" + Globals.env.getCurrentTime());% e" d8 N: f. J
}/ N6 _& }" S5 Z% j$ H7 s
}
* I M; A9 e6 t- ^/ k' x
, d3 A* ]! ~) }9 g) v6 ]2 Z/ Npublic class ActionGroupDemo extends SwarmImpl {
6 n4 T2 G) N; w r; q! V" e+ r1 i; o ScheduleImpl schedule;9 S( X. ^$ t4 c! D$ @
ActionGroupImpl actionGroup;7 W. g7 H9 T. g
ListImpl list;
. A0 D5 @0 j9 G: K% h char Id = 'a';' u+ y0 @ ~5 P5 n: {6 F
0 w% z" Z0 K/ D' ^% c ActionGroupDemo(Zone aZone) {
& O9 m" P7 Q* n% r6 }" l& r% \# e super(aZone);, N( j5 i0 ?7 B- v1 ?( r
list = new ListImpl(aZone);
3 p2 T) Q4 Q$ x( j swarmSetp();/ v* r- d# b9 l2 ]
actionGroup = new ActionGroupImpl(aZone);+ |/ o- I& V/ O3 |! P
schedule = new ScheduleImpl(aZone);, A$ z0 b, _' ~: O4 |/ }8 m! a
try {2 v( x) o; C1 E2 L C& J
Selector agentSel = new Selector(Agent.class, "agentStep", false);; |8 i8 G/ `# A; N
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) T; h# f X M. d, D( G
. `3 Z6 f! ^5 W0 J9 F; u- k actionGroup.createActionForEach$message(list, agentSel);
1 b# {6 n [7 K+ E6 s actionGroup.createActionTo$message(this, swarmSel);
# ^3 p7 Y$ T+ H/ G% t. y( t schedule.at$createAction(0, actionGroup);
- w' M/ G; M2 F" { schedule.at$createAction(1, actionGroup);4 G8 ^4 @0 j/ K' I5 z0 E
schedule.at$createAction(2, actionGroup);
0 n( G- e+ |) B9 }( q* P; I
' Y3 B9 G7 p$ v' U9 C } catch (Exception e) {
" z; v L. n6 O& y. Y' D, i2 } e.printStackTrace(System.err);$ o' G: w- A) z& D! n
//System.out.println(e);, U! Z) n1 C) [! k5 ^0 E. A- y3 R+ Y- W
System.exit(1);
! {! V% x# j W0 y& I) u: q/ Q }0 i0 ]7 b; ]! h3 ~
2 p9 l( K0 T% z& l
. Z& J, T9 o+ u- t" ~; j+ u
}
i4 [) I& A) `0 B2 {, Z7 T) p) M1 P8 M2 Q+ `
private void swarmSetp() {7 e7 S5 |4 y+ P* y% v
list.addLast(new Agent(Id));$ y' R0 o- n* }. f" `: _. |
Id++;; N0 q, p* Z& ?4 ~" g# t
}7 l" J+ e8 r. e% a
/ v' H h: z" L/ K7 ]) s
public Activity activateIn(Swarm context) {
, q( D2 ?9 ~! i0 z$ h super.activateIn(context);
5 f: \3 f2 L8 c' ~' Z schedule.activateIn(this);
9 r1 e6 l! Q! u% g* j5 ] return getActivity();
0 x. M( \6 l7 P; a8 U) y: [; x }9 p% m D& F4 U1 J5 N% W
4 u- r+ V" B4 q$ q, t3 b2 q7 K' j
public static void main(String[] args) {
! f& t! e, _( i# H8 J/ \+ H7 ]0 a Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);3 {0 y: d0 b, v' v8 X2 [, {: [
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, k# }' C7 [" X, f swarms.buildObjects();) _* m2 U- C2 X" a0 f& E" J1 v
swarms.buildActions();& X' y( q3 G9 A/ z$ K; u' j2 L( N
swarms.activateIn(null).run();
7 f7 A2 w- q( N }
* ^/ K3 k. P" b1 z% i4 b9 n9 [. f: t# u }/ _" k1 M: `) T5 O
} |
|