|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( T k* U: Y) k! j) t9 n
1 r2 u# }! ]( A& o本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21* n1 J! Z, J" s) |+ t5 b/ ]: |
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
: w1 }- V( G Qswarm.SignatureNotFoundException
# e0 E2 Y) F; Y' _ at swarm.Selector.<init>(Selector.java:76); q; ~4 X8 G5 [
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
4 _1 I) W; j& A; I at ActionGroupDemo.main(ActionGroupDemo.java:67)2 \. W$ y2 I9 }6 ?- s1 I# n+ C. Z4 ^
4 j6 h) h- z3 ~$ B( Q4 V5 R: B4 O7 C$ s" h5 n5 o( W5 J0 |
import swarm.objectbase.SwarmImpl;
% V" a/ R$ z3 l2 dimport swarm.objectbase.Swarm;8 t% c! h" T* W
import swarm.activity.ScheduleImpl;
* [- [# r! ^) a5 h- S2 {0 b3 p$ Yimport swarm.activity.Activity;
+ U& M7 q: U$ Q' H6 L" w" fimport swarm.activity.ActionGroupImpl;
: W# W+ r+ l) ^8 @import swarm.collections.ListImpl;
. ^2 x! ~; U% j( T' a4 }& U0 rimport swarm.defobj.Zone; 9 l" o4 W# I, K. c* q6 b+ p
import swarm.Globals;' |6 T3 E! }2 o' Z) Z: X
import swarm.Selector;! ?3 |* w3 A% k
import swarm.activity.ActionGroup; 1 H: N* u8 v8 H' v0 D
class Agent {
4 S2 U0 O! {: l char id;& K" g$ h' d3 l8 z2 a4 Q5 a
y3 {5 J) W/ |. y$ ^, @ Agent(char id) {
5 n7 {$ e# M; o1 b: l3 {; Q this.id = id;$ e: u3 E: M+ X' R" n9 K. ^. T
}! b1 c6 n6 O% r* l6 g% J* z+ ^
$ z! [( b3 a, K) ~+ J. t+ m0 I public void agentStep() {1 Z- p3 e0 _4 ]3 P9 s9 q1 W
System.out.println(id + ":" + Globals.env.getCurrentTime());
/ d7 J# u9 b( p }
# q" i2 [5 N$ H$ ?, W4 B}. u7 N7 m. g' [
0 A P* A! b5 }0 z9 w8 \$ d4 ?public class ActionGroupDemo extends SwarmImpl {
# e3 L! o4 b8 t ScheduleImpl schedule;
' X& e% t, X; \4 ?; I ActionGroupImpl actionGroup;
/ h: `3 F$ [# z( ] ListImpl list;' j: X8 @, ~& ~: o( d9 F
char Id = 'a';
0 P* J( a X5 t0 h. ^" O. S
, a) R! V- ?6 }9 ~2 e/ L ActionGroupDemo(Zone aZone) {
4 `, |' x2 m" `" u$ {) P super(aZone);
- r4 o) m4 C2 @* I y9 T list = new ListImpl(aZone);
$ Q. D2 K; b% m1 t: P swarmSetp();+ i1 q0 }: E) w: W
actionGroup = new ActionGroupImpl(aZone);; Y- H" n8 k" E4 W0 Z( y
schedule = new ScheduleImpl(aZone);
) ~' h0 |+ Z5 l1 o try {7 s8 W5 x, y! `) I5 E
Selector agentSel = new Selector(Agent.class, "agentStep", false);
9 U! }/ F6 u$ J' e* G Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) s2 a$ d1 T0 J, K
7 h$ K- i# Y/ F% ^. ? actionGroup.createActionForEach$message(list, agentSel);8 _9 G" Z9 Y9 c
actionGroup.createActionTo$message(this, swarmSel);' L1 b' J) N1 W, I7 r
schedule.at$createAction(0, actionGroup);: t- z$ c- G$ |3 g7 g+ j( \
schedule.at$createAction(1, actionGroup);
! s) y$ ~; j$ U# C# r schedule.at$createAction(2, actionGroup);
$ b& s1 l' Q! _7 S0 b' b3 r
8 J( u( }) d; I# v } catch (Exception e) {; C* A+ o/ c, ~5 S# X) j+ D
e.printStackTrace(System.err);2 s: m9 p4 n; q3 t4 c" ^6 @, y
//System.out.println(e);
3 k; }6 m9 Q5 [' T( j System.exit(1);) `6 W! E9 i6 o7 f3 p; V( p
}: k; Z" `' E3 ~, m
; S% O0 r, K( s- x t* |0 ^: q( u; w, e# U" `- r5 B% ?! b
}# O& X/ W5 h* l4 `) t- `
) o2 v* r( i& E: Z) j/ m! o private void swarmSetp() {! x3 R/ j! C" v' A d- M5 i$ t& n
list.addLast(new Agent(Id));- o" W" M% D8 T7 S
Id++;+ R5 Y. A$ Z9 x C
}
D5 G5 k& t. P: W& I7 y# f- }* q! K. C& J$ [; T
public Activity activateIn(Swarm context) {- k1 B9 n! k7 j3 {
super.activateIn(context);7 w. N0 U0 c) ?$ J
schedule.activateIn(this);0 D! ?$ X8 Y# q: Q
return getActivity();: N4 v. Z; N3 k$ Q7 a0 K- R& P% E, G; q" b
}) V; i' G+ x2 ]6 ~7 g
" @$ M& x/ L/ v5 k6 ?- Q& W$ P public static void main(String[] args) {
5 Q# l& h+ X2 O( J. I Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 n$ \5 M: r$ G7 n$ h
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
1 j% e' D) y# u) Y3 \4 D, N swarms.buildObjects();) ?1 m7 H. p: c2 T
swarms.buildActions();0 O3 |/ x# t( Y* y
swarms.activateIn(null).run();
$ A$ S2 C0 d/ _7 Q. P% E. r }
3 N9 x. \7 D6 G% R6 l
' r( k3 X. m+ I/ r) G3 K} |
|