|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! y" o" K. ~8 W: r! J6 b, H: j, b1 l) ?" t! i$ i- e. n- R; d& y
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21' N- M# v9 y3 [& O3 I
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ m$ j" ^: k2 G5 C
swarm.SignatureNotFoundException7 t8 b) B2 Z/ d2 O* f* w+ X, j: W
at swarm.Selector.<init>(Selector.java:76)
5 P A! Q+ q! u3 `0 M0 g k at ActionGroupDemo.<init>(ActionGroupDemo.java:37); I( d) F& ~$ w8 J8 `
at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 @) l$ \3 w. x) d+ F, D* T
/ q8 h* \ L2 t7 {2 a
" k+ }9 p3 t, t7 I9 @import swarm.objectbase.SwarmImpl;+ O8 V. `2 K3 C$ u4 l9 y! O6 b& d
import swarm.objectbase.Swarm;
7 s& L4 }( Y/ ^import swarm.activity.ScheduleImpl;
# C* I: X8 @" ]+ n$ Y* w- himport swarm.activity.Activity;4 z7 Q! ~( W) g. Y5 y$ U j
import swarm.activity.ActionGroupImpl;
% F2 J! e' X3 eimport swarm.collections.ListImpl;
. d* R! A- V7 E' X9 Gimport swarm.defobj.Zone;
3 Q1 L& X6 c K) o- Z* s* `0 a5 ximport swarm.Globals;
6 v: S( D7 M5 ^: s4 I' h! h( [* Pimport swarm.Selector;
: Q e$ _+ B% ?" nimport swarm.activity.ActionGroup;
& a2 R X# o. yclass Agent {
* E2 {1 m' T C char id;
, R/ D Q0 J' `6 p
8 H) u3 R" t2 u Agent(char id) {
0 ]4 d1 b+ ?$ l% n+ v- ^( X this.id = id;8 v, E& _4 g% q2 F2 A
}) r: u7 q k4 H# V+ y6 @
5 T% w# ^7 _) F" v! I
public void agentStep() {$ c& U3 v$ f1 w
System.out.println(id + ":" + Globals.env.getCurrentTime());% W2 \9 p8 w9 _4 A+ a, C
}
8 f' ]1 o& }% F% i9 I7 s}+ W3 c" V$ B7 [* G6 p. q$ d
2 |6 A! a4 x' R$ A% M
public class ActionGroupDemo extends SwarmImpl {' Z' r" C2 p7 r, I3 u0 l- W% e+ T
ScheduleImpl schedule;# ?+ @5 u9 ~/ F$ q2 ?
ActionGroupImpl actionGroup;
8 U0 A2 [! y+ _% u+ q8 R+ [ ListImpl list;
+ @& K& B$ d/ q8 Q6 `7 m char Id = 'a';; ]# d/ W* Y' }
) W2 ^9 j* E( y1 _4 U, r4 u5 l: [5 R. @
ActionGroupDemo(Zone aZone) {7 U3 N8 D6 C5 m9 M+ u ^9 e) F
super(aZone);
' b/ I k. l& r# Z( K: C0 y list = new ListImpl(aZone);
& _% V r% Q" ^8 y X8 } swarmSetp();
% a2 E9 _9 _& ]8 U1 E actionGroup = new ActionGroupImpl(aZone);0 i8 I3 x+ j/ v+ }8 }6 n, ]* K
schedule = new ScheduleImpl(aZone);
, f4 Y. T8 b9 n! J3 ]% U0 V: N; w try {
! b8 Q9 y: ]4 G" ?( z2 U Selector agentSel = new Selector(Agent.class, "agentStep", false);
& k/ d2 n" K1 }( j. s: c$ F" E, w$ V Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# X' j( @& j1 k' X
' x% I* z. Z5 g6 B& ?8 A" P actionGroup.createActionForEach$message(list, agentSel);
; ?; [& u6 a, m/ [4 I/ G actionGroup.createActionTo$message(this, swarmSel);
% H* r8 |. n1 b" v/ S6 S. e schedule.at$createAction(0, actionGroup);. Z0 R# j2 r2 i* y! W
schedule.at$createAction(1, actionGroup);
! s" v& e l5 a8 d5 J schedule.at$createAction(2, actionGroup);4 w+ b+ q) R/ f- M
3 \) r5 X2 N! S9 P' t3 C0 }
} catch (Exception e) {4 v: [8 s9 ]( D
e.printStackTrace(System.err);3 O" d$ Q, \$ J3 `4 J1 x
//System.out.println(e);
# `/ I4 E2 Y) e3 a4 |) F$ U System.exit(1);- j- y- v6 B' C: |7 n
}+ ] |& c$ I7 ^' t
; j" I7 W8 ]. y, W; u! [
7 s. |6 b! _' l/ ?' ? }" x) l& z, h5 q9 L
+ E0 `, @( H4 n; E& @$ z" i" h ]
private void swarmSetp() {5 g' `. o( @" U
list.addLast(new Agent(Id));
4 w0 [0 ^* b% Q$ G0 V Id++;
( E2 @% }9 d d }
' x, R9 I& N+ I% r; _" _; g& H
0 Q% n, I+ Q6 e public Activity activateIn(Swarm context) {* D# p8 c( T* c# G6 z
super.activateIn(context);
7 B6 O; _# Y$ l# Z schedule.activateIn(this);
+ u( X( a( ~1 F9 ] return getActivity();
?1 u, N* Z5 }5 c& k+ b }8 X) t; W, O9 U
$ M% k/ \9 x4 B( | public static void main(String[] args) {- V% W# }% U; N+ ?+ q
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args); W5 a* Y1 S, {* Z
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) ?+ R6 a' G+ l( W0 E8 K
swarms.buildObjects();
7 N& W5 O1 U' i6 [+ ^0 r& p$ }4 u swarms.buildActions();
" `) x' \6 \) t1 _$ d% ` swarms.activateIn(null).run();. c% u- r1 D& u5 M7 q
}
& i: X2 I* {$ O4 f1 r
2 l+ d, C' `9 G( B$ U3 m$ a4 z! ]8 q} |
|