|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 j0 e0 |1 \1 L2 E8 X0 i0 A! o: y: T, I# w
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, K( b, ]1 g/ E" Y7 m
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." d, I" N; ]1 K% A
swarm.SignatureNotFoundException9 m* c; o* x) G8 } ^# Q6 c
at swarm.Selector.<init>(Selector.java:76)0 | L! [$ {9 o5 |% M
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
2 D0 h5 f2 c6 i# X5 A at ActionGroupDemo.main(ActionGroupDemo.java:67)8 O6 R; F0 I! ^7 I. M6 n+ `" g" I8 @6 e4 \
: P- J i0 n) s+ d) a
, w+ G0 c8 v( U2 c5 z9 E9 K
import swarm.objectbase.SwarmImpl;4 ~% u+ W0 J7 q5 R) p( P
import swarm.objectbase.Swarm;- \/ `6 t5 C# M% T
import swarm.activity.ScheduleImpl;/ b1 W6 L( W, C: m
import swarm.activity.Activity;
1 T8 f+ E* ^( X$ l+ uimport swarm.activity.ActionGroupImpl;
8 A- p0 K m5 G& f& J! }import swarm.collections.ListImpl;
) Z; `! n7 v+ g, d) Wimport swarm.defobj.Zone;
, p) Q( N6 j" c6 V m/ L$ Z: `+ H( uimport swarm.Globals;
( v6 a( h8 F! ~' E2 g9 w6 A5 S8 Nimport swarm.Selector;
+ M+ Z9 X7 k* o$ ?8 h$ [$ S1 timport swarm.activity.ActionGroup;
% u" v2 \' C( T+ ?class Agent {
$ x0 A5 v+ F W$ _$ w. N4 j5 m char id;1 d( y- t6 }' K
' h8 D9 V: j1 e) c
Agent(char id) {+ w5 v d7 O- ?1 I- D7 |$ }
this.id = id;
# Q, p( f: P" o) z0 B. x" i }
# \7 W, R- S' R( d [
6 \' a ^8 q* I8 X public void agentStep() {1 N) ~" X$ B$ w+ ^
System.out.println(id + ":" + Globals.env.getCurrentTime());6 b" N" Q B/ ]6 P* k, z! N
}
- m# k) @+ E6 i' i}
% i& R6 Q$ K9 @4 A4 |& S
u$ j0 ^ S8 f! Npublic class ActionGroupDemo extends SwarmImpl {' a+ b3 m( V: D1 v' T# Y
ScheduleImpl schedule;! b' _, R* ]2 m! H" S1 J0 a* \7 G
ActionGroupImpl actionGroup;6 _$ r; [! E- J6 e
ListImpl list;
* t$ w" k6 O& g% a- e/ K char Id = 'a';
2 w/ C4 K/ @$ p. B, @+ [
/ N0 k0 h0 V- ^' v ActionGroupDemo(Zone aZone) {, k0 ~ _1 W: @# F0 c, y$ t
super(aZone);% X5 i2 x: e6 X) M" h, ?
list = new ListImpl(aZone);
; d, T! _7 n7 n+ R" y swarmSetp();5 n2 R. A- g+ G0 ]) p) Z/ E. Y4 ~
actionGroup = new ActionGroupImpl(aZone);
, w& `4 E0 q( a% F! } schedule = new ScheduleImpl(aZone);1 p( e/ z" r& o/ \0 }
try {1 S" |8 V% y) y2 n a
Selector agentSel = new Selector(Agent.class, "agentStep", false);+ i8 u' z. l& ?3 t# F' o
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行5 ~. o% U5 x3 d/ O% ^' _
9 v" u0 k* j Q _& e. a
actionGroup.createActionForEach$message(list, agentSel);
. m c# o0 P- {! S$ H actionGroup.createActionTo$message(this, swarmSel);
; \4 i( h) k" O% I; H. P4 X" P5 {- }% u schedule.at$createAction(0, actionGroup);- P5 P- m/ u6 ?6 d
schedule.at$createAction(1, actionGroup);
P7 P5 T ^. A schedule.at$createAction(2, actionGroup);7 m/ p; O2 t5 n$ ] u* j* h
) _, o$ J2 }5 | } catch (Exception e) {; A% G$ C' _/ R, q. x8 ? K( H
e.printStackTrace(System.err);( {. ]8 e5 k7 W7 T! u7 J0 T
//System.out.println(e);6 T+ V5 f: h5 V. p7 k
System.exit(1);
4 i6 Q, h1 k3 `5 R: h }
# a' E: j8 {) |$ w. L; p/ T) w
. E9 L- R4 ?' ~. h. m( K5 B" X, k7 l8 R e* D
}
( }' d- Y2 M, D) [% V- C! \
* T2 r+ N" e: @9 X" V- z private void swarmSetp() {
( h. k1 b- k$ p$ u) _ list.addLast(new Agent(Id));9 d5 o) ?/ u& C- i. h: v7 L
Id++;9 J8 d b Z* R7 U; {- j
}5 l- q v2 J- c" f
2 Y: l0 {. c) q* V1 m/ L
public Activity activateIn(Swarm context) {0 L$ I P$ O- \3 j; h5 a" P1 j
super.activateIn(context);( D! K4 J9 U( B7 ~5 u" C
schedule.activateIn(this);
' e+ F9 M/ o2 D; s1 U; W4 l return getActivity();
( X1 }9 B0 s: K0 ?# [+ D# r }+ a9 C7 S! l8 U3 c' ?9 F# D
* d7 S: A$ Q Z, R, k2 Q; j public static void main(String[] args) {7 J. h2 x- J7 s
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
3 \; i& |- o- K+ s" Z, D Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);; l4 W! {8 ~( |
swarms.buildObjects();# q( w1 w7 h' p7 G- ]% ]
swarms.buildActions();
, R" ?3 e3 w1 I3 W* k3 j swarms.activateIn(null).run();9 O2 W: U) p7 w! g
}
) g3 g+ i& _$ h
+ d6 u$ s9 O x} |
|