|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . j5 l# u" [7 t0 _
7 E! _* ]* G% V) S& R本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 l) ?& R9 P. W- k6 V+ Q$ n% G
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# G9 W7 D# y L& jswarm.SignatureNotFoundException
) g+ T# d4 d! |9 X! K" ` at swarm.Selector.<init>(Selector.java:76)+ Z% ?# O( A2 g
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
: W0 E% t' m* A5 {: M) Z: i( D' M at ActionGroupDemo.main(ActionGroupDemo.java:67), O- ^" K, i f Z
5 |7 r- p, Z+ [2 A7 h% ^2 V; ]$ d/ a( @/ i- q# C
import swarm.objectbase.SwarmImpl;$ g9 Z, \" w: G- N d
import swarm.objectbase.Swarm;
2 s( ^- Z" p7 U& ~import swarm.activity.ScheduleImpl;
# a$ G: O& x: P. {( e8 R( Yimport swarm.activity.Activity;8 K9 [7 t; U0 u9 c6 G2 ]* @
import swarm.activity.ActionGroupImpl;5 w/ y/ i0 u9 k7 J
import swarm.collections.ListImpl;: ~& K& F3 p h# {* E
import swarm.defobj.Zone; + K6 }& m5 C/ o# ^# A
import swarm.Globals;
% F( v9 q p* @import swarm.Selector;
Y a P+ e- G. d: \+ Aimport swarm.activity.ActionGroup; & e+ [3 p+ ~" Q* I4 x
class Agent {
- k2 l a W8 W5 q: S& Y, i3 t char id; I3 A! X @- x/ w% `9 _
9 A; w% L4 N. O0 u7 y; v
Agent(char id) {3 W+ G8 v: J& [0 h: V9 C
this.id = id;
3 ?7 S- B! A( G# y% b! ^+ p: @8 s }
$ L- w$ ?6 w* K; \( Q' Z1 }7 `6 _" m/ s' W: L* O' `% s( j
public void agentStep() {3 e- m# \& `( i. S5 h1 G
System.out.println(id + ":" + Globals.env.getCurrentTime());6 f2 w7 c% w3 O* R
}
9 I% m9 X2 S D8 u+ z D}: f1 m" s9 `0 w. |( o2 b- B
; F3 n4 @' ]8 l. s/ Xpublic class ActionGroupDemo extends SwarmImpl {- i, l6 ~# n5 O4 u
ScheduleImpl schedule;
) A, Y) }* ~ g$ H1 F7 H ActionGroupImpl actionGroup; b P% W; _; A) i" b
ListImpl list;# A* J; j' f% w' X1 {9 w6 k1 n
char Id = 'a';
+ `( j6 R. G3 m+ W7 l8 v3 K+ x5 X
ActionGroupDemo(Zone aZone) {
$ B/ l* j* ^$ p3 X( P+ y super(aZone);! ~+ D |3 Z% y+ g
list = new ListImpl(aZone);
; L) L( M5 _) k- E% ^& H1 J/ G swarmSetp();
0 H$ l1 Y) E+ ]7 u1 v: h actionGroup = new ActionGroupImpl(aZone);) L6 }- ~+ b5 X5 b; v# O F6 G
schedule = new ScheduleImpl(aZone);
4 B |" M. v$ I; b6 ]7 x: T try {: r5 t" y! X6 t1 b4 s! f `
Selector agentSel = new Selector(Agent.class, "agentStep", false);
7 Q% b$ j! G g$ k; k, k6 h, D7 M Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行" r% w' l- o2 h7 r! p) I
( p: O( i1 k1 `# [4 S
actionGroup.createActionForEach$message(list, agentSel);- w& i# d, ^6 {% _
actionGroup.createActionTo$message(this, swarmSel);
8 m; I, s# J+ H) N1 c# t5 B schedule.at$createAction(0, actionGroup);, k$ R. ~+ q1 Y( R1 }% X& p3 p
schedule.at$createAction(1, actionGroup);8 t- q: n) m o8 ]& S, ` J
schedule.at$createAction(2, actionGroup);
% G4 b3 H8 D1 \ D/ o2 R! C' L3 W/ X+ q. B3 q
} catch (Exception e) {
1 l- L) n- x1 l1 E+ `( X% B6 W e.printStackTrace(System.err);( i% c" N9 u/ B* ]# @' B$ _2 R0 V- H
//System.out.println(e);
7 b+ h5 {. ~6 x1 c System.exit(1);( O& @) ~" g2 R: L
}
+ s. k" j, m. B' J0 x, t3 E% j- |: W, X/ z+ J3 y
8 Q. C0 k% p1 i% A# d" [6 X, x# Q* I' t
}
# w0 {+ O, {7 c! u6 Q! e" u7 \
private void swarmSetp() {/ ?% f( V: D- s3 v6 [1 D! Q+ z
list.addLast(new Agent(Id));
, O8 V: V' X7 A! W) j Id++;
# m1 E# Q1 X9 M3 C' ~ }& o& [ }4 z0 {6 b4 H p, b
" A$ N, g. }. {6 \
public Activity activateIn(Swarm context) {
! M* E. B! T% T6 D* S0 K( l4 d super.activateIn(context);+ R: v( d% ^, v: z4 V. @" B% ]
schedule.activateIn(this);& \& A, T) z0 I. x% g/ a& z% p
return getActivity();$ B9 x: C2 }# \0 r0 n: D4 @. u! ?8 S
}
6 A" h. I, S% D; q
* N- Q. q+ c! D- b3 l; g( P# o public static void main(String[] args) {
$ G" \$ Z- @: d5 P- _ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% q# \. g" \2 u- u Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
1 f3 O# d$ k. N! j7 G1 N. ?6 o swarms.buildObjects();5 t$ H% f# A& g6 T( n0 u
swarms.buildActions();9 R V6 d" U. {' c
swarms.activateIn(null).run();, S1 @6 I* v* ~2 H+ F5 O
}
{9 q& y b: _; ^+ g9 x7 t
* X! [3 }, V6 |, I: V} |
|