|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
, B8 U: Y9 b/ J% o- r8 m3 {
U* ]) L" ^ E本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21' Y6 F( ]3 _1 F! B4 C2 S
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 C: O9 M& z7 m$ P7 ?3 z/ m+ w
swarm.SignatureNotFoundException
/ Y) e5 o. q7 L at swarm.Selector.<init>(Selector.java:76)) i: F; t1 j, H
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)3 p5 ?. D5 l& C5 T& s- A* t- C
at ActionGroupDemo.main(ActionGroupDemo.java:67). z- m3 H/ A0 l+ R7 R
4 \) \% u& s- U6 m3 v# ?
- a! G7 K/ U7 c0 I" o
import swarm.objectbase.SwarmImpl;
' B- ]4 M0 B, Simport swarm.objectbase.Swarm;
0 e" e0 x0 c) _' Cimport swarm.activity.ScheduleImpl;
* h, R' z- X# mimport swarm.activity.Activity;
3 Y4 Q5 @8 N$ o5 m' y2 o+ Oimport swarm.activity.ActionGroupImpl;' `( p5 ^1 b( H& M; ^
import swarm.collections.ListImpl;
( Z# F9 ~, B/ s' F1 c W# z4 u- Uimport swarm.defobj.Zone;
1 [" Y# F. a- Q0 y, ?! ~& h; Timport swarm.Globals;
4 |( r. }% h6 ?, d7 Dimport swarm.Selector;" R1 j- ?0 \, F8 K7 f/ T4 z
import swarm.activity.ActionGroup; 6 C% e6 w% p% u: G; U/ q
class Agent {6 _ T7 ^( h0 T% k
char id;8 a" H8 I& ~5 r7 Z- D8 l8 k
5 a0 S0 m, u9 d2 G) j7 I
Agent(char id) {. r" c& V4 V, t7 {+ H4 j8 O
this.id = id;6 }) }/ X- x0 ^) @
}/ [) ]- O8 X! D- \, o
( t8 q k9 l) {* j
public void agentStep() {* l5 u" W, Y3 r% j% s! g7 H& i
System.out.println(id + ":" + Globals.env.getCurrentTime());
3 m, z9 @" I0 K t! Y }
, c9 M' ?+ j R4 W7 L! Z}& H7 e1 \/ E* z7 f) i+ L9 c
( F$ l) v" Y+ |8 [5 t" jpublic class ActionGroupDemo extends SwarmImpl {
5 }* d+ z5 R4 @2 [: h U- S# s ScheduleImpl schedule;
- q/ V+ y8 b. c8 S, V ActionGroupImpl actionGroup;
( u( b$ J3 [8 z3 I7 C9 ?+ J ListImpl list;
0 p! |. s: w- m3 G) X% u char Id = 'a';2 @! m2 G7 ^% _" `
# L2 S$ |1 I4 |$ s3 Q& m1 u$ a o
ActionGroupDemo(Zone aZone) {
/ R9 l; Q1 P$ M. A, Z) ^4 F super(aZone);: @; d6 h* B! \, q/ l# X
list = new ListImpl(aZone);
9 @! s4 ` C- s2 N9 u( [8 g8 d swarmSetp();6 g# q( f+ ?+ n" r; p9 r
actionGroup = new ActionGroupImpl(aZone);, K1 \. `. b! ^
schedule = new ScheduleImpl(aZone);* Q: I$ L0 Y/ p# l
try {+ S1 B3 b; U$ ?; Y, I: x
Selector agentSel = new Selector(Agent.class, "agentStep", false);6 R) z: C. n2 J; E3 W0 `4 D, ?2 r/ r
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
# j% P$ h. P9 } a6 c* S: j9 q
r# |6 x: ?: p' V1 x8 h* ?$ W actionGroup.createActionForEach$message(list, agentSel);
3 l. y& S& g4 W7 O/ A actionGroup.createActionTo$message(this, swarmSel);
) y! f2 N7 R3 P7 q schedule.at$createAction(0, actionGroup);
+ V+ q G# F' K i; ^* q schedule.at$createAction(1, actionGroup);2 e p& J( s. J& ~2 I" u4 H1 M
schedule.at$createAction(2, actionGroup);$ y4 N M5 n' u5 p
5 g% _" |( Q' S/ w3 b# u. A } catch (Exception e) {
( S0 i3 g, K5 N3 R e.printStackTrace(System.err);* g! b3 W" S9 u V1 O2 e
//System.out.println(e);. m, x$ J, c2 a9 E5 S9 g4 `
System.exit(1);
& @+ D2 E# X t6 r0 R$ w4 J' T }" S! }. A4 ~) }) z0 {8 @( R8 x
% a/ T8 E U! p. c- i( A4 f
# c: n0 V1 @* X: o+ j! n }
2 y# I) }5 T2 y ~; w1 [4 X8 I2 J: f& S- x: \3 B6 v
private void swarmSetp() {
' b$ X% p |2 |2 O/ ?+ Z- O0 S list.addLast(new Agent(Id));
( x% `9 Q" N7 s5 B1 ?/ Z: H/ s Id++;
1 ~9 ?9 C# Q$ v% _ }1 ]- t7 z- i" D. F/ G& R. X
3 \! Y$ k! f3 R$ V! t' g; o4 ~2 c public Activity activateIn(Swarm context) {
3 n6 d, W+ R: q super.activateIn(context);3 h) p; h2 I# e5 [; x0 ]& [
schedule.activateIn(this);6 O6 @- X/ j1 p
return getActivity();
: \1 Z b0 J7 t" N: A2 ~* J% y5 \ }4 P' d' A" f0 ?" q( l5 q) {/ _, j/ G
6 P5 |1 z# O; p- ~' N0 u# r8 S4 \$ R public static void main(String[] args) {; _" o6 y, a* ?7 h& l
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
G+ @! ?( R U2 j, x. Y8 z: C Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);: c. Q5 C/ f' D8 W% b
swarms.buildObjects();# y) w0 ^. b, c M: x
swarms.buildActions();
# |5 y5 e' W9 a+ U# y- j7 p swarms.activateIn(null).run();4 p+ C6 y2 f V7 r. P# M. k
}: y' t( I+ @8 m8 Q/ Z: D" g r( `
1 d) {2 {: G. w' D; _, h
} |
|