|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ; l, l" ]5 W7 H8 ~* ?4 T" C
+ g& p% y: I$ ]' R/ g本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 ?+ {( t8 O2 h0 q1 H6 m0 L% u
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' C' D0 ]& j. X+ h9 q6 M# W
swarm.SignatureNotFoundException0 \: b# d0 v D7 K) V8 c4 s6 Y. t
at swarm.Selector.<init>(Selector.java:76)
+ X9 j) v! A3 T8 Z8 H at ActionGroupDemo.<init>(ActionGroupDemo.java:37)6 \" v0 q7 U8 W/ E/ p2 s
at ActionGroupDemo.main(ActionGroupDemo.java:67)
3 A+ r c, {8 Y+ B: H: @ T% x7 p
* w y% u' f; H D% H0 b. G2 vimport swarm.objectbase.SwarmImpl;6 p9 A* t1 l* g O$ f( O
import swarm.objectbase.Swarm;% j0 c3 z/ Q+ `8 |2 ?/ k, S
import swarm.activity.ScheduleImpl;
, H- H8 n! d) g# f7 w: bimport swarm.activity.Activity;2 o4 H7 N& S. [ Z, G
import swarm.activity.ActionGroupImpl;
; c/ Q; E% s& D. ^) L. B ]& O$ Gimport swarm.collections.ListImpl;% p! N) B% ]2 J4 T9 [
import swarm.defobj.Zone; 2 h1 M- m% I4 ^- ]
import swarm.Globals;+ z9 F0 n* _8 S2 U, Q, \
import swarm.Selector;
7 t Y1 R2 L7 \1 n {, a8 O. timport swarm.activity.ActionGroup; X% }' k" b1 e3 k
class Agent {
3 }2 Y- ]5 } F* A6 ]: q7 L6 o char id;
$ a6 i2 D9 R- r. e( F% H- P
5 x' m2 g- p& T* r Agent(char id) {( I! x) u! `9 u7 u0 E: T
this.id = id;, L4 R* P( V+ S* b" I, f6 R
}
E9 P8 c0 K9 A. {+ N! x
8 {7 N+ l; m. T- q5 }: h public void agentStep() {
% P, X. i/ [4 J0 s System.out.println(id + ":" + Globals.env.getCurrentTime());
% t9 a( O6 ^9 s* {" f }% G+ }& X4 k: t7 ~
}
2 P. J) `3 u% m9 t% x, ^# A, H1 b5 t8 V
public class ActionGroupDemo extends SwarmImpl {3 E4 h# @( R" s2 c) U) B2 x, s
ScheduleImpl schedule;9 R% I5 M1 H$ V0 }+ z) n
ActionGroupImpl actionGroup;
/ S# |. Q* A" [ ListImpl list;
3 T& K1 x& m9 P" H char Id = 'a';
2 W5 M( \% ?' v- C/ J* d
+ v/ q. u2 A. d: b$ C ActionGroupDemo(Zone aZone) {
: E" d B9 L) U: z super(aZone);
; q6 R+ m( h5 S: r0 Q, j( k& E+ E list = new ListImpl(aZone);
4 R( a5 u6 O: P, }5 K( \7 i swarmSetp(); z% c& Z/ o) j s7 \6 _0 ]
actionGroup = new ActionGroupImpl(aZone);
) p$ H# ^) f; J" {- X2 G schedule = new ScheduleImpl(aZone);
2 m; O* P* L t. C, [+ P try {, V8 ~1 u: p5 ?8 y# e
Selector agentSel = new Selector(Agent.class, "agentStep", false);
6 X; u0 b5 L c4 ~+ K4 Z+ ^ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
& p0 `. d& l* e" b$ ]1 Z. z! g . T& A" y; N) R. P) h
actionGroup.createActionForEach$message(list, agentSel);- O. v* j2 @/ W9 ~1 Z2 v: ?
actionGroup.createActionTo$message(this, swarmSel);
- u/ Y4 C. U7 A( e6 J# k" Z schedule.at$createAction(0, actionGroup);% o: K; R: Q7 \" H
schedule.at$createAction(1, actionGroup);
6 z" m# l2 G1 t7 ?' X schedule.at$createAction(2, actionGroup);7 B! F1 M& h9 J+ G
' u3 s" y' f8 V" O W2 A } catch (Exception e) {
5 m0 S3 v9 H k e.printStackTrace(System.err);6 s+ S0 \5 n3 n' s4 {
//System.out.println(e);( @" i* g9 M$ [; B, s% K l3 L7 b
System.exit(1);( D/ I& D1 g% k0 k
}: f! e G1 r- n7 K
% W* U: i2 L6 b1 a
7 w+ j- T) l3 D' X
}+ ]8 p: J3 o6 l7 z3 a: n
3 v! U4 @; D% D! ?0 H; p0 C8 D8 K; Q
private void swarmSetp() {/ z( T( I$ B2 w6 [/ T: ^
list.addLast(new Agent(Id));
# u* A ~. |. W; \" b$ Y( l Id++;+ b/ g" m9 w2 Y! t+ J: a3 p
}6 L6 _0 i. I% b
: F# ^% ~$ f' F y
public Activity activateIn(Swarm context) {4 J B2 I6 {# ~ _; X
super.activateIn(context);2 x* O. {0 g1 L# q+ r- _/ M2 A
schedule.activateIn(this);- x& K5 ^; z3 A8 X' X" S( ]$ O
return getActivity();- ^8 q9 G: P* G! w
}, ~/ j& i. s; C! U& w1 x) I. l
$ B* ~( D! q! ?/ p public static void main(String[] args) {+ r4 {% |7 q# x* |& h
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);2 d% @7 c5 N2 b' ^7 F+ T, b
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 T- w u7 }) Z$ e# K* p
swarms.buildObjects();. |2 |! o5 o" M. N w1 L$ x
swarms.buildActions();
; j# g, V- N$ ~3 D swarms.activateIn(null).run();
* A1 B! p) x! V+ @2 v9 ]/ Q }
) p& J2 m5 J) u9 C; L5 d; t) w& m4 |- [
} |
|