|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ; z( m' i# S# P2 k. q
5 F- S6 G& U: C本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# r' [$ @: P, f1 g5 Y) R3 P
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
2 E( i, x! x# U1 ^swarm.SignatureNotFoundException l: O; i( h/ H) Z
at swarm.Selector.<init>(Selector.java:76)0 P" K" R6 g9 \9 t3 T3 o
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
6 U3 _" M7 M7 x3 ^. o at ActionGroupDemo.main(ActionGroupDemo.java:67)/ a) t) ?" l7 s8 M5 d
% {; C; z" X; o& E+ W
5 o+ M! p% J4 F9 kimport swarm.objectbase.SwarmImpl;
4 E; P3 b( \2 l0 Z& ]# n3 R# i. G% T1 Aimport swarm.objectbase.Swarm;8 v4 m0 O& O/ q( A" r$ ? D$ @
import swarm.activity.ScheduleImpl;
$ r7 A! u% W1 _: I" `$ D$ g: Kimport swarm.activity.Activity;
! m: M# X: j* Yimport swarm.activity.ActionGroupImpl;
4 x; E8 i) _7 A# k4 j+ |import swarm.collections.ListImpl;
1 [+ m) t; i3 Z( Yimport swarm.defobj.Zone; / X7 Q) {( l) c: B: ~- M) _
import swarm.Globals;
% P0 \$ I2 G- ^) x# J6 [import swarm.Selector;
. z3 A/ w4 q# y. v3 d. eimport swarm.activity.ActionGroup; 1 j4 P& }' |9 S+ l8 z) o$ S& x
class Agent {: T F6 U0 d6 q7 D9 L
char id;4 {6 ~0 R& w5 \% U% V
2 }# h- i* X9 j4 Z- s4 |; E( E Agent(char id) {/ l% F% M& e* H
this.id = id;
- M* E1 q9 u, x }4 q9 v! }9 w/ W0 _
9 q, v1 J- C% R5 Y7 x. L) k public void agentStep() {
# X5 Y3 S) ^0 C, h8 P7 [0 f System.out.println(id + ":" + Globals.env.getCurrentTime());
3 r \5 p- f; Z }
) N% [. m. e, {! e}( B0 v- w8 x- v' l' `# i
" C }/ z) L+ k' ]7 v- _0 r
public class ActionGroupDemo extends SwarmImpl {
! j0 m, b4 w A ScheduleImpl schedule;( u( n' M. d- U# \
ActionGroupImpl actionGroup;9 K1 z% U f& T" i
ListImpl list;
0 f% i9 j; ~* k8 u' E0 ~ l char Id = 'a';- |% R' s7 A2 \; M6 P$ r
2 z Y( d: C/ M) o' V0 F9 E( p9 J! [ ActionGroupDemo(Zone aZone) {
# G1 L& y0 R1 t" U5 \) P- P" |- s super(aZone);
: ^! H( d" l2 b! q1 q list = new ListImpl(aZone);
2 l+ I# D2 [6 \* ?$ O0 C swarmSetp();
* L: t8 T) F) v& i! W/ j. E actionGroup = new ActionGroupImpl(aZone);! u' |$ m5 `. Z8 |& ^* q
schedule = new ScheduleImpl(aZone);4 t, r" w9 _0 V) l9 U. [
try {+ C" a3 M1 z3 p& e' y: J
Selector agentSel = new Selector(Agent.class, "agentStep", false);9 w; {9 @; |( D* Q) k
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行0 n0 o W+ } Z0 J4 R4 L0 u
4 X- ^( I& a- w) K
actionGroup.createActionForEach$message(list, agentSel);
9 T' \/ Z/ q0 d$ n) A% V actionGroup.createActionTo$message(this, swarmSel);/ [! t/ a; M: g+ p5 M
schedule.at$createAction(0, actionGroup);
* a. u, }- q5 Q3 y% L* W! a schedule.at$createAction(1, actionGroup);
8 O/ I) f/ Q" d( n9 @. S, A( @ schedule.at$createAction(2, actionGroup);# o* P. v( \3 P. a- t+ x$ R) y
2 ~/ W6 Y# G) _" j% Q: Y# n } catch (Exception e) {. ?$ C& A: _& _( s1 k% \
e.printStackTrace(System.err);
9 d0 g. h! ?6 W$ L' f //System.out.println(e);
- N, k! A% [1 l0 o9 ~8 M5 d: u2 r! O System.exit(1);
' c) V& _+ \- D1 j' S }8 k# g) I( t/ L7 j Q* V
! D9 Y& {- g1 E+ x, T
9 @, |3 Y9 W3 w' V/ N. m
}- o- o8 Q2 a8 n3 X' V; A) G; A
& u9 q! c; B/ x1 Z2 ~- n
private void swarmSetp() {% _# l6 L% b/ x+ [% ^9 R% G
list.addLast(new Agent(Id));0 ~; p. ^% \. \6 M e
Id++;' L9 N7 ^1 Y% h! Y7 l+ v# c* d3 p" `
}
& | `( g- u. N% n+ z7 c- {3 L- m. A3 W+ `; X# s3 q
public Activity activateIn(Swarm context) {( h& A- i. u- h& P7 g1 W. b7 d
super.activateIn(context);
# F5 k' d; D! I4 k8 o# u5 W schedule.activateIn(this);" H6 b6 ]* J; R" N) i. K/ R
return getActivity();, S' V3 }% _$ K8 s' Z% d
}
0 s! a0 M2 V" s' q% r/ _! a$ `/ J" ^8 L' J8 K3 Y5 \
public static void main(String[] args) {( H) C, o+ \, N o2 _4 v/ f% q9 c; V
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% W- g# p5 Y6 j. M; e4 Z) F Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
- ], R5 d" A& @2 o" e2 |) r- \ swarms.buildObjects();$ n# u- j- @3 Z$ O& V4 ^2 B4 @) W
swarms.buildActions();( U. g5 ^. Z' y+ W$ Q2 f
swarms.activateIn(null).run();
2 n2 y% h" i. @- n5 u }
# A7 a. W W6 x4 y5 m
9 l3 c% Q" t1 @( D} |
|