|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. G+ ~: c7 n& H% Y5 u. f/ x. c6 D% ?' @
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
8 J5 @" G7 ~5 D' Z% g以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激., w9 v% `) H4 Y% ]3 f$ q
swarm.SignatureNotFoundException, L( Q5 Q8 `, N# y
at swarm.Selector.<init>(Selector.java:76)/ v8 x3 S' i3 L V y# D" i& T
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 A% ^. N1 @. y$ D6 t) h6 ?$ B5 Y at ActionGroupDemo.main(ActionGroupDemo.java:67)
% d9 R% c: o9 |! X" t
$ D# n0 a& r/ V- e; }" ]7 w/ F6 O- E c# j/ H0 c. M
import swarm.objectbase.SwarmImpl;
. s/ U( F9 A1 q- gimport swarm.objectbase.Swarm;& @5 o8 J+ |" b" J2 [+ c! G! N, ]
import swarm.activity.ScheduleImpl;
! ]/ Y+ z' s5 W, o0 f' t6 nimport swarm.activity.Activity;
# K) f' a2 x4 N1 A) I5 rimport swarm.activity.ActionGroupImpl;
" `" i0 t5 D# X; x) Cimport swarm.collections.ListImpl;8 m6 _3 K. `5 G1 ^
import swarm.defobj.Zone;
: s' I M# n6 Y* ^6 \8 Z% L' J3 Bimport swarm.Globals;
! j9 A4 S5 z. Timport swarm.Selector;
7 f$ i6 Y9 B' i7 simport swarm.activity.ActionGroup;
" u# R2 M, X7 q+ Bclass Agent {# [2 B& Q+ i+ O6 b4 L' B
char id;# s8 l% A: j1 m2 w; D$ W
, C5 ~8 O( X1 p2 r l Agent(char id) {
" T6 _1 u N% H, M this.id = id;
! U: c. ]4 J9 a/ C }& g6 s* j, M# z. `
; i; X3 W1 P. s8 I6 P" x9 ~+ B# A# T& f public void agentStep() { K+ ?$ \$ n& d5 a6 U C
System.out.println(id + ":" + Globals.env.getCurrentTime());! x; m/ b- ~4 v7 u! X# c0 b% @
}
0 t: R% k2 K1 _9 P% P8 x$ P}/ o( P+ o1 `9 R% s! j8 B
) L5 ], l( u5 p2 l. O; l) b" f opublic class ActionGroupDemo extends SwarmImpl {
+ G2 m+ M& x9 c/ p" J6 N! C% \: _% p1 S ScheduleImpl schedule;( w: c' v: a2 D3 A: _) O" E
ActionGroupImpl actionGroup;
. ?3 P& O* ~: u ListImpl list;4 n( `/ D! k2 v: \: I0 b
char Id = 'a';8 j# k( f2 c) K. O% Q
- Y: T/ c( M* G+ ]" p a ActionGroupDemo(Zone aZone) {# N! ]- C l1 E8 B- \5 {0 a
super(aZone);8 b% C( U! r9 ]0 e( q& D% B. g
list = new ListImpl(aZone);6 I9 d8 N, d* t$ C5 N6 T
swarmSetp();8 x! O7 p! U+ L
actionGroup = new ActionGroupImpl(aZone);# R5 T' c% @# y$ Z7 `7 t8 K$ T7 m1 D" u
schedule = new ScheduleImpl(aZone);
/ m2 [+ s' h7 H& i try {' R+ ^: H$ o% `$ G- s, H. U
Selector agentSel = new Selector(Agent.class, "agentStep", false);
( Y5 U/ L: {2 V+ H+ c* Y Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
8 a x3 s) a# V4 f: y) V. z, x
* G/ v2 Z- R0 c actionGroup.createActionForEach$message(list, agentSel);
& V/ @2 a$ v9 H, W$ X& l actionGroup.createActionTo$message(this, swarmSel);; T+ y9 R! X) P
schedule.at$createAction(0, actionGroup);" B7 p& U% l- m$ F5 g* e' @
schedule.at$createAction(1, actionGroup);
6 s; {; ~9 G, j( L: k) {: D/ s" g schedule.at$createAction(2, actionGroup);& J+ F7 C% b7 z% \. i# j. ]
) X2 y! T( ^! w* ~8 @, t. D, H
} catch (Exception e) {& g7 F @: F2 G
e.printStackTrace(System.err);
$ G1 c7 S0 C1 G- g; r* b) \5 n! ] //System.out.println(e); r2 }6 I% k: Q' d4 s
System.exit(1);
% K* W/ F9 }, I }5 d2 b6 w; v1 Y' j1 m8 j9 Y8 f: n2 O9 q
, W$ ?' B9 Y- J' k0 M- _
0 _( V' }8 c1 n/ B, E s
}
1 o, q" b! {# p9 r. o! M- [- p5 o# s8 V; `% W
private void swarmSetp() {
/ E0 }7 `# G5 n+ n: ] list.addLast(new Agent(Id));) ]; A8 l6 Y* U
Id++;
7 ?! T, b. |4 U3 P- }/ V$ [ }: u1 R6 V% b, E; m6 i* {& i
7 R) O T2 i: o0 V7 I5 I+ g: j( M1 \ public Activity activateIn(Swarm context) {/ O, {8 h1 M6 A- C2 f& ~, u
super.activateIn(context);* I! B/ l2 u( t8 f3 j5 K
schedule.activateIn(this);
0 o) V' |+ V/ z# `0 I; e# u return getActivity();7 X+ G# @! f5 K5 Z$ |/ Y+ U+ n3 o$ n
}
& v# M9 s9 j$ Y$ {5 f$ G) ^( ]; M6 ?& R1 ~9 u. j B& c
public static void main(String[] args) {
2 Y# a" U1 k1 V" G/ L" Y3 R/ e Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
: i6 P2 S2 I" p4 ]! m) w; ]# j Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);5 u1 k7 r# W T7 Q8 J& P8 L
swarms.buildObjects();7 f8 ] c# ^+ C$ m0 ^1 ~
swarms.buildActions();' R Y% u6 N5 ]& J
swarms.activateIn(null).run();
% h' t1 F8 r+ W1 I4 c }
; N* D+ ?; n5 V2 S
: T( ]/ G L( M. s3 R1 n4 q} |
|