|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& m* ]7 F, w) Q# \% @8 _9 y& O8 B6 [* `1 s$ U! c3 y
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! x2 ] M6 W& W$ x以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* F$ s- L& ]" K$ T% Z/ _2 O
swarm.SignatureNotFoundException
$ R( y% V2 D3 r at swarm.Selector.<init>(Selector.java:76)
9 C \; @; j( r7 _0 I5 i at ActionGroupDemo.<init>(ActionGroupDemo.java:37)' _8 S; E( A# r/ R0 r9 z4 d, G
at ActionGroupDemo.main(ActionGroupDemo.java:67)3 z" l: `4 z0 ~& F4 O
& `" A8 |3 ?" I: u. M9 Y
' w, X, W3 q7 w4 [import swarm.objectbase.SwarmImpl;
p# n: @% X/ ?' Q' ximport swarm.objectbase.Swarm;" }) Q0 V7 m- _- T
import swarm.activity.ScheduleImpl;" I# v2 A/ j. f* ]2 ]
import swarm.activity.Activity;
3 c2 i8 r5 c* D! oimport swarm.activity.ActionGroupImpl;9 p% l% x% u) c* k
import swarm.collections.ListImpl;
5 K3 t, t" t/ E! t! @import swarm.defobj.Zone; 4 ]$ [3 J; x8 @# p& X( b
import swarm.Globals;
9 M) M; n, _# E- F6 d" O0 K$ Bimport swarm.Selector;
7 _# X3 y5 s7 ~% k, q2 _import swarm.activity.ActionGroup; 1 C* }8 z8 e( V+ w- |! B
class Agent {
$ @; F& d/ j4 B+ X char id;2 m( D6 H* J) _; ]
. n& P$ i) n7 `, m
Agent(char id) {( O/ X% x" A1 T' D
this.id = id;
; ^' l) A' m2 j/ S t8 U: L }/ @4 j2 [$ L1 w+ b Q, R2 g
, @. t( \" L, ^3 n( G9 k( T4 a
public void agentStep() { E8 o& t! \ s
System.out.println(id + ":" + Globals.env.getCurrentTime());
5 j# y0 ?/ t. A( F \0 E }
$ k5 W3 @- G9 l: x/ H1 i}
3 Z- t* T) d% a2 ~- \7 S( f. u" E8 x3 t- W# F
public class ActionGroupDemo extends SwarmImpl {
& D2 w) i2 J- Q/ l( `! e+ u ScheduleImpl schedule;
: h2 h$ }1 e c ActionGroupImpl actionGroup;5 u5 P& K% K8 U% r: k, F7 V
ListImpl list;7 R9 N# b. y' V) {' Y3 i
char Id = 'a';
% l6 x) N- o, d9 V% Q
' m1 ^: Y& B- K e! g, X- | ActionGroupDemo(Zone aZone) { y J# v) C1 o2 n0 D% e
super(aZone); h* V% H+ X" X6 P" R
list = new ListImpl(aZone);8 f( r0 `9 b3 n
swarmSetp();
6 @9 [: o* D8 ]3 |4 i$ F actionGroup = new ActionGroupImpl(aZone);
9 ^2 G9 _" C/ H schedule = new ScheduleImpl(aZone);
6 ]9 K# U- y* u1 ~% ~) o: N7 G try {
/ N* F5 h! Y4 L- ~* _ Selector agentSel = new Selector(Agent.class, "agentStep", false);. B9 d/ L! B* K$ T
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行* e4 j( e$ ]2 h R7 F. x0 K) C
/ k/ f# n7 S1 g n
actionGroup.createActionForEach$message(list, agentSel);
O3 H5 G9 ? _: ^/ t actionGroup.createActionTo$message(this, swarmSel);% N- U% x |% |& a8 @
schedule.at$createAction(0, actionGroup);9 o3 O- Z9 N- e
schedule.at$createAction(1, actionGroup);
& L# k U8 k' o* o2 D9 |! [. \! Q schedule.at$createAction(2, actionGroup);* @0 |) l' u) L( A( i& n0 Y
. d! F" P7 K# ]) {' T$ Z5 G
} catch (Exception e) {$ d J/ I3 z/ A8 t
e.printStackTrace(System.err);
; E/ a" A# R/ O9 u( y //System.out.println(e);, p! q4 _& ^1 k5 @4 ?) ~
System.exit(1); a/ N% P2 r- u. n) Z0 z
}
1 p" R/ a+ X) l' _: x w, `: q& `8 k& l" X6 v* S, u2 i
( [ N/ z d7 H! e0 f }% r2 e2 K* N, h- M9 O: g
2 g5 T$ D* U- q; y, I1 Z; u/ X private void swarmSetp() {
- o& W0 ]9 K- o- R" h. X5 r list.addLast(new Agent(Id));
1 Y- D7 X( E& z! X; g7 q9 o2 s+ |6 l" G Id++;
$ h' D' i1 i+ @. h. w- `6 e }
+ @9 w% P; p1 s' L8 [4 @3 F1 I2 r7 e, P* [8 y3 H
public Activity activateIn(Swarm context) {
: J" l U" a% m# V5 k super.activateIn(context);
* P/ b: t, D; N: N U schedule.activateIn(this);3 K5 K) _, ?; w6 z+ P
return getActivity();; ^0 Z1 D# l( \; T6 F
}8 {" o G7 [; i' O. o0 ^2 }; @/ z
/ D/ _* i/ u' }5 e" b9 s; e# ^3 D
public static void main(String[] args) {
o' M9 I3 R4 k1 Q Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);9 p/ N: }" d* D, j: j
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
9 u" n. N; ?3 y: q0 P swarms.buildObjects();% E! k5 Q8 |2 m1 D7 d9 @9 i8 l
swarms.buildActions();
( t; F9 o& F" a0 ?& k# T y swarms.activateIn(null).run();
! ]8 O. X/ ^" p& f" O. q }
& U1 `3 F" W% G, z9 b. ~# E5 u2 P# Z1 x O
} |
|