|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 & m* \: x: a$ [5 q7 R
* b* f; ~; }- y9 o, b
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update218 R! U+ L F S( x/ S
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ D2 J, [) A, R8 p3 D# P+ u
swarm.SignatureNotFoundException" b9 i1 D% r; A/ t# D! Y
at swarm.Selector.<init>(Selector.java:76)! _5 f3 l. H: z" c) k M
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)8 o. N$ ^" j0 _: O: v0 B
at ActionGroupDemo.main(ActionGroupDemo.java:67)8 O4 i, a% G8 V, S/ G0 b: ^9 P
+ ^: [- U* j. W
- b4 y+ y1 b: }5 N3 Yimport swarm.objectbase.SwarmImpl;
2 G: i. ?9 r0 i4 v1 Zimport swarm.objectbase.Swarm;: J' M$ R; V6 m2 ]3 r! T; ?1 `
import swarm.activity.ScheduleImpl;
% u O3 q0 q2 z* himport swarm.activity.Activity;- ^# X& ]" [# U* p2 i
import swarm.activity.ActionGroupImpl;
& V& o+ c& G7 s! R; I% ?# `import swarm.collections.ListImpl;' X; Z. V5 y4 e. A0 f/ A- v# x
import swarm.defobj.Zone;
+ ~ {- ~4 @+ ]& M$ ^ Iimport swarm.Globals;" L0 B; |$ y# b* n2 ?7 L
import swarm.Selector;, d8 ~1 j0 \( F2 R. n5 `5 f
import swarm.activity.ActionGroup; 1 e3 j" v% }8 A
class Agent {, Z7 L, X2 G* a$ f! p6 p
char id;' W/ N6 G! _; X! q" u
4 S5 \: u8 p: @; X
Agent(char id) {
9 F. _2 G6 I0 a$ a1 r. U this.id = id;
! `. G4 R0 d) m) k. N* p }
; F0 x" m& I4 W% r: _# @" H% U# U$ j7 C7 M
public void agentStep() {: T) i; N- a1 U9 R: }
System.out.println(id + ":" + Globals.env.getCurrentTime());
- }" M; O1 w8 b% G; v }' h9 ?) j5 d6 ~9 T9 v8 h. ?1 D
}
+ e7 P# |! G8 L/ c# |; [4 n* O' d! w. J* a5 W$ W: Z
public class ActionGroupDemo extends SwarmImpl {
# j m& z% ?; w1 U ScheduleImpl schedule;
; l; w9 r0 }6 F4 Q# j- J T% k: d ActionGroupImpl actionGroup;: h# C0 Z* a/ P- g3 ~3 o
ListImpl list; W' N N; S+ `# o
char Id = 'a';! ]. S$ R1 j+ x
7 }- R3 |5 y# `* v8 E1 h- E ActionGroupDemo(Zone aZone) {. y2 a9 \2 A! M) K* ]4 v
super(aZone);
, `! C* C9 g, e) s! B list = new ListImpl(aZone);
% K) p: @0 S' x5 K K% [% j2 N swarmSetp();
r" P) a' W! v actionGroup = new ActionGroupImpl(aZone);
; M2 m: y9 A$ E schedule = new ScheduleImpl(aZone);
7 k" i3 r8 a, q; P7 k. J try {' P# s5 i4 F6 w+ q. B
Selector agentSel = new Selector(Agent.class, "agentStep", false);8 A5 [7 ^) G7 Z
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) ]9 e1 F6 i5 |' U: q4 u' v $ w4 _/ U1 u) s. e( e
actionGroup.createActionForEach$message(list, agentSel);7 u: D& U5 A- G
actionGroup.createActionTo$message(this, swarmSel);4 N$ P, m0 ]+ o
schedule.at$createAction(0, actionGroup);
. K) J# B% O. P _* M/ u schedule.at$createAction(1, actionGroup);9 H% J+ c6 m$ P% L! R$ n* q. z3 I
schedule.at$createAction(2, actionGroup);
/ x' k& ~+ R) M# T& `6 u
5 Q" E' m E4 T+ |0 i& G } catch (Exception e) {+ ?9 O7 U; X' u. ?' d! G
e.printStackTrace(System.err);
% m+ S9 q, h3 M* L; a ^# P //System.out.println(e);2 P( [( P" E# l1 [$ p. U2 g5 @
System.exit(1);
0 u8 r: d& ^, [3 B% T) I8 X- I }% F" E/ L% M A
7 v! c/ A0 Z, A9 e! A0 l; }
" H4 { b9 W6 c, M2 _7 p }
# h3 ^1 c# k9 L: T$ S7 K. Y6 J2 ]1 ^" V# i k0 d B
private void swarmSetp() {
; n9 C' l4 c& O5 ?8 f0 U/ ~) C# a" t) s list.addLast(new Agent(Id));$ y! k4 \& s2 y$ i& H) V# L! S
Id++;6 r5 g6 a) ?8 T# i& z
}! Y- w) j4 V* S8 j q
- C5 i( X* f9 s
public Activity activateIn(Swarm context) {
) V; F8 \' V+ a super.activateIn(context);2 b' [; S% y$ K
schedule.activateIn(this);8 k4 z5 N' }6 X8 Z6 s) t6 O9 P
return getActivity();2 O7 e- V& m& ]0 Z
}
% o0 v9 M5 B% B R# z9 \/ u2 J X5 H# V
public static void main(String[] args) {
7 _' K9 ?' h% i/ z2 Z2 u Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 D8 y9 A d! y2 c# D n1 F0 Z Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, X7 _6 j7 A) k" `7 ]' T# H swarms.buildObjects();
3 l! k$ S1 O/ ]$ g1 j( X! c p B swarms.buildActions();9 k* U! g0 t* t, A- [7 H! ~9 `! {
swarms.activateIn(null).run();
' z; g" [5 j' q' K* S q: G! k7 H }3 X" l9 B! I! }8 w
z4 y) ^ Q0 Y- F} |
|