|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 + a) r6 M) k% y- b
2 E- I4 E9 X [! G
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21: W( }) ]4 r; h. i ]
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 T8 R o5 a6 a0 j8 L9 v$ |8 P0 ?6 O
swarm.SignatureNotFoundException
1 b; |1 @7 g3 {: D. j& z/ { at swarm.Selector.<init>(Selector.java:76)0 u* X. v6 ^: m3 x2 M6 t
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 Z* r" ?8 G8 D- Q3 T) f- K6 J
at ActionGroupDemo.main(ActionGroupDemo.java:67)
9 d) B5 d% M' Y3 J, F9 n7 v4 [( F& B, ~) F8 l5 ]- P: g
8 {. O4 W3 k- u; ^ q9 `& q' d
import swarm.objectbase.SwarmImpl;
" G0 c" [2 {; T8 L* iimport swarm.objectbase.Swarm;0 t& G" o0 w) s
import swarm.activity.ScheduleImpl;
) H% l" p/ P% S0 H, N; b' X& ximport swarm.activity.Activity;
# G& d4 F& q: r2 _import swarm.activity.ActionGroupImpl;
( E. i. d; r* i3 t5 Rimport swarm.collections.ListImpl;5 @5 X6 Y" ^6 X& Y. W
import swarm.defobj.Zone; ) I; L4 v9 a0 h1 k
import swarm.Globals;
6 K7 ]4 b/ Y9 I2 c2 T! Eimport swarm.Selector;5 U) [5 [5 j- H5 g2 ] A
import swarm.activity.ActionGroup;
2 w, A. W* g2 E" ]class Agent {% O! g8 _2 Z' T- m
char id;
8 H! v$ \ K8 O6 H' C" x' v B* O9 I% g. S* M- @9 a& S
Agent(char id) {3 h% e) P: n- \: H D, N$ @
this.id = id;7 n$ U" I6 U* E$ c) W! d
}) d2 ]5 R/ ], R5 k
) @8 Z* k. C/ @9 q1 |& V/ f
public void agentStep() {- }- [2 s5 m: O( U5 L
System.out.println(id + ":" + Globals.env.getCurrentTime());1 B8 @ e: w* f* r. \1 F) H/ {
}
# ?4 r8 H/ C8 @8 f+ X}, I& b' u# e2 h5 `
! i- z9 D+ m [3 F, W3 {public class ActionGroupDemo extends SwarmImpl {8 g, P4 N# h9 x3 V* M& O
ScheduleImpl schedule;. Q% I/ T5 V- o: l- M; P
ActionGroupImpl actionGroup;
: _* @ L+ @( u6 o% \9 N ListImpl list;
% a( Z8 O9 o1 ? e8 u& C char Id = 'a';8 A+ x7 Z+ h; r9 R
0 D, w3 x, _; y8 M) b" e ActionGroupDemo(Zone aZone) {; m) _& x# Z. S! ^: b2 ~4 N& ^
super(aZone);1 Z# m4 Y9 I% d& q. \+ @) S9 b0 h$ J
list = new ListImpl(aZone);
3 ?/ \* s: ?+ s' [4 n swarmSetp();+ ~2 }" J! u% z, L* R
actionGroup = new ActionGroupImpl(aZone);
$ K) r, A& t/ w2 o6 H1 j7 G* L schedule = new ScheduleImpl(aZone);
. m4 Y) h# D C$ a5 H( t; s2 H# ^ try {' I+ ?6 ^7 Y4 i. V
Selector agentSel = new Selector(Agent.class, "agentStep", false);' B! j6 ?3 P, b) L( ]* O! F/ _
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' M% M9 z! C# _2 l n5 `7 V
! R$ @5 g4 t' O. N actionGroup.createActionForEach$message(list, agentSel);
/ T* W# a2 j2 e; }& x/ V3 y actionGroup.createActionTo$message(this, swarmSel);
" K$ ?4 _ f5 H9 u# F- ]4 L$ i schedule.at$createAction(0, actionGroup);
" [: x: \ r% X( a2 E9 |4 k schedule.at$createAction(1, actionGroup);9 J/ {' L7 l' R8 P: j2 `) w
schedule.at$createAction(2, actionGroup);
( z& l' k& u# N% z# z: J8 Z+ a
8 M4 o: b4 C3 Y" I( X0 r( o } catch (Exception e) {
: a6 K" y# U( r& _% U6 K e.printStackTrace(System.err); y5 o* ~' N( n% S& g, s2 P
//System.out.println(e);
4 `* ^" k- R( R System.exit(1);) i$ t4 l% c2 L" l
}/ n6 R( A- H, ]6 |' o/ h% x& _) g7 i4 Q
& D h& h* }# e7 W# v2 _
9 s. d& l1 A9 h d }
/ h! R+ `6 P3 z s5 A- N. P$ h# Q! ~: [ g' U
private void swarmSetp() {
0 L& P+ k: A1 V* X. z3 L5 d list.addLast(new Agent(Id));
p' V8 ]9 Y' N9 _. n Id++;. r( {0 b0 T5 f/ R
}
- U \5 r6 J7 ^( v% w0 q) W2 q& \, _. K9 {* m
public Activity activateIn(Swarm context) {7 D, }* U' Q" q' v; A, h
super.activateIn(context);7 p: j) J2 C; R( e2 G$ ~
schedule.activateIn(this);
1 N8 a$ L( A# B7 q return getActivity();8 H; Z9 I# ^' g3 |* L% y0 v7 O
}
" X( j3 _, I% M% T7 }6 ^% r% ~1 @2 g r6 d
public static void main(String[] args) {" i4 F+ J% w# U+ a
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 Y4 Z# O. p: {$ ^3 D7 Y Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
9 v- N$ X) c: p$ e; m R+ s swarms.buildObjects();
) ~, G) Z# M" A2 v+ c swarms.buildActions();
9 T/ U# `; U0 n0 t) |+ E swarms.activateIn(null).run();$ D' S0 {1 U& K5 W" m
}
0 x# g4 B$ X+ u# q" a+ s- q( {9 B. Q. N4 p& v
} |
|