|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
' n" t5 h( {* b3 T; n# w: |% @, t" e% X2 x! K. w
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! V0 e' d' P- k" G& t8 j) O+ i
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 ^8 I: h5 k) A! r) F
swarm.SignatureNotFoundException
- Z& W0 v' C+ D, ~) ?& V/ P at swarm.Selector.<init>(Selector.java:76)* b% _) a5 Y4 g2 U& W3 S& X9 u
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 a; C+ U+ g1 M
at ActionGroupDemo.main(ActionGroupDemo.java:67)
0 [' z0 |1 G' n' S; \- ?" u) h
- d9 B. V$ d/ ]+ B: ^
+ }: Y$ T( | J' P0 b7 @) Bimport swarm.objectbase.SwarmImpl;
% O l) ]9 m' m+ t4 c; v3 Bimport swarm.objectbase.Swarm;" ~5 d( e! s7 f( b
import swarm.activity.ScheduleImpl;8 [) `. X0 d5 j/ Z/ E, `
import swarm.activity.Activity;
9 F4 l$ d3 o+ \& x' C' N/ l; rimport swarm.activity.ActionGroupImpl;% _" w0 J* o2 B% p3 ~
import swarm.collections.ListImpl;! d0 {2 [6 j E ?' e
import swarm.defobj.Zone;
3 ]' ^3 A5 R, X5 q$ m1 bimport swarm.Globals;8 |+ k/ b/ W; ^
import swarm.Selector;
. Q7 E- d! m0 \# y* f2 S) {import swarm.activity.ActionGroup; - f0 q% q1 ]( ~' h0 L1 t- M$ Y. o6 E7 I
class Agent {
* P# i/ s7 B$ b! } char id;3 x; i, I1 d/ n F! G: |7 e$ i; n
$ _! S( O9 L9 X
Agent(char id) {
0 ^6 D( k K; \- }) C: g* L, q this.id = id;7 L) c; \! ]7 S# v. S3 U: r, P
}, s y" o: M8 t3 o6 z
1 q+ Y% o3 d, l0 C: _8 j
public void agentStep() {3 R1 d. R" J' D; H4 i/ X; \5 W) h
System.out.println(id + ":" + Globals.env.getCurrentTime());' P& s* A* ?* Z. u3 X( I
}
; g5 B& z0 t3 r}# b0 p; c1 G7 X
2 G; a4 N& ?* m& j! n
public class ActionGroupDemo extends SwarmImpl {
% z, F( ?4 m+ h ScheduleImpl schedule;
# j6 U6 U3 t7 Y, s: | ActionGroupImpl actionGroup;
9 J& Q5 K. h$ X. K; e6 Z" h# ? ListImpl list;) |& s- J# }4 @# r
char Id = 'a';2 G! R! R" h, [: I# m9 Z
) @+ F! @' B7 l ActionGroupDemo(Zone aZone) {1 u8 u2 Z7 O; c, I" @2 b
super(aZone);% D" n" g m% j# [0 k1 G# P
list = new ListImpl(aZone);
1 g4 G2 q/ g9 W3 s, W* ~ swarmSetp();3 D6 r' }/ } Z4 H1 K$ W' C
actionGroup = new ActionGroupImpl(aZone);
3 F* I% S! k7 Y" T0 V schedule = new ScheduleImpl(aZone);2 d' Q% R& |4 O
try {
4 A( F; v5 h9 p. {' M Selector agentSel = new Selector(Agent.class, "agentStep", false);
7 \8 L- c- M0 Q( e Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
3 h% T! J2 z P # _' e: |6 [& v7 S- Q7 ~7 S& \9 {
actionGroup.createActionForEach$message(list, agentSel);8 p. R3 _# P8 n) b- ^2 F
actionGroup.createActionTo$message(this, swarmSel);4 h M9 M4 g5 b& B( C
schedule.at$createAction(0, actionGroup);
/ d! j1 k* G$ w6 ]- m schedule.at$createAction(1, actionGroup);
, z; p! G" Z0 h0 z6 L% k schedule.at$createAction(2, actionGroup);
], a( S: W) z) o6 q4 U) }" U
} catch (Exception e) {' l/ a, D! K6 T) u% ^# ]3 t
e.printStackTrace(System.err);+ |- ?" D' |0 ]3 \; k* c$ m! ]7 Q
//System.out.println(e);
9 M" }3 R0 X" t$ q7 A4 [ System.exit(1);7 q. j6 o! q1 Z2 S- U% f& [
}4 W4 D6 o) Z1 `
% y) y8 Q, g; h# T, [1 d; X
! K& }+ h3 ~; n0 }" a& i* i
}! }% K& e$ \$ M; L% d( j
9 i* R+ S2 Y+ S) x3 R; H private void swarmSetp() {
% D! B$ U5 b5 Y5 a# G, [ list.addLast(new Agent(Id));- w1 P2 y3 h$ U. m! @& ]) t
Id++;
8 k- y8 J% V8 e/ z8 S* b/ p' \+ U }
- k7 E: {& K6 E% a/ O9 h4 w+ k/ b$ D4 g! @
public Activity activateIn(Swarm context) {! J+ C+ A7 c' L
super.activateIn(context);
' v3 p; x1 H$ D6 N1 `* N o* R- C, {* y schedule.activateIn(this);4 Y$ D7 C& o C; q. H( Q
return getActivity();/ d. P# s0 K3 n/ {
}" T v& G7 v. K H
/ X' x @9 P* R( w9 m w
public static void main(String[] args) {
( U9 z9 N* G, P! I# R7 s: B# w Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);1 Z9 D6 @1 r7 Z, S/ O, L; [
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# L& n* _' t# @6 L
swarms.buildObjects();
( A v. s* h1 k) f: n2 V% O swarms.buildActions();$ a8 S8 Q! ^ P& X$ J+ G" q" O: [3 V( y
swarms.activateIn(null).run();
1 H3 w7 v7 G; O/ M' K% }* X }; @' ?4 j- n% e, ^2 a( h
5 m1 w1 B* m Z% i6 d# J} |
|