|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 C+ y. p, x% v0 y
$ f: t6 @' X+ [; }% C( U& m8 C本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; @6 a+ l9 L8 t% C, F
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.- q4 v# E: u4 J3 b3 [, @5 G
swarm.SignatureNotFoundException
( q0 k5 z$ w8 a* W/ Z9 | at swarm.Selector.<init>(Selector.java:76)6 j- k. |- r6 f# Z8 }
at ActionGroupDemo.<init>(ActionGroupDemo.java:37) X! Q) r$ m& C+ N6 C8 R
at ActionGroupDemo.main(ActionGroupDemo.java:67)
) _! s* A! h% ?; {( _
1 x2 e2 P) D' M2 D$ ]' ~; ] C1 P1 i* A5 O/ g
import swarm.objectbase.SwarmImpl;
) l( v f/ J6 u( ^- k1 Fimport swarm.objectbase.Swarm;* I: B0 N2 {9 b- u4 g7 s0 D# s
import swarm.activity.ScheduleImpl;
2 v8 L; Z$ [$ F+ qimport swarm.activity.Activity;
0 K3 J& W- B) g0 t: V8 Gimport swarm.activity.ActionGroupImpl;, E6 I( h- k! @# n# O
import swarm.collections.ListImpl;/ A- U7 J+ K2 f
import swarm.defobj.Zone; , p$ v* B# v2 D% X3 E$ E
import swarm.Globals;" c7 J; A, G/ I) y( h3 t; C+ ~4 q
import swarm.Selector;
; ]! g+ Z3 _6 Y; P& ^- Y7 wimport swarm.activity.ActionGroup; 8 t# T; i; L# o8 x% V
class Agent {
/ K' \& b @+ T2 Y- J" S: ` char id;# M' x+ g. _1 r: B8 A& S
6 W5 {# `, e' S5 G Agent(char id) {% B/ \9 u5 s9 O; k3 z+ v
this.id = id;+ v3 o; _; T, l$ S5 V1 W, \) y# C% X' q
}) s2 w+ ^: ]" p
- ~& j6 A9 o, z+ f- B2 Y" i
public void agentStep() {0 W/ ]( U# k! J$ Y
System.out.println(id + ":" + Globals.env.getCurrentTime());
) O4 }0 c# U; ~5 i& @( b* S, B }: F! T$ Q- ]+ b; e
}1 n9 ^. { P7 c4 O) M) M4 U
0 d, r7 z4 G7 D; a- J. q
public class ActionGroupDemo extends SwarmImpl {$ Y" K2 L$ r. w7 J3 S
ScheduleImpl schedule;
7 t) B1 G! e1 x2 s" D ActionGroupImpl actionGroup;
_+ j3 L# {( H0 E% E ListImpl list;
/ d i1 Z- o E char Id = 'a';- D5 ~- o4 L7 F, Y3 V. q1 x
2 T A6 y: ?0 T; s F9 O( T$ j ActionGroupDemo(Zone aZone) { m0 E+ { ^7 a' W
super(aZone);
& M$ f) s- B/ @4 k$ X$ H/ r list = new ListImpl(aZone);
; h7 _0 m2 u8 f/ u: Y: g# o2 e) h swarmSetp();2 `" y$ B4 H" [8 P
actionGroup = new ActionGroupImpl(aZone);
" z u% f$ {4 k: \% f" b schedule = new ScheduleImpl(aZone); X8 Z0 N7 C8 P
try {
8 x3 b3 n0 O- f' D: M5 x( }# M1 R Selector agentSel = new Selector(Agent.class, "agentStep", false);
% G# X7 e2 E9 I1 G7 k. G Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行( z( `# j3 u7 m
) j7 x* Z7 p1 t( P( V, F& P actionGroup.createActionForEach$message(list, agentSel);
- W8 Y4 \4 z( t% C actionGroup.createActionTo$message(this, swarmSel);. o. S$ x2 ?! |2 P) a
schedule.at$createAction(0, actionGroup);
- C4 F! e- Q+ x6 q% {. a4 H schedule.at$createAction(1, actionGroup);% q* G: e; f9 \
schedule.at$createAction(2, actionGroup);! e; ^* n' q o& h+ h. g: @8 {
8 q& _- O$ P0 c/ _: y1 Y7 y } catch (Exception e) {4 ~$ I( k$ a. Y# h
e.printStackTrace(System.err);
+ Q: v0 u8 _# E' ? //System.out.println(e); ?! e ?7 b- \+ x1 K2 k
System.exit(1);) k( O3 k5 ~7 z6 a# h5 _4 \& H
}
2 S9 m, q( C9 B- r# S7 \
, a8 T& d, M; T% w; ^. O
9 x2 v6 `* U5 v, p }
& ?- E: S5 a# F% e0 h' }& }" i
! L1 b1 T) N4 ~0 f) n N0 g private void swarmSetp() {/ g: O7 L& e7 U' F$ P* u! B
list.addLast(new Agent(Id));; A, r1 m2 x) h M( _
Id++;
1 P" `; H7 M5 l }0 c7 g7 C( ~! d1 v l- b. L W* t
. `* i+ J. W8 o- j) ?: U
public Activity activateIn(Swarm context) {1 E3 x# K1 x' p4 R3 X$ K
super.activateIn(context);9 D! X% Q1 O) O9 k( A
schedule.activateIn(this);
8 T( \4 ?2 [# } return getActivity();
( V9 X0 P1 z5 M4 z; r) R8 S }
+ v4 E5 m6 H" P" W @1 i g0 ^9 e9 Q
public static void main(String[] args) {. X: ]- g! U+ w! ?- L2 p7 f( N
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);- g# r# S+ Q5 ]* j8 j
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);4 b7 r3 }# C7 n* l
swarms.buildObjects();, ]2 ^' A7 t* r5 |) w, T8 A0 A) d: }
swarms.buildActions(); J7 g1 p) @/ u9 t9 M) T; W' m
swarms.activateIn(null).run();
& Y) O# g: j2 j }: x. q4 P. n; G2 b8 w
- P% r: C3 \+ a' B. E) e
} |
|