|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % i7 b8 b' s* Z0 W, m
4 }2 t' n5 y( B本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21+ l; G7 e" n* \" W
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.9 F: Q; v, y! c% C* C. q
swarm.SignatureNotFoundException
% T$ \% _1 \% ?# y W at swarm.Selector.<init>(Selector.java:76)
q5 R" [1 W9 g" M at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 ? v" T/ y( G" K4 \$ T$ L5 o7 ^ at ActionGroupDemo.main(ActionGroupDemo.java:67); p4 G# n- ^- k) z7 l: F. }# W
/ `( f& s, x: y" M
' `, P# m- n V# R. M0 w
import swarm.objectbase.SwarmImpl;
& l1 h: ]' E3 {; ?3 Q3 ?import swarm.objectbase.Swarm;
$ y0 _ B9 `6 [; h9 \import swarm.activity.ScheduleImpl;1 @& I& c6 }; d6 i
import swarm.activity.Activity;
( \; o: s Q2 V- @, Ximport swarm.activity.ActionGroupImpl;3 L3 w; |/ r. Q) v k1 {/ \
import swarm.collections.ListImpl;6 |3 Q$ U" I. y1 p$ y2 }
import swarm.defobj.Zone;
7 g: Q- `( v3 K* G4 y9 timport swarm.Globals;
0 T) C- R& P& m( j6 U# @* `1 z" `import swarm.Selector;
" ]( A! \/ g0 @/ W8 O; cimport swarm.activity.ActionGroup; + R: ^ I* X' }2 A" T
class Agent {5 h; k, h, m' v
char id;! Z; I* S2 Z% u' B9 \
6 n' N; @& O9 g ` Agent(char id) {
7 O7 A# p9 u( R" s0 M this.id = id;( ^2 `& L2 V l, A" u
}
) E- ^; Z# g' U- K9 }6 M% r# x- G& @" R. @+ m1 I: o
public void agentStep() {2 C& I! C, Z& Q- V% G8 A- W
System.out.println(id + ":" + Globals.env.getCurrentTime());
1 P& b3 f& {2 f7 @ }$ B# J& w( q9 \ P
}
! g3 F3 v' p! ]) `/ \- a2 N/ D( S5 l7 e1 f
public class ActionGroupDemo extends SwarmImpl {
( |9 j( j k: r4 g ScheduleImpl schedule;
0 u& F9 V4 P% O; V4 }/ j4 d: T% U ActionGroupImpl actionGroup;
1 c3 k% K7 M% [6 h/ R- ? ListImpl list;
8 q9 B8 u' R4 V7 C! R char Id = 'a';
5 E4 V& P6 V! [" `) b" j2 N8 r1 V. `
( G) J# Q% z) @ ActionGroupDemo(Zone aZone) {
0 \1 J8 P' R( }9 Q+ l- ~3 l- ] super(aZone);
+ J3 ]0 J: x& A/ k0 h list = new ListImpl(aZone);' @& V/ u: t3 \- l& _5 n
swarmSetp();* B) }. K# N3 ~: s% T; w) H
actionGroup = new ActionGroupImpl(aZone);
2 k+ L; Y6 H$ ~3 L0 i' B) l4 ^ schedule = new ScheduleImpl(aZone);
+ f) _ z' j4 y# |) ] try {0 H$ i& m9 I! E0 o( R
Selector agentSel = new Selector(Agent.class, "agentStep", false);! G. Y0 d, Y3 d; [7 I( n
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
( @9 S: r5 q7 b+ N* x" E% i5 Y- V4 Y
6 K: j( \8 D n! Z actionGroup.createActionForEach$message(list, agentSel);
- d/ x6 P% ]* z/ S actionGroup.createActionTo$message(this, swarmSel);( y1 l3 i! I' o
schedule.at$createAction(0, actionGroup);) N2 h* k( g4 {/ u/ W+ ?2 l( X' d
schedule.at$createAction(1, actionGroup);! V( `2 o! G4 E* N \
schedule.at$createAction(2, actionGroup);0 v/ |3 L2 F/ Y2 x% |+ {8 P
1 [, f/ `% C7 X* `7 v; m$ ? } catch (Exception e) {0 Z9 f' k$ |2 u, `! H, ?# F/ B7 |
e.printStackTrace(System.err); m$ g1 O; J7 J* K5 B
//System.out.println(e);# {$ P& i9 y8 \
System.exit(1);/ _2 O3 S; T/ n; |2 g4 u
}
% i. ~7 `: S9 e% I8 a, R) y& t N: L$ A% j% J# M1 ?
7 s7 k% Z1 n& C0 O( ~' }) f
}
% O2 m( ^# U# k4 G6 O( D' P0 J
* o" n) _$ I9 Z9 F& W2 j private void swarmSetp() {: R: @# r/ `1 j% |
list.addLast(new Agent(Id));
9 v9 g Y4 p. s) i Id++;
: s) I( [ g8 X, X1 ? }3 y( b1 P* Y$ Z2 b
8 G. |. N4 a( u* ?6 F8 b4 r0 z public Activity activateIn(Swarm context) {: T) k# x# Y( D, c, I
super.activateIn(context);
: `. W4 t8 b: l% s- R schedule.activateIn(this);: G2 ~' a) d+ H" \0 F9 e$ B
return getActivity();
3 f( Q4 N1 I& w6 h5 m }: u* P7 _& s# K9 V) }" n, G
, Q0 d6 ]9 d- ]" q4 d2 ^% b4 @
public static void main(String[] args) {
! C+ d; \# n1 }% ]$ U, [) ` Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);7 p( E9 w0 Q9 H8 x8 I
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
6 D+ ?) _( Z' ]" V swarms.buildObjects();
0 F+ H7 `3 C: F, a* q swarms.buildActions();
7 m, ~) R5 W2 s swarms.activateIn(null).run();
% R: G1 C5 E+ J }
7 b- n d# f* T1 r/ d6 A+ p4 D- f% s! p7 V# Y8 v( K) q8 B
} |
|