|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
) g% g. N: O' f/ e1 A8 P; c
) A- S5 h$ ?, V+ G本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' A# R) O: F2 [. V以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.& I/ o) ~5 e% B e* o
swarm.SignatureNotFoundException. [8 h; T! L. e
at swarm.Selector.<init>(Selector.java:76)
) G. n L# T% U. S* m at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
. V! U0 n t3 C* X9 q& T4 x' | at ActionGroupDemo.main(ActionGroupDemo.java:67)0 d0 ?* I) v. k# `4 T" a3 q
2 G- ]) F: W7 i1 s; Q' k, v7 r. Y
; ]9 n1 z3 n5 I$ e7 B: \. ?import swarm.objectbase.SwarmImpl;# }9 Y! x, Q7 T& c' E
import swarm.objectbase.Swarm;; d, a6 f" u% R3 |' S; w- C
import swarm.activity.ScheduleImpl;
' M" Q! l5 {2 |/ W# Pimport swarm.activity.Activity;
' |! ^& W% C: Q3 o$ Fimport swarm.activity.ActionGroupImpl;* @; Y/ \4 k. x0 a0 G
import swarm.collections.ListImpl;% }$ |$ ^/ m9 A" J
import swarm.defobj.Zone;
, V5 b4 Q9 Y9 `3 b* aimport swarm.Globals;5 x2 D, S- R# I2 T8 Y: q0 ]) Z
import swarm.Selector;
% c) O$ e- L, f' j; H4 r( S6 Qimport swarm.activity.ActionGroup; ) Q! C. a7 c7 I5 ], ~
class Agent {& n# n3 P% i5 q$ D8 g$ Y9 `
char id;% ^5 \) E9 c+ _6 w0 R
+ @# ~0 @& a9 K: f( j4 R4 Y
Agent(char id) {; J* m5 s e8 G2 z- B0 ~7 h/ H' L
this.id = id;
* ], X6 w" v% D2 q& A }# y8 y8 j! e. Y4 d8 i- z5 M
+ }7 Z# i. Y& W) ^9 B5 M public void agentStep() {) B2 m$ z) U5 C; e' k. X8 J* w
System.out.println(id + ":" + Globals.env.getCurrentTime());, y6 w: X3 v, }8 T$ w
}
* G* R$ M# j H" W3 o}5 k. W% N D y L# c- ?7 `
/ ^2 ]. M f8 ^% ~: C
public class ActionGroupDemo extends SwarmImpl {7 Z& `7 ~0 |8 L% [
ScheduleImpl schedule;" b, L8 A# r2 V! B Q4 T, o
ActionGroupImpl actionGroup;
" l7 }6 ~# I9 t" O2 s; Q3 q4 L ListImpl list;
6 N* W, E! t. V- a0 M char Id = 'a'; v8 v. Y" g, J, C) j
3 M( q6 C' {; d n8 l ActionGroupDemo(Zone aZone) {
. ^' j7 D4 `+ x super(aZone);: F: S9 q0 {+ A' W
list = new ListImpl(aZone);& D* X" m0 L+ j: c; w% \* b2 T
swarmSetp();
0 v+ W( n6 r: @# n0 t) j actionGroup = new ActionGroupImpl(aZone);9 Z$ T2 Y7 v5 L) M) f
schedule = new ScheduleImpl(aZone);
- c, i0 q& U# g, y) [/ Y. N6 P try {$ _3 f0 k. x) M7 f
Selector agentSel = new Selector(Agent.class, "agentStep", false);8 [' S. c. z, h; i
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行9 ^6 l& }7 @) L
# U5 I7 I* e2 J+ i actionGroup.createActionForEach$message(list, agentSel);! d( w( p+ O1 O: `, P+ j. i
actionGroup.createActionTo$message(this, swarmSel);
& D& ^! b% C3 B1 a schedule.at$createAction(0, actionGroup);
& f: @) [0 I7 O, h schedule.at$createAction(1, actionGroup);
1 u0 v8 A% J3 y* O' t( d8 Q schedule.at$createAction(2, actionGroup); E. S K* M% t* S2 J }) t5 b" S
' C& n9 d8 ]1 Y6 x+ [# m& p; X L
} catch (Exception e) {$ B, ]8 E7 e, e2 I
e.printStackTrace(System.err);
: ]3 ]4 n% h7 b) f* V7 J$ ~0 d& W //System.out.println(e);
0 z: a# e6 X" d! N: T System.exit(1);
% ]" V; y3 Q$ x) ?3 O% |. A2 A6 J( { }
" x% l! b- p* Y, @9 K
) m9 Y1 a) k2 ^- p" s, ^) W9 a0 f
}. h: j- F- }3 [; o L3 l4 o
s2 ^2 k3 K8 O3 W, P' I
private void swarmSetp() {
- n9 f1 t2 o: E list.addLast(new Agent(Id));) i F$ _6 t; C! F# b# ~; F
Id++;; Q. y' x* r/ j S. g1 e" b
}! B T6 K5 O" r& j
% _! U" B, s6 z1 V8 }: ? public Activity activateIn(Swarm context) {" U9 m- J0 \$ P; {; v( C
super.activateIn(context);
! V' b, ~: M4 G& |* x schedule.activateIn(this);
* N9 V/ }2 }0 e return getActivity();
0 V$ c7 T8 I/ B4 O- C* q }4 t% c6 S R; {
8 {9 Q+ M* B7 i0 N& d- d T
public static void main(String[] args) {
6 p5 K Z, ?8 T; M' C- } Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
$ j$ ?+ ?4 |, x1 F" d5 \ Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 q Y# G( d- E% x; x
swarms.buildObjects();
# O7 x3 m1 W% Q' {, W swarms.buildActions();9 I4 p+ _. A% o& E4 ] f$ S
swarms.activateIn(null).run();4 r9 q5 n% I$ {7 _" Q' L
}
% g9 n4 f% _) |' {3 s" X8 I4 ]- N& Q; v
} |
|