|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 0 n1 c" h' s5 t
: A: u& R) Z- V. I
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21/ R' U2 J, y; K% l6 w2 H- f4 P
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.9 q$ ?: c2 |. g/ d
swarm.SignatureNotFoundException# T2 ]7 Q L' Y# a4 l& c+ t
at swarm.Selector.<init>(Selector.java:76)
5 s. H! Q* `/ [; R' Y, m; Z! d at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
# E0 J* l) s- j+ h at ActionGroupDemo.main(ActionGroupDemo.java:67)/ F/ ?, E4 N+ B
1 P, z/ j: c1 V+ b' S! P0 F
( G4 r8 h! d, P; H
import swarm.objectbase.SwarmImpl;" r. e4 }* W/ V* A" ]8 o
import swarm.objectbase.Swarm;: |/ ?+ k+ s: A7 W) t8 o0 _
import swarm.activity.ScheduleImpl;
5 L. V: b: r/ W/ _import swarm.activity.Activity;4 T% ^( `4 U+ a' y
import swarm.activity.ActionGroupImpl;! q* O8 C4 w" u9 k0 q: n) x& u
import swarm.collections.ListImpl;! d0 O& x* \- L% O! ]
import swarm.defobj.Zone;
0 E& x9 r! H6 @/ B8 } limport swarm.Globals;1 Q: V& B6 u4 K5 c3 T8 k8 p/ C) z
import swarm.Selector;
5 ?! r6 J, h- c2 ^import swarm.activity.ActionGroup; $ O+ R) ]* t% S; \
class Agent {
8 c! l, F) y4 k$ d2 p! H+ i char id;$ H' B. V$ n+ E. s$ A+ _2 _& w
1 s* G$ w. h5 D Agent(char id) {
' h3 T3 e9 E& T- M, u. s this.id = id;
0 W) d* C! D2 p: e9 e }" O v/ V _0 `* ~
8 t8 Z: h1 C& W
public void agentStep() {9 w$ Z' j4 J0 H) x' y. F
System.out.println(id + ":" + Globals.env.getCurrentTime());/ \4 Q! X! x$ D; i3 `
}
: m# u7 }4 R B: `$ q3 l+ Y}8 U0 R8 W, T- G
0 |2 h) g( n7 J0 s: S
public class ActionGroupDemo extends SwarmImpl {
1 n. N6 ?: V* U5 W$ i, o ScheduleImpl schedule;) Q$ z; X, F! b2 z; P
ActionGroupImpl actionGroup;5 M. {) E3 f5 F& N. Q- d! W2 R" q
ListImpl list;
0 a" B/ o) y$ y* q" e- u0 z char Id = 'a';% U3 J8 T1 h$ X% q, }
A( X* z5 Y$ V% r' \: ]. x. G) ~" E ActionGroupDemo(Zone aZone) {5 G- ^8 [! C# W1 \( }
super(aZone);
7 s* w" w K2 U( p u: S7 s: N list = new ListImpl(aZone);; S* l; H c9 o' V G% T
swarmSetp();2 k4 k: H1 \+ a" ]( Y3 r
actionGroup = new ActionGroupImpl(aZone);
8 ], [% ^% j: d Z" B: D schedule = new ScheduleImpl(aZone);! G. O3 `# _3 o% _. g
try {
5 M9 I! T) J+ U% N7 v1 G6 D5 _3 m Selector agentSel = new Selector(Agent.class, "agentStep", false);
0 \* Y1 ]) D6 R. E% N Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ j* F" p/ ^- `& }5 c% ~ . c7 h& C0 _2 W
actionGroup.createActionForEach$message(list, agentSel);
$ i) d+ S6 S- e% P$ E* ] actionGroup.createActionTo$message(this, swarmSel);
1 i- l+ c( r& T& X% y schedule.at$createAction(0, actionGroup);* j l2 r" F2 F! j
schedule.at$createAction(1, actionGroup);
6 ^7 {& b! L; ]9 @9 l4 C: o schedule.at$createAction(2, actionGroup);
, {% w- g" H. q# F6 _) ~. f
) T/ v# e9 Y6 ~ } catch (Exception e) {9 E6 C: X1 K1 L" q* ^
e.printStackTrace(System.err);
. t, o; A1 P+ ]- c# l8 Z //System.out.println(e);
7 q8 k7 L8 P+ O% Y: N System.exit(1);5 @* C, g' m' c
}( J( a6 z- _: y5 ]( T0 p: K
5 T+ N- S B) _. E1 ^, |, q) e
O. t8 H% t1 x5 W" m" _ }$ d P( i. k- K8 B
. d- f6 @2 Z5 K# ^' w( y2 w private void swarmSetp() {
5 P. [* v d" I2 z% A8 h7 t2 \ list.addLast(new Agent(Id));
, `* e0 S( I% v Id++;- w3 }' J+ z3 [( ?! `% |# Y
}3 w7 i3 G3 n9 y
# |" |- D5 N4 s& C3 T: L* X public Activity activateIn(Swarm context) {
' C a% @2 @/ N super.activateIn(context);
$ l% B! H' _% V7 n5 _4 @# t schedule.activateIn(this);8 p9 `$ U* T+ S- j }; t1 ~5 n& i
return getActivity();
- d" k, w; c1 @; N" B) Y }
3 \3 M4 B+ D# Z) B; Z. i# Q* d6 t- S
public static void main(String[] args) {
: B# M8 X% [+ | L Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);( |% e. F X$ I9 G; i
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
3 I1 w- J* B' e8 R1 [: X6 X7 N swarms.buildObjects();
8 a, t3 J" v$ g2 v swarms.buildActions();
* E) `/ _; g! I+ y7 D3 a4 ]8 d swarms.activateIn(null).run();) K7 b' l0 x7 R. b) k' R- u
}
: _. u# ^3 j" X8 Q& @
3 |1 f/ E! Q3 l& [6 p} |
|