|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
" y. t& Y: g/ y& a9 m* |- G; r* m1 d; u4 J
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" G' J$ P; H: G$ b
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.& A$ o, @0 |! S( A
swarm.SignatureNotFoundException$ m# A* l- m' W* x# v" X9 F
at swarm.Selector.<init>(Selector.java:76)* T% V* P! v1 _
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
1 a/ t2 S/ I q# v) `# L; z3 r at ActionGroupDemo.main(ActionGroupDemo.java:67)2 s+ b& J" r8 `& b3 ~
* P4 \0 `7 @' X" h% G$ v
3 H6 i% F7 _& e8 Q) I$ T7 [
import swarm.objectbase.SwarmImpl;
6 r2 o, j! b* i% kimport swarm.objectbase.Swarm;
; | i; f4 t0 B9 _* yimport swarm.activity.ScheduleImpl;
5 P* x& m; f# {' h/ V% U8 ^import swarm.activity.Activity;' W1 g) D/ G2 C0 j
import swarm.activity.ActionGroupImpl;
, |5 l: U; t8 U; o. [import swarm.collections.ListImpl;
( z7 X' ^3 T. uimport swarm.defobj.Zone; % B* a t# j8 z4 i
import swarm.Globals;
, H7 s5 r/ l; Q6 o- m2 ^2 |- timport swarm.Selector;6 T: w: t/ t3 r( |9 t
import swarm.activity.ActionGroup; 2 X2 m* I) r# Y- c; t6 V
class Agent {) c% a5 }8 L; X1 M* _! Y1 m/ b
char id;1 T5 \% |+ e) M+ L' K
3 ^; P7 m* z. X w
Agent(char id) {) m l! |3 j# v: C5 Z3 f
this.id = id;/ ]! h. D9 n/ j9 @
}( d( A3 ]( Z {
2 D0 S6 g' B' k) n z6 q
public void agentStep() {- i2 J! {+ {8 n, \
System.out.println(id + ":" + Globals.env.getCurrentTime());
# p7 b. d+ n: b" K5 {9 h/ e M }
: C* D+ F: t1 z$ E6 w}8 l- ?- ^$ F# {# l
, j' ?4 |, ?! e. `' f
public class ActionGroupDemo extends SwarmImpl {
7 w/ c0 `4 E9 p1 D+ g9 m8 d ScheduleImpl schedule;3 R1 c; g' s- f
ActionGroupImpl actionGroup;$ F6 x9 f* I: A. a8 c8 d: i
ListImpl list;/ @* T/ x# ~6 l; T
char Id = 'a';# K5 ~3 R+ M1 s3 j o. F
9 p% U9 f" b* x5 l) G ActionGroupDemo(Zone aZone) {* s) p' f% |9 v
super(aZone);) V8 v: v5 s2 _5 ~
list = new ListImpl(aZone);$ \: z3 d5 E2 v2 r M: W
swarmSetp();$ @! B+ ]/ {0 K7 G" I, m: O
actionGroup = new ActionGroupImpl(aZone);' l' P; [) w, u* w7 A
schedule = new ScheduleImpl(aZone);
: u0 M% F) V! [8 F try {. Z% A0 }" `' }% J) _" S
Selector agentSel = new Selector(Agent.class, "agentStep", false);4 N9 f) Z/ K, ] A- R2 g ]
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ p/ o% H; g& o
/ [0 z- [' l, z7 e4 ~# C actionGroup.createActionForEach$message(list, agentSel);0 ?( v4 l4 D/ p9 J3 o4 |
actionGroup.createActionTo$message(this, swarmSel);( a! T) a3 @, i
schedule.at$createAction(0, actionGroup);
6 t% \$ L: E& B9 a) R: v- R schedule.at$createAction(1, actionGroup);4 F( K6 \9 S& x/ f
schedule.at$createAction(2, actionGroup);
" o/ G1 O: f; m: A' U/ u# z, m9 l1 b$ r, B I" x
} catch (Exception e) {! R# e; h; p6 @; s/ e+ l0 u& W" P
e.printStackTrace(System.err);
% D& m, l/ d2 P- D* s J //System.out.println(e);7 c v: i5 j6 N9 t0 {' g0 n
System.exit(1);2 n, u& s3 C7 J! ~/ e3 S
}6 v3 V! l5 ~2 }. ~- @& R
( B5 I1 C9 d. t& p
/ K" N! k& J9 ]0 e: L( `) K }
2 z! U: z. B$ [# R P5 d& E
2 C: x* l: |; k, ]6 J private void swarmSetp() {' `3 K$ T4 o( q! Z. N( a$ Q# D
list.addLast(new Agent(Id));
- b! R4 [: j& ~6 [; {% Y$ ^ Id++;% t0 b$ r8 ~- z7 u4 r) R! C
}
) z/ d/ O+ D' j' x8 }6 W$ R
; B( S* s$ Y* A/ E0 h! f1 Y) R public Activity activateIn(Swarm context) {
) B) y* Z) G, J d3 y super.activateIn(context);
+ [# d2 [. t% F- x, w) f0 J schedule.activateIn(this);
7 v0 _1 V" N" C; [% w return getActivity();
. c, v2 `* S" x7 n }
$ G1 S; |3 ~ @8 X
5 q. @* Z- o% `' P public static void main(String[] args) {8 b, l) D9 w, G0 P
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);3 G* j% {" X/ t7 u( o; A1 t
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);' E! y5 l8 d+ x
swarms.buildObjects();! }9 t5 I- }2 a1 ~8 H9 j
swarms.buildActions();
+ g, s8 l( z+ q) R: U* s swarms.activateIn(null).run();
) F! ?& `& C B3 d9 ?3 H3 H }
$ q' k7 ~+ Q. `" e; O
+ ]5 U0 _" n a* V} |
|