|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 : r/ T, a3 Y# y* x9 J
/ O R$ s! \, g" g1 D本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21% y( [: Y4 ?. t
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.( J7 {2 J* A+ k) o$ |- C
swarm.SignatureNotFoundException
4 B/ A0 y9 ?( R; s1 a6 [8 f/ t at swarm.Selector.<init>(Selector.java:76)
% ? Z- U% v+ d% K: Q2 U at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ e3 D9 z5 J: m3 I! X0 @$ ~# z at ActionGroupDemo.main(ActionGroupDemo.java:67)
& P* m! G( | Z; H1 B+ }! h# |' F( v" t1 X( Y: G
& h4 x, ?, m! d# x6 himport swarm.objectbase.SwarmImpl;
: Y# [, q- B; Q5 \ G. ?/ ^' mimport swarm.objectbase.Swarm; @5 P( F6 Q/ U/ \
import swarm.activity.ScheduleImpl;( `& F1 p/ |% `& \) p1 A/ H
import swarm.activity.Activity;7 a- D; j; q# x8 F I
import swarm.activity.ActionGroupImpl;
5 W0 H3 r( j0 }( a# E/ Fimport swarm.collections.ListImpl;6 G) l9 _5 M' b [) |! L3 |% v N2 T
import swarm.defobj.Zone;
- z b* @0 D4 `import swarm.Globals;
- s% j; _" A2 r. Z2 y$ O" k" b6 Simport swarm.Selector;
: C1 r0 C( }8 A C0 S0 ^' V/ Dimport swarm.activity.ActionGroup; 1 K: x/ A& @5 {9 i1 e$ J& B5 x
class Agent {$ } l, i) {! b
char id;% G1 F* T9 @1 [& S% t
) B7 _- G$ D& J* W- t2 o
Agent(char id) {
% `- ]( v. A$ _5 f% F2 t+ P, T. A: h; @ this.id = id;
' W4 P7 V" X9 j9 u, h% F3 x$ ?: F }
- V% C+ M( l2 q3 V! }) f! b _ y) o2 t
public void agentStep() {3 }7 c9 L- y: a, ?9 @, v
System.out.println(id + ":" + Globals.env.getCurrentTime());
0 F- w; c9 `1 E9 p9 C }1 z$ m% ]# R: t7 a6 [
}
: V6 \% K$ F5 K8 N+ i8 p# y8 i/ x) y- P S' |2 f; g
public class ActionGroupDemo extends SwarmImpl {
2 O" p) ?, U3 X4 F5 r ScheduleImpl schedule;
6 m# ], f$ R+ ^( k" o1 m2 h' V ActionGroupImpl actionGroup;2 |$ j) b- ^" r5 a% ]+ k
ListImpl list;
3 b. O) y* y& w8 t: W+ b1 } char Id = 'a';
- Z; l- K+ @' M$ ^' D7 F, Q
+ A1 m: x* A7 [0 u4 E7 i9 B$ | ActionGroupDemo(Zone aZone) {
7 G6 U) q. s* D" {/ \, B super(aZone);+ M* b2 B/ |) T, z/ V' |) x; y
list = new ListImpl(aZone);5 U [% P2 V% r' _; ]4 U4 |
swarmSetp();! b$ L$ G1 d/ k- V
actionGroup = new ActionGroupImpl(aZone);
5 D" |6 z5 P; C+ h& N" |$ ~1 {, C0 p schedule = new ScheduleImpl(aZone);
* t/ C, G: @8 H6 r2 W# a4 _ try {
3 Z4 Y1 j: z$ Q Selector agentSel = new Selector(Agent.class, "agentStep", false);5 X0 ~. {, Z- ~* H* W$ s# f
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
]8 b0 V4 O) ? " M7 {3 u( j- E: V- Y
actionGroup.createActionForEach$message(list, agentSel);; g: J9 @" Y2 P
actionGroup.createActionTo$message(this, swarmSel);
" O! y7 G* |8 a6 A8 Q$ G schedule.at$createAction(0, actionGroup);
1 n1 k( s: g. R: r* x schedule.at$createAction(1, actionGroup);9 I& y$ F% o2 T- k. Y* m) o
schedule.at$createAction(2, actionGroup);! o# b7 w# o) [ V. J+ _; [- e
, S, X& Z% U* T+ H: J
} catch (Exception e) {
7 O h# v$ ]1 E8 P# q3 G e.printStackTrace(System.err);
4 ^; u0 s$ w8 f# f //System.out.println(e);3 U& f& g' x5 L
System.exit(1);
/ U* H! ~0 f8 ]4 w* v( I }
. N" L4 C+ a9 Y9 d1 ?% w; f9 U' i) B$ c- N+ P
- |3 G2 w& ]3 N# e4 M
} }* G5 J% Q* l2 F3 t
6 l3 `7 F$ E1 `: x, g
private void swarmSetp() {
% W$ A/ G- Z2 K! W: R# _6 a list.addLast(new Agent(Id)); ~6 O0 i9 z c7 D6 w6 X
Id++;
; D% g9 O% M5 r: n }
* N6 e$ w9 Y, h2 m9 t4 O( J% o$ K T/ K
public Activity activateIn(Swarm context) {
+ \% d3 k; S# Z$ `6 v0 H7 ^; ^ super.activateIn(context);5 H) ?$ s0 O0 V5 ?- n+ Z0 K
schedule.activateIn(this);
! W+ _3 K9 t Q ~8 a return getActivity();
- K c8 t7 h H' p }
' }2 O" } ?+ u. G- k4 V5 g& O7 h b' T
public static void main(String[] args) {; w5 ^; `5 L) M
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
# U2 X1 m! I# A0 V3 n' t8 n Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 z2 R8 z+ ^/ e6 L8 L7 {# ^, q/ n7 L% S
swarms.buildObjects();: \7 Y1 x% X+ O
swarms.buildActions();1 A: e6 a$ {7 ^6 h4 ]) A2 t; T
swarms.activateIn(null).run();# o+ U/ Y+ Z3 }2 |$ l$ M( `
}2 K( x4 b, ?* [
7 G$ _" B1 r5 c' e} |
|