|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 3 S* f6 f- \1 K9 r
( C2 F- V9 y6 D7 o, t* P: k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
2 N; e+ P! C8 r% D {: [以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
. d* y; I. s" D3 s% Rswarm.SignatureNotFoundException
& G& F( g( f$ F) k, r at swarm.Selector.<init>(Selector.java:76)& t# a) J& B, m- ~7 L
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)5 {7 T0 Z8 V8 R* U
at ActionGroupDemo.main(ActionGroupDemo.java:67)* ]+ e. G) Q- F* [5 r
9 R w2 ^ u3 J% x- l
' p1 S1 G! @; N" l( ]" H
import swarm.objectbase.SwarmImpl;
$ x8 z* r/ m; y* j, R/ c1 jimport swarm.objectbase.Swarm;( a7 }3 P3 D+ w4 Z% P# f, r
import swarm.activity.ScheduleImpl;4 [6 d! B# K* }% V8 {* G6 S
import swarm.activity.Activity;
4 q, q5 {1 N8 A3 `! Simport swarm.activity.ActionGroupImpl;: m' R8 C7 A+ U0 [# ~
import swarm.collections.ListImpl;4 X# I; P! a/ f3 n
import swarm.defobj.Zone;
$ J9 c2 ?- y& u9 a& |/ fimport swarm.Globals;
1 ]$ t( M3 E2 t4 q3 L% ?import swarm.Selector;
, t' g1 G9 s$ S& _9 Pimport swarm.activity.ActionGroup; " l2 d. U$ }% R9 n
class Agent {* T9 t* R" k- z0 t8 _
char id;
( ?/ {# |, p6 e2 j
3 b v3 `2 Z. _0 U9 F8 t+ r4 \ Agent(char id) {
6 j& Y1 Q6 X- T this.id = id;
& c+ L* a2 a4 g5 Q5 x+ K }
1 ~( [4 Z, M1 E1 v" L$ p9 U5 G# Y \. c0 p
public void agentStep() {" e/ m5 B% ^$ \
System.out.println(id + ":" + Globals.env.getCurrentTime()); R8 o% p7 g- P9 U
}
; o" \3 }' g, I- y( u/ V( \ _} V- D9 Z, X" ~7 k0 {
, H5 [6 j5 F2 L/ t' B* ~1 Bpublic class ActionGroupDemo extends SwarmImpl {
5 R% C! c% [: I# I+ q) p) _3 E ScheduleImpl schedule;
1 {, x4 ~* U) |3 ` ActionGroupImpl actionGroup;+ z" ?! C3 W7 V3 B' F9 n; [1 v5 J4 F
ListImpl list;
& ]0 G, r2 f0 o& v% Y! k( l char Id = 'a';2 b1 c, r% V* F% ^
6 B8 f- l" U9 k+ W+ e+ P1 F
ActionGroupDemo(Zone aZone) {& o- k; A N: i
super(aZone);; Z9 I1 m- s4 M" i0 U$ J! x3 X8 F
list = new ListImpl(aZone);% r% J* e5 Q, `6 [
swarmSetp();
- J5 e; d K( h. B; e3 A actionGroup = new ActionGroupImpl(aZone);
2 J. q. t" ~, p* q V$ n3 L. Y0 {& @/ ^ schedule = new ScheduleImpl(aZone);% O( h7 j3 J. a( c% T* v$ T( Y4 O! ^ m
try {5 b% C/ q% T% G. M
Selector agentSel = new Selector(Agent.class, "agentStep", false);
, g6 {+ z6 A: L3 e Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 r+ l& x) P- c3 N/ {3 w
5 i# P# y* D9 _/ X( M actionGroup.createActionForEach$message(list, agentSel);
( t. W2 V# N% B5 h0 H2 w actionGroup.createActionTo$message(this, swarmSel);5 v$ _) }6 w( f, N# O
schedule.at$createAction(0, actionGroup);
# A/ S/ o! Q0 e' B+ u) c& n: E schedule.at$createAction(1, actionGroup);
" K; O( L* t& o: b schedule.at$createAction(2, actionGroup);& {: j+ C% V% k/ U' n9 p* Y k
8 L* R) a/ P1 t6 t ^3 K: ] } catch (Exception e) {
% ?6 H& d8 f* p e.printStackTrace(System.err);
- m6 s8 d6 M9 F* }2 F7 m: @0 B5 | //System.out.println(e);
/ `3 v8 j+ @ m/ E System.exit(1);7 X: O y$ s" d: |) R
}
- D5 c! i0 u5 u$ x2 |' M( I6 J! d$ _% y
, v" U9 I& w1 ~+ W5 V' m }
# c% o5 Y* }0 r) n# D! G0 o) V4 r A2 a. v! ^- R
private void swarmSetp() {2 K; f2 q" v: W+ z* k2 O
list.addLast(new Agent(Id));$ _: e* w. A: @3 C" J) Y0 ]7 r
Id++;+ s( \1 b; \. I" A* n
}
/ B% M" F1 q! P, k: M1 X
+ `# j$ m; l: P public Activity activateIn(Swarm context) {
& j% `$ l8 z1 c super.activateIn(context);- H- U' Y" V4 h4 N( z0 n3 ?% a
schedule.activateIn(this);2 Y, T$ ~! y! }3 F$ D I2 u
return getActivity();
2 p5 o T+ \6 Z7 p }- g2 l; H5 T# Z4 B+ }5 g1 a
7 ]& |5 [( R9 X c, n) A; s6 N
public static void main(String[] args) {
5 U. x$ E7 |. n# G: e Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);6 y; T( U* Q- u6 ]2 A% ~
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);2 W. p6 L/ s# c8 k0 f# y
swarms.buildObjects();. W- k4 P; ^" ~4 j$ c
swarms.buildActions();% G! }- W% r% x5 ?
swarms.activateIn(null).run();2 m! z# l- m' B% V& \8 _, I
}
( F1 U" J& P9 E
. B9 u7 T& r1 b5 d" g9 Q1 W} |
|