|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 C+ J! m G% v" V q, ]" |
% ~+ N! m, b0 K6 d: M本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& e6 [0 i( G; A! c
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 H1 A- s% E9 Q" v
swarm.SignatureNotFoundException9 x3 \# S; m0 z! Q+ Q' I
at swarm.Selector.<init>(Selector.java:76)4 Z1 @9 N) A4 b- E( j) O2 ~
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)+ i! J' q. H" c! A) g& V S
at ActionGroupDemo.main(ActionGroupDemo.java:67)
* M) h2 j, X' X+ U5 F/ G8 m0 V+ P' ]9 k. A6 j1 O0 C A4 o J
& @ E+ L$ {1 T" [1 l, [( ^) g4 J# ^
import swarm.objectbase.SwarmImpl;
, F7 I1 J ^( S4 t% Dimport swarm.objectbase.Swarm;* s1 x( t; a F/ M5 [' G+ \( N
import swarm.activity.ScheduleImpl;8 O! W1 ]6 q% C8 |; c
import swarm.activity.Activity;" s2 I& N; s! }/ P! o
import swarm.activity.ActionGroupImpl;
6 T7 m: {' s9 C0 wimport swarm.collections.ListImpl;
2 k' v" T+ _0 i/ t/ t/ fimport swarm.defobj.Zone; 7 D: L( j( x* V& X5 e
import swarm.Globals;6 U% a7 s$ Q( E3 `9 w$ D' V
import swarm.Selector;8 s; z5 j0 m1 W6 u8 i6 d* G) t0 R
import swarm.activity.ActionGroup; 6 J3 n2 L. V& f5 N: h4 X% k
class Agent {
4 O9 t" R; t2 |% x! n char id;" _! M& D* b1 e/ P
, G/ H$ y# o; j! l4 n3 q7 T Agent(char id) {
; b. \: q g7 B3 h2 ~' } this.id = id;
3 d7 B' _( A5 K/ u+ N/ K }
; ]: }% [# |' f+ O1 ]1 ]
1 h2 B& G) j3 B j6 P7 C& ?/ o3 @ public void agentStep() {
9 y1 }* ]7 D, Q" T3 q System.out.println(id + ":" + Globals.env.getCurrentTime());* i' H! k7 v( N- H* p8 E1 U
}
$ d# F- _$ K; K9 f}
3 Q( @# u6 f* d7 |
: r& a; P! e2 t; w1 ^% [public class ActionGroupDemo extends SwarmImpl {$ k$ T5 k6 P! K
ScheduleImpl schedule;7 O9 E: G5 ]2 F% Y( b- ]6 b
ActionGroupImpl actionGroup;
+ \0 f, }6 N9 Q1 J1 f ListImpl list;
$ c* a2 h; G' I3 l char Id = 'a';, R$ Y i5 [( d, W/ H% ^
# V7 }1 j3 J9 O; Z6 K; k
ActionGroupDemo(Zone aZone) { F0 q9 i% W1 b9 L6 h; z. I
super(aZone);
7 m- N. ?! A- |; T# l list = new ListImpl(aZone);
& e* M$ l7 @. v- G: R+ ] swarmSetp();0 r# p d- |& p! m4 }+ c4 z
actionGroup = new ActionGroupImpl(aZone);
# a% _* m. ^0 V4 s+ [. g schedule = new ScheduleImpl(aZone);: b% D" L6 t$ K. z ]) L: C
try {
4 L9 j9 r, n8 i+ z* @# `( P Selector agentSel = new Selector(Agent.class, "agentStep", false);
& ^) c4 ]/ q7 S9 v Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% V& b2 x. x5 b5 B$ K
" u& ~' w% M0 m* ?* W1 H
actionGroup.createActionForEach$message(list, agentSel);
: n3 S7 H W# W5 g' p8 }- v4 d actionGroup.createActionTo$message(this, swarmSel);
* J5 v9 G* i: g8 {: s3 B schedule.at$createAction(0, actionGroup);8 y0 p# t9 Y) v
schedule.at$createAction(1, actionGroup);1 [4 Z+ _" W( t- c$ {) u _1 L
schedule.at$createAction(2, actionGroup);1 L, v' h0 U' c5 b
# `) B8 p3 \( P } catch (Exception e) {" T! ?% X5 [6 W4 E1 M- _# z- o, w
e.printStackTrace(System.err);" T: S+ i& E$ @# x
//System.out.println(e);" c; w; Z7 L o2 h, }- x3 E
System.exit(1);
( d O# E/ _! M9 N( \ }
6 @; W4 h. l1 _4 v) E+ s5 E0 c0 R! a
9 V* J* y1 a& f! Y$ F
3 l! |) _# C* i: B8 k3 _! s }
5 l( ^3 m. v: i/ k, B7 Q, G+ c
" D) }& W5 n6 t+ E ^5 m4 [ private void swarmSetp() {
0 @; @2 R$ y p5 g( { list.addLast(new Agent(Id));" n7 R6 t1 a/ g8 d$ `6 @0 y' H
Id++;, \$ U! j& M( J0 M( d' a/ |
}0 ~9 s- `' N# N4 e& r2 l. e
/ v. F9 L) B/ E- {6 K
public Activity activateIn(Swarm context) {6 ^ F3 V y9 K M, D8 s8 D; @& b
super.activateIn(context);+ u6 V, L% T2 ]1 z. N
schedule.activateIn(this);0 B! O5 V# e! u9 [* p5 [' \
return getActivity();
6 b0 r# k( _! R& v, C% b }
0 ~3 r7 i. x) N9 f& a# Q1 `2 H* K# L/ d1 U5 g
public static void main(String[] args) {
! B) m9 T: \' u2 z Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
3 c$ C) \( d8 C: V) E( J. C2 G; D1 z Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);6 N" T( m. \! I7 v4 ^! C
swarms.buildObjects();+ C! P; e- W4 N: U
swarms.buildActions();
4 H8 u0 Z9 J5 _+ `6 c w swarms.activateIn(null).run();
( n3 Q# `: {! b4 z' l$ r }
3 j' y6 [: v% n* U0 ^# r0 r3 C2 B7 h! q9 q4 D3 f( ]) v
} |
|