|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 t3 J9 T1 T6 B2 r( a& Q! M1 ^8 _0 V8 N. }9 U
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, i- \- u$ e9 N9 V, S2 j- ?( @8 G) c5 s
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% U: _0 R: o5 w: k E( f
swarm.SignatureNotFoundException9 o+ Q. y8 x! U+ z3 ?( p
at swarm.Selector.<init>(Selector.java:76)! K3 y2 t! {) I ~/ B/ A: ]# X# a
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
* s# X% s6 j$ k at ActionGroupDemo.main(ActionGroupDemo.java:67)
9 x) n9 a2 x9 Y% l
n2 @2 p8 p: a9 ~& Q5 L7 E
- f& @: W# p8 y2 x( Z6 h k; qimport swarm.objectbase.SwarmImpl; {1 E8 g7 p( _1 R+ f
import swarm.objectbase.Swarm;, o$ K2 i$ @) ~" `3 O: \% G
import swarm.activity.ScheduleImpl;
( o5 w% ^! O: e+ Nimport swarm.activity.Activity;
1 ^5 N Y4 y1 Bimport swarm.activity.ActionGroupImpl;5 m) j, E( ]4 s( ]. D
import swarm.collections.ListImpl;
& F: }% u& P4 m) q- f6 n5 M& Iimport swarm.defobj.Zone;
" Z8 A5 S$ a) [, T$ [& h' {import swarm.Globals;
+ b' r+ A4 l: t% P) M% i0 iimport swarm.Selector;
% Q; c3 y' `" T3 J1 t; d% ^import swarm.activity.ActionGroup; " Z3 j+ s! B. R# d$ ~" k
class Agent {
$ I! a0 A% ]# O5 f' Q! O char id;
1 m+ ~5 H/ j. l& `/ U
' z/ l! `: j! _ v( V m C Agent(char id) {; c% T. h" c u- R+ ]$ f
this.id = id;
3 v9 ~5 u, i. n |- C% f* Q }
0 N" Q: y6 l" E2 Z: B( W6 [6 K8 m0 `
public void agentStep() {
( G3 S7 \- H( D# G% |. S% @ System.out.println(id + ":" + Globals.env.getCurrentTime());
. ~& p( b7 `5 @3 |: x: z }+ f2 I) I2 N q9 B
}. W; y, |3 t5 w- j! Q8 N- J7 m" c
4 s) k: B& j4 hpublic class ActionGroupDemo extends SwarmImpl {
' `+ _9 A9 i+ |" Y# v; D. Z ScheduleImpl schedule;4 f. e% b9 v: J4 F% e; V8 L
ActionGroupImpl actionGroup;
3 x8 R5 t! g/ }1 v: b7 e0 t2 } ListImpl list;( P+ p3 U6 c( R' r f$ A" S
char Id = 'a';
2 k/ t# n5 |7 r6 H! f# L% V" X M0 w( R) ^5 a% W& y
ActionGroupDemo(Zone aZone) {$ k& J7 Q" Q9 j+ N6 Y, B& Z% q
super(aZone);
) k% S$ W4 l- M$ \: c list = new ListImpl(aZone);
; q1 r8 a; x3 a9 R; N6 Y3 X swarmSetp();
- h) Q8 E6 g( u" f, d. n3 y. z7 L% G" W actionGroup = new ActionGroupImpl(aZone);/ n5 @7 N/ ^$ K: G& ~/ {0 W- i
schedule = new ScheduleImpl(aZone);3 P9 `1 e1 k! I* p+ O
try {3 S" \& m# J5 W' x" U2 @! M
Selector agentSel = new Selector(Agent.class, "agentStep", false);- n) p6 P, g0 C. T$ m+ H# k
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行7 l+ Z# h+ _! B) J
4 }! ?9 t& Z; G actionGroup.createActionForEach$message(list, agentSel);
! |8 p+ D+ m( I7 s9 C0 l, _, G actionGroup.createActionTo$message(this, swarmSel);
, X, Z! l* }( W4 w- I; N; }: @$ j9 p schedule.at$createAction(0, actionGroup);
' x* e# _/ K7 V. i; T schedule.at$createAction(1, actionGroup);
/ |" Z; q+ a! ~! u schedule.at$createAction(2, actionGroup);
* ?' W0 |9 A" P7 j$ u. @4 P7 p2 n% ^, O$ E" X) S5 t! d6 T: p6 g# w
} catch (Exception e) {
9 ?8 v4 M; n9 q- Y e.printStackTrace(System.err);
6 l7 P0 ]+ O; E7 o- p) b //System.out.println(e); a' u9 y4 @( X8 I9 U
System.exit(1);
. Z+ U& W: A" x5 w: ]& I7 O }/ I4 O) }) {: B# S' |! z7 R: e
" F- i5 w9 E4 I1 g! Y. T$ U6 Q1 t
) ]3 J# g& T$ E. }; _$ `0 n }5 e( v$ F% h4 j( H5 x
7 {! u4 j$ I# p& d private void swarmSetp() {% ~1 G/ ^6 G& H f$ S# U; ]
list.addLast(new Agent(Id));
; c5 x' U3 }: v) z Id++;- @. g( j- r/ p2 y+ W+ @% | L
}# }: w+ v2 e; j9 [; R' u: r
6 f+ H7 P* z4 K% \5 k public Activity activateIn(Swarm context) {: W* ]4 p Q9 E# ?) V
super.activateIn(context);( ]: A1 R$ R) g; L
schedule.activateIn(this);
' e. ?9 Y, p, c |5 _/ X return getActivity();
0 J: e. @# d/ e. y8 Y4 h }3 K: g7 ?0 e h) Q, c, F9 a1 \
# D' x6 E w6 ^ ~- J
public static void main(String[] args) {
) q3 H$ P2 y3 t" [7 i Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);: H& w2 U) | w5 F
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
5 V: \4 M; r1 K" e& k$ u* M5 K swarms.buildObjects();
: l+ x% g6 b4 w ` swarms.buildActions();
4 z! \$ B1 o0 z; H0 O4 Z6 Z* T swarms.activateIn(null).run();
1 R* u' C0 g( }8 c+ U( o/ O }0 T5 @6 F4 v" H5 B! w, C) t% {
4 W7 O& N. o* d} |
|