|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 e( n( Z- i, P* X( x8 E
4 E8 y0 }! v9 v4 O, h本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21 M/ s: S, l g, G# H$ Z; I( _4 T- W
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.3 w; [1 J- |! \8 I0 \
swarm.SignatureNotFoundException
* }: d9 X$ Z* Z1 n5 R at swarm.Selector.<init>(Selector.java:76)
4 h8 l d- ?% S+ t+ J at ActionGroupDemo.<init>(ActionGroupDemo.java:37)) V# G7 C) g3 ^/ o Q; e
at ActionGroupDemo.main(ActionGroupDemo.java:67)! b4 K1 [' I- H, G9 T
; z* i) ], F7 I* }
* f! b( J, l4 @" {3 y5 ]
import swarm.objectbase.SwarmImpl;
4 _4 W$ S. ?8 s1 q& limport swarm.objectbase.Swarm;
' L r* v! @/ m1 z; l. Wimport swarm.activity.ScheduleImpl;
, m4 A3 m. X& ~ Pimport swarm.activity.Activity;
% F: ^# p# E+ D, e% Kimport swarm.activity.ActionGroupImpl;
) a( q9 }' ~# a& B) g: Aimport swarm.collections.ListImpl;0 k, _4 F" b- W8 @/ T
import swarm.defobj.Zone; $ c3 k! `/ k* `3 |4 U- p* l$ ?
import swarm.Globals;
3 X; u7 \ t# x6 vimport swarm.Selector;
; L( U% \6 Q. f" B% eimport swarm.activity.ActionGroup; / N. k% d' g2 a+ J* c, \# g
class Agent {# c: o+ x8 z; {1 D9 a; H2 W
char id;
4 n: S; Z* `& ^: K
' Y. W1 T. Z, ^" h) H Agent(char id) {
* V3 }$ `* E) H- j/ L this.id = id;
* Z F) U& t5 V' O }7 l' D( r# v; p: J5 ~. o
6 {) G! P( y" D7 w0 H- N& D/ Z$ v5 F+ b
public void agentStep() {
2 C* W% x! w' g: n* e: F System.out.println(id + ":" + Globals.env.getCurrentTime());6 n8 B8 }% _* F9 H
}
# }, c7 t/ E: {. p" K# f( l}
* |& U5 c' o& T" Y4 N# Q7 |# l* `# L5 k1 p+ v5 M A% T; N% q
public class ActionGroupDemo extends SwarmImpl {
. t* ?& H9 g; _ g2 v g6 m ScheduleImpl schedule;
# G6 a4 M2 _( C) B0 _ ActionGroupImpl actionGroup;
7 ]8 Z" k( |- u+ C$ f ListImpl list;
5 n: r/ H. Z9 T/ z char Id = 'a';
4 a7 o' N# m3 ]4 o1 x: Z
7 L* b! Y$ _" O) L% j* n: [ ActionGroupDemo(Zone aZone) {1 X% u6 b7 K9 F/ y
super(aZone);
! S) ~/ R( Z+ q3 m2 n9 k: F/ _. @ list = new ListImpl(aZone);
) g$ ]9 c5 n* `1 M* H5 A* t2 M swarmSetp();
% y+ Z+ S, p$ N" {/ s9 M4 M4 k actionGroup = new ActionGroupImpl(aZone);0 F8 o2 u- M6 `3 [+ z2 \+ d; p, h
schedule = new ScheduleImpl(aZone); T2 `* y' e7 C8 O! g) @
try {) @; n% F! M6 Y5 X% W/ [+ l/ @
Selector agentSel = new Selector(Agent.class, "agentStep", false);
: c: \+ t; n. Y8 ^( L Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
3 H6 H1 n! A" }" L , x/ x# q8 I- y2 a8 g( V) J
actionGroup.createActionForEach$message(list, agentSel);: r* M) v; N) {
actionGroup.createActionTo$message(this, swarmSel);
1 Y/ X/ r X. l& ?$ H, \4 ~ schedule.at$createAction(0, actionGroup);, c( C) c3 A4 q
schedule.at$createAction(1, actionGroup);! X3 q6 F' h: ?/ r8 V0 G
schedule.at$createAction(2, actionGroup);
) b- a( h3 {# X! g3 ^9 e
0 C t9 k1 ]/ ]. J( M) b } catch (Exception e) {+ c5 N9 k- p0 B4 _
e.printStackTrace(System.err);
; ]+ Z( j* V( B: g: I) v; [7 B& ~/ ` //System.out.println(e);) |3 g0 t2 e; {
System.exit(1);
* c" Q4 Z# D% r% p; P9 q" V7 [ }
; T9 ]1 G( x8 Z; p7 ^3 d# T" R) H2 ~# A) `0 x) I4 W: S
2 e; f3 \! @" v2 i7 w9 j }9 A( W/ }( B- E; A0 G9 `
1 l2 u9 r, |& T+ Z) j private void swarmSetp() {
T% J4 y; n/ S" P, i* f list.addLast(new Agent(Id));& h1 i9 {, M' G/ Z+ c! o5 d
Id++;' d! L8 _+ w! G( t& b# ?* i6 a/ P8 y
}7 |7 y. e1 }; \2 V: F5 G
) [( ~% Q* L5 _. C' b! v. x$ E" B m n
public Activity activateIn(Swarm context) {
, s9 D! g9 B4 L5 F8 o) O$ r super.activateIn(context);
; H. L* m# x5 f6 H schedule.activateIn(this);; Z7 V( {6 c: u+ @4 n
return getActivity();0 E( _$ `- x a1 D# r/ s, q
}+ W. h$ \& m8 |5 P. `
9 r4 L( D4 E3 S5 O a public static void main(String[] args) {
! A$ ^4 @* v* j2 e% o" I/ N4 {" v Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 S7 [1 e8 t' b6 c9 U Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);2 k9 X. g3 o7 R6 _ C
swarms.buildObjects();
0 p5 N4 V! o* F' |9 w swarms.buildActions();
6 ^& r( x. n0 K% w4 x' F8 M+ ^ swarms.activateIn(null).run();
* U- {* m) J8 J' [ \' s }* t5 d/ @8 I9 N
0 `( v$ U2 X; G) X
} |
|