|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 7 q5 F9 o( b2 Z& S
* j# q1 Y/ V8 V8 N4 q6 \
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, `3 o7 m( H/ W
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
" N. T8 S' w& d# ~swarm.SignatureNotFoundException+ h% A% u5 X, o- c! z
at swarm.Selector.<init>(Selector.java:76)/ f' b1 O S. ~/ {4 E V
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
+ Q1 j' t! m' @/ n at ActionGroupDemo.main(ActionGroupDemo.java:67)
! F/ ?5 R+ }0 Q8 E& _6 K8 E F2 q0 k& L+ k5 p5 N+ C) {( a
T) ]5 k& R% D# o7 d8 limport swarm.objectbase.SwarmImpl;* @" D# C' R) f- x l! h$ j0 ?+ C
import swarm.objectbase.Swarm;1 T2 A4 p& U+ w' z/ |/ W# j
import swarm.activity.ScheduleImpl;9 ?5 x! m K5 j) o2 ]* R; R7 o6 I
import swarm.activity.Activity;4 v9 [1 w, W3 _8 R
import swarm.activity.ActionGroupImpl;, B4 N. j# l, L1 ?0 ]9 U: c
import swarm.collections.ListImpl;% x' y( m- r. W8 Q1 @$ @1 a
import swarm.defobj.Zone;
/ f% S3 E* ^# s4 \ Bimport swarm.Globals;
3 e" K1 h$ C- v" g: Yimport swarm.Selector;- F) q% J; H( ?+ s, ?6 Q6 n4 t1 W
import swarm.activity.ActionGroup; % ?! {& |: l* x3 [' k- r5 E Z6 g. t
class Agent { t+ o8 U9 W u
char id;/ C0 G! ]9 {+ E! x, g
y4 r3 _+ U F& g' x! E
Agent(char id) {
+ R# o' f7 v) ^5 H& O7 W/ [$ M this.id = id;7 v% @3 j8 x% `" L& y j- x
}8 a! K2 _, K7 _/ M: R
S; H- Q* r* |: ^! V public void agentStep() {
1 E! B; N( X/ J% z System.out.println(id + ":" + Globals.env.getCurrentTime());7 {1 N% _# c1 j6 q2 w3 h7 K7 J
}
' o( a9 y3 Z& H V}; H* W5 E( c$ N& F
5 ~" s& G9 P5 p5 s o- Upublic class ActionGroupDemo extends SwarmImpl {6 X, }4 n' q6 F4 u$ P0 ~% w
ScheduleImpl schedule;; @9 O' }% A+ n$ ?% z5 e4 D
ActionGroupImpl actionGroup;
- e) a$ |9 I4 j+ Q; D9 h ListImpl list;& ~6 [* u5 l& S5 \& y
char Id = 'a';
0 U+ u, E3 q+ N) v8 S4 \) ^
6 W+ S; D ~; @' C. t7 c ActionGroupDemo(Zone aZone) { _+ u* r; w: }* l. J
super(aZone);
. M" K8 F; L& o7 m list = new ListImpl(aZone);
, s6 l" G- K# B1 b/ v& c9 Z swarmSetp();' H" w, V: D" A
actionGroup = new ActionGroupImpl(aZone);
! E; T! S) u4 S7 l6 n$ L schedule = new ScheduleImpl(aZone);
* c; F# L9 s- t3 x Y try {" Z1 ^9 C$ o6 B( w0 R, A8 c) j
Selector agentSel = new Selector(Agent.class, "agentStep", false);! o, h2 s) @' O2 _7 T
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
5 k# d) F& v& n
* r' j% s8 z- J% S, L% J2 H actionGroup.createActionForEach$message(list, agentSel);
1 B7 s8 |3 _; R$ j3 v2 \. l actionGroup.createActionTo$message(this, swarmSel);
0 u2 `2 O9 E- W9 \5 V$ o schedule.at$createAction(0, actionGroup);
2 h9 a k) m g$ B4 k schedule.at$createAction(1, actionGroup);
" d4 @7 a8 W: q schedule.at$createAction(2, actionGroup);0 V! m% U1 n1 y7 D2 l
/ r: d) S* s* m1 Y7 b h
} catch (Exception e) {* F+ V' j) l) T
e.printStackTrace(System.err);
* |5 T: ^3 e$ R4 r2 `, { //System.out.println(e);
. W; Q. \# D# w: ]$ y# R' j System.exit(1);3 \! n4 h6 [2 b
}8 V" ~* a% P1 O6 c4 Z
9 k9 v& J3 C7 C
! S, S+ F% Y- `4 C& ]0 g }
( w7 J, |& w. Y) L
5 @8 ` N: e' y- K private void swarmSetp() {& [ p5 G1 t. u# a
list.addLast(new Agent(Id));
" Q$ ]& h, M5 f; @2 c$ t Id++;
, ?! x6 M; O$ \ } d/ R/ z3 n1 W2 T8 L$ B* m1 T# I7 z6 ^9 m
8 _6 s* c: I9 _& I public Activity activateIn(Swarm context) {5 M$ K9 R! j' a
super.activateIn(context);
2 m X3 ?5 G8 ]3 u! i0 M schedule.activateIn(this);
2 T- O' z) w$ R( r return getActivity();8 o7 d8 m/ M/ _0 N8 j4 W
}! M7 j$ B- h7 J! {$ X( L
5 F% x4 H( J( H! z$ ]1 h! Y$ S) i* T
public static void main(String[] args) {
. `. v: C5 k% ~ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);! r/ n! D4 f7 s+ U
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; `& G/ `4 e- A# v swarms.buildObjects();
; A6 X2 n0 @# h7 ^; Z& V o/ S swarms.buildActions();
# ~" G7 S( }9 `) h2 z swarms.activateIn(null).run();3 E* Y; q' Q5 H: s
}
3 E2 Q" r3 _8 T& f; S
/ o5 v8 L( q- I; N( _} |
|