|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. l: m8 D+ `8 }
* G _: [; f/ P U7 j1 X本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# R6 M3 s) ^0 a ~
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
) M7 h! j2 z `2 r" ?& c, zswarm.SignatureNotFoundException
- s0 |2 f: \0 W* W at swarm.Selector.<init>(Selector.java:76)! E* X2 s" E g2 a# g; N" F
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
0 X% H7 F2 i. s6 t& B1 X at ActionGroupDemo.main(ActionGroupDemo.java:67): f" H- c7 i- u! I. [+ d/ T
9 Y3 j$ ^" d c' f k7 m, q- b+ p
import swarm.objectbase.SwarmImpl;
. y- R! O& _ ~3 r8 V9 T, ~0 @ qimport swarm.objectbase.Swarm;
4 m! c, I' Z" l( Ximport swarm.activity.ScheduleImpl;
* s* m- m1 d7 Q6 ~7 C fimport swarm.activity.Activity;
( R# k) g$ N+ G6 F! limport swarm.activity.ActionGroupImpl;
! U: J( }# @8 l3 P$ c8 m6 ~import swarm.collections.ListImpl;
1 L% l; I7 \- [8 U, s$ [/ Qimport swarm.defobj.Zone; 6 O- f g0 l+ s! m5 c5 E
import swarm.Globals;
L- ^1 ?- [ O5 U8 H! h8 X/ ~6 rimport swarm.Selector;/ m% L( C* O6 d G" I q( U
import swarm.activity.ActionGroup;
1 }& m0 b% h6 M$ [9 E$ L, b% \class Agent {/ {+ l$ h2 i& F
char id;+ B9 X3 r4 u/ t0 U& e2 l6 Q
1 y& l& Z' J% B G& f! N' v Agent(char id) {( M8 q" M; b0 B( T) g1 J- O6 Z; _
this.id = id;: j" N( t* w4 v& X5 @6 N$ H
}
4 s9 I2 R1 D$ U5 ?6 ?( M
1 E7 n0 G9 ~5 v/ c public void agentStep() {
- E; g1 ?3 a- M" k# |( z. q System.out.println(id + ":" + Globals.env.getCurrentTime());! `) e! @4 w; h) r% ^- ~7 l
}. ?/ {: ^6 |( R7 Y, Q" C) I
}
+ U9 w0 ]2 E8 c8 [2 c; u* T( N; g; n* E/ Y
public class ActionGroupDemo extends SwarmImpl {
- \+ k) h% u' B3 x) e! L ScheduleImpl schedule;- r9 ?( c! p k, w
ActionGroupImpl actionGroup;
- T6 G5 c5 g& g2 P6 d ListImpl list;- l: |" Y/ F2 B0 I/ Z% f" D
char Id = 'a';" \" N3 n0 |9 J$ C
8 P& f2 Y6 b2 b5 m# `$ V, e1 A ActionGroupDemo(Zone aZone) {
; r6 _% g x0 J7 R9 U1 q7 f% G super(aZone); M) g2 r# A6 e9 V. k
list = new ListImpl(aZone);
+ j" ]1 U: b: A0 t swarmSetp();9 x2 U+ K& }' _" r( M
actionGroup = new ActionGroupImpl(aZone);
1 j9 h, g5 R. k5 L schedule = new ScheduleImpl(aZone);
- N1 W$ I' y7 o) M! Q! ~ try {" S# O. q% ?0 {5 w' M5 D8 ]
Selector agentSel = new Selector(Agent.class, "agentStep", false);- e% m k* N! Z6 J: c, J& u1 n* k- l0 {
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ ?* Z; t% N+ p# Y5 m 0 X6 A( N& z+ u: w6 W
actionGroup.createActionForEach$message(list, agentSel);
' o5 {$ E, m1 |) k/ k* Q actionGroup.createActionTo$message(this, swarmSel);. x: D z$ Z8 f# O. I. C5 K6 E6 P
schedule.at$createAction(0, actionGroup);: B" W" M* N; X% F, n2 Q- w. h
schedule.at$createAction(1, actionGroup);
. H' {, Q5 Q7 {' w schedule.at$createAction(2, actionGroup);8 d. Z6 z! x5 O4 L, |% B1 V, \
+ Q, \, v* X* H1 i4 k& y5 x0 h, `0 r
} catch (Exception e) {
! n- q3 C' [) c( P2 T e.printStackTrace(System.err);
( E- Z5 ~2 ~% X6 g //System.out.println(e);
' m1 G' w' [8 L; ]5 t System.exit(1);
, a1 L8 h% L' @% ^1 f } \9 \% z* |" |$ G) ]% E/ d
8 e. I1 n& H4 ~
' l5 }9 O! r( w$ Z# } }: }) t- @: j% C
9 `7 O7 G' d) Q0 A7 H: C) z private void swarmSetp() {
/ L2 n# t8 b* d( s5 p y list.addLast(new Agent(Id));. q- b& o3 s4 N0 L3 U
Id++;$ n G5 `2 C2 O7 R$ H D" B* `# [$ O
}5 }0 m+ @# b) j! Z: F: S8 H* a. R
) ]. }8 S8 ]" O8 P7 v6 {
public Activity activateIn(Swarm context) {1 U p; l1 m, t6 {9 H
super.activateIn(context);
t4 x8 g' V1 i5 s schedule.activateIn(this);
K+ N) X) W" w% v d: V4 X5 B& b return getActivity();) g: c9 U/ h9 Y$ q- I0 ]
}
7 Y* W/ S5 @ @
u8 U0 E: p% x9 W6 A public static void main(String[] args) {
. L( w1 y# K) z, G Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);5 v$ i8 \) i' M. H2 E v( ^) e) q- z, t
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# C9 A" Q1 u. p) a- P9 v swarms.buildObjects();, D/ b, p) H- o' {2 v& c
swarms.buildActions();7 E G# p; { [' v2 k' y% w) P/ n
swarms.activateIn(null).run();
( O% R. s6 L1 j! g4 o1 B# s( z }
) r) e: o' E& n+ s$ w( j6 t2 c* h7 z& b: Z) ^+ ^. W$ u- j j
} |
|