|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( B6 z w2 r4 m1 f6 K$ I+ l% K
( H, }7 W; t- v" K: h6 i本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! p1 D% u) w& @. A; x5 b, J. e/ n
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 a6 n* v( Z% Y) r# w
swarm.SignatureNotFoundException/ v" |# r2 V, `2 S$ [! K
at swarm.Selector.<init>(Selector.java:76)6 w# \! x" s/ I& n$ w
at ActionGroupDemo.<init>(ActionGroupDemo.java:37); b6 A+ { y5 b+ y
at ActionGroupDemo.main(ActionGroupDemo.java:67)
. } E# b! A! y7 Y7 B" O: z0 Y- u! p. i* V! Q/ F$ R, a
3 J9 W x+ R. i5 _( W
import swarm.objectbase.SwarmImpl;4 w5 H0 I, T6 S; j3 K
import swarm.objectbase.Swarm;
3 I+ z# K) T( E! G5 _import swarm.activity.ScheduleImpl;
0 @; y9 p5 ~# r4 O; Zimport swarm.activity.Activity;
. x: [ W9 P; G, }import swarm.activity.ActionGroupImpl;
/ O$ {" \4 P2 {- l/ i8 v' kimport swarm.collections.ListImpl;, x( s3 G! U5 y; V# L. D- a
import swarm.defobj.Zone; & V8 M4 `; n& c
import swarm.Globals;
0 l6 @9 ^6 _/ n: O7 J3 B: k8 X# limport swarm.Selector;( S0 f( m, G0 J
import swarm.activity.ActionGroup; " Z! B0 g0 z# i! Z4 D
class Agent {4 K* \4 M9 e' q" \ @
char id;
0 y8 `" j9 N. n y# L$ Y" z
! F) @4 ]2 [7 r' |; G3 T5 d Agent(char id) {6 _; H( u# }! T k8 m
this.id = id;- e9 c) ~, s# X
}8 }; N/ G; B$ V, S2 C1 g- o
" x3 O2 D, v7 f% C" Y- w& B, n2 W public void agentStep() {
2 @7 S5 K# b% Y) l# x) E, o \ System.out.println(id + ":" + Globals.env.getCurrentTime());0 y# [' n* d3 O) V
}
; c5 n8 ~6 V2 J! F' _' G" |}) I: X) M. D/ E
# s+ A8 y1 t( o
public class ActionGroupDemo extends SwarmImpl {
# i8 Y& z0 u' N0 C0 K ScheduleImpl schedule;
. h$ O) e* b' Q. U2 ]6 P ActionGroupImpl actionGroup;
8 W+ C4 W; B9 ~/ h ListImpl list;" x7 @, ^% E% B5 {
char Id = 'a';
! U8 A7 [- [9 h9 `2 n P4 S/ O' j3 X: W. k. u4 g# q7 U' r# m
ActionGroupDemo(Zone aZone) {
, l0 N* B& p5 \# E; x super(aZone);% ^; W* T) D2 d# p6 t8 J/ N7 y9 F' N
list = new ListImpl(aZone);8 _9 [# W6 ?* G' b. \6 ^
swarmSetp();+ w" C; D/ F/ o( I; _" @
actionGroup = new ActionGroupImpl(aZone);
# `$ ^- k' b i: O, u schedule = new ScheduleImpl(aZone);/ Y+ e# K8 B7 d& C9 U2 E
try {3 |3 f. F7 j8 f) g5 x
Selector agentSel = new Selector(Agent.class, "agentStep", false);
- t4 r: o6 P9 v$ ?( `( a, G& o Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
q/ m3 W& k. B3 E4 k% N5 w, I
. G5 `1 e, X& r. G! ~ B* B actionGroup.createActionForEach$message(list, agentSel);1 `0 i# C5 m* ]+ n) U
actionGroup.createActionTo$message(this, swarmSel); V% ^$ K4 }: A0 F2 f
schedule.at$createAction(0, actionGroup);; k" D5 o( x' g; D1 z( o% f7 d
schedule.at$createAction(1, actionGroup);
' s8 ?' v% W: V9 ^6 y9 Z3 M schedule.at$createAction(2, actionGroup);
* W# O/ ] _+ w. j. ~4 p! C, w- X, K% Q/ Q* i/ L& k9 s
} catch (Exception e) {3 F5 A. V9 t1 Z* Z: ]0 h. e
e.printStackTrace(System.err);
- W% n; b0 F" |$ d5 } //System.out.println(e);4 o9 a1 E4 X6 J1 m
System.exit(1);
; P9 ~+ `( |& e* Y) e, F }4 u" l4 f9 H5 R K" s& H9 Y
: }& y c5 E, w% u2 V z9 T
# Q4 c1 b% G2 D. C$ K
}
) h# ?; @! G4 a o7 U1 @5 l4 @; j( h: k r* I/ T6 F
private void swarmSetp() {
' R2 Q" r) G/ i' Y5 v, K list.addLast(new Agent(Id));
9 Y; z6 f% Q5 c9 Z* r Id++;) m7 e: {4 h# I# f0 V; F! F
}
. _3 D9 h8 `3 [) P* y E2 \, ]5 h' Y1 w/ |9 P3 G( A
public Activity activateIn(Swarm context) {
$ Y. {1 I ^9 R. T C/ r super.activateIn(context);
7 Z6 V7 h$ F9 ^+ H) b- Y6 z' o schedule.activateIn(this);
; }% d( z9 |! T return getActivity();
) c2 C0 V! X7 ^5 i. h }1 W) Q. f* q7 }
' x& C2 E% f5 e6 Q8 ?% J- e
public static void main(String[] args) {. a* U- A* T' i3 U% `
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);* H- `: T$ p! B& }5 l! ~
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);. z8 C0 ?. O3 k3 B2 A9 G
swarms.buildObjects();% o1 S+ ?' U7 X* G7 `% T
swarms.buildActions();
$ T% N0 _/ b% U swarms.activateIn(null).run();6 F! u$ L5 N! E$ B C$ [/ A$ x
}
5 w0 f; e& P) j Z4 Y
! L6 E! @" U% T6 T) E) ?0 x} |
|