|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 i5 ?% H. v% C) c1 w5 }$ O4 k+ I
! [. ^" z) |* e" Y) a* Z5 y本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update214 S' j2 C5 c2 ?" v* B" J7 E: d% Z- S
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
+ a4 l: P& g6 g1 K) Wswarm.SignatureNotFoundException E7 j4 ]( \, m2 k8 Y; ]$ n
at swarm.Selector.<init>(Selector.java:76)
: y& s* s; y" A9 `- g at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& A( ]5 Z% ^; C, J7 E2 Y, t
at ActionGroupDemo.main(ActionGroupDemo.java:67)* [( T1 K8 \2 r- ?
2 S7 H4 u& T& j+ C. a( U
0 ~6 G1 A1 G3 o% B2 q8 k, Z Qimport swarm.objectbase.SwarmImpl;
9 @6 y' q' M: Z7 p k/ R! ~+ rimport swarm.objectbase.Swarm;
3 X# }% a$ [1 P& Z* @import swarm.activity.ScheduleImpl;) o2 W$ C/ t7 B" j
import swarm.activity.Activity;
5 e% w& i' f7 Oimport swarm.activity.ActionGroupImpl;
2 w& Z9 Y1 H9 o% K, R7 T! ^import swarm.collections.ListImpl;
/ L- ?, g- H/ fimport swarm.defobj.Zone;
; ]) H8 P' x; A* u9 Q0 Y. |3 @* eimport swarm.Globals;
. m! m' o5 q$ q$ Eimport swarm.Selector;6 Y8 Z. p9 O7 a U( N" y; W
import swarm.activity.ActionGroup; . W. d5 C7 H& S4 `: u. W
class Agent {' L+ O. F4 p6 U8 k
char id;
$ O/ ^3 o& g( a6 S0 K: i5 q0 F( O* K$ k) M. K
Agent(char id) {) A( s0 g$ u3 s: Z+ m( |
this.id = id;" y8 ^5 J! |+ [ X4 K$ J1 T! S3 a3 l
}2 q& q& u" q' ~3 Q
9 b+ }. Q% `5 g! m/ x public void agentStep() {" ]- N- Q" x7 R9 l' A/ ^& `
System.out.println(id + ":" + Globals.env.getCurrentTime());
) v7 A' x3 A1 W$ k0 X }
" d% z. ~5 @4 `* f' i$ }' \}& f& f4 ]6 k7 ?! Z8 s. R
; h" I$ X8 K& e$ B4 gpublic class ActionGroupDemo extends SwarmImpl {" q1 K& T6 \$ g4 F! b' a1 A g
ScheduleImpl schedule;! x# j: }) U4 w' q! r- A+ ^
ActionGroupImpl actionGroup;( |5 \; m" C; J3 ^; H
ListImpl list;
9 \( ~& C/ |4 D' t0 ?* y& j char Id = 'a';
* D6 } i# c. B: M9 ^4 L$ Y. @7 C7 d2 s' s$ t9 Y' l+ A, f& m, ]
ActionGroupDemo(Zone aZone) {6 y) R8 S! s2 D8 T6 p+ B
super(aZone);
5 u% A; f" R* o$ t5 g3 V list = new ListImpl(aZone);6 |6 T) V) K0 w4 c8 ?
swarmSetp();
# E/ }3 J4 j- F, ]% I" [/ Y; Q actionGroup = new ActionGroupImpl(aZone);
# u4 R* r$ V. [ schedule = new ScheduleImpl(aZone);
) J. S1 ~4 O9 G, A7 ^4 S# ` try {
$ Y l, H) K) Z6 y9 G Selector agentSel = new Selector(Agent.class, "agentStep", false);* f, p4 b! p3 v% F- y
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行- |/ q. C7 @: ]7 R& t3 H
# U6 {+ u* ]) z" u
actionGroup.createActionForEach$message(list, agentSel);
0 E4 o! T/ _. l actionGroup.createActionTo$message(this, swarmSel);
$ @# M6 O% v) T% E: V, u' e schedule.at$createAction(0, actionGroup);: k) U- g9 e- H
schedule.at$createAction(1, actionGroup);
9 p# L4 n$ k6 d schedule.at$createAction(2, actionGroup);" Z0 A+ ^. ]8 D
- l1 m; m4 D/ K3 f3 ^+ A: L } catch (Exception e) {
* Z: u2 [) S" O" G S: Z e.printStackTrace(System.err);4 M \6 u$ T' J O* @
//System.out.println(e);
. g# k& v0 c( T System.exit(1);
! x4 i F3 k b" G; j; L7 y# s }
2 ]1 f; q6 H) d1 `1 e, M, m
* O8 p% \: Y7 ]9 o
/ O' P* k, z2 f6 d }* H0 r, [6 `$ E# \ _- q
- `4 U3 w) @+ y5 R2 K9 e* R h8 j private void swarmSetp() {
4 A5 C& V( D: A, N+ E6 q+ O list.addLast(new Agent(Id));/ `1 S0 _& [ q) R# i- M; \
Id++;4 ~1 O8 f$ w! A$ J1 l; G, s2 G) ?
}
0 M/ Z# D2 y q6 \- K* d/ \0 x7 H- G! c- Z, v( Z( Q- U
public Activity activateIn(Swarm context) {
$ q* r0 Q3 W& g+ ~1 b. A1 B super.activateIn(context);. U4 o: [# `5 j5 t- W3 c7 h1 o+ C* W
schedule.activateIn(this);8 S w: K7 j5 i* {- k- c* x
return getActivity();
& u' c- L1 T3 S5 p) Q }
* j' ?; ]' y' p; f
g9 g, n1 d u& h# t) C3 h+ a public static void main(String[] args) {
/ |& T) x- I$ b/ E. U Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, U) ]" n4 h: P- w ?( u3 ] Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);5 u+ K! Q) P4 m: E( ^
swarms.buildObjects();
5 {% }. s" Q. M8 a1 ?7 V swarms.buildActions();" R- {1 ~5 {! o8 n* y. ]1 _$ l. O
swarms.activateIn(null).run();7 @+ x5 o* e$ r) V& g* y. K
}
% c. a: g4 @# G/ d* e& K5 J! r! `, l5 x) Q2 Q" B% T! w
} |
|