|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 k3 W {. b; C+ Y
2 j% a z! D ^7 n% y本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21: k o# }, z) {! ?
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 V1 ^4 y; @( Q" P3 f
swarm.SignatureNotFoundException
7 ?6 t5 {6 v8 [ at swarm.Selector.<init>(Selector.java:76)1 L* ?6 d1 ?' m/ E V
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ }6 k4 t w% n6 t" ] at ActionGroupDemo.main(ActionGroupDemo.java:67)
( a- G- L2 @/ @3 e* ^; W" B7 A! Q( n" d. D/ x" x
5 C3 t; p3 P5 k3 Simport swarm.objectbase.SwarmImpl;
. Z0 S6 W) S; h0 U/ [% simport swarm.objectbase.Swarm;& N9 j. S" D; o A3 M! s
import swarm.activity.ScheduleImpl;
& a, t a- v. {0 Y4 q. Wimport swarm.activity.Activity;
3 R5 u2 A2 a) K+ j8 k0 v/ qimport swarm.activity.ActionGroupImpl;4 y; A% G1 B7 w& G2 A9 A
import swarm.collections.ListImpl;% H5 e% o& K i/ g5 f( Y; Z
import swarm.defobj.Zone; ( p) X1 t* G. q* m; t6 U! v# Q5 L
import swarm.Globals;: `; ~/ z! s0 e" M7 X
import swarm.Selector;
6 o8 o" J" \) o, f2 h% E9 C" [import swarm.activity.ActionGroup; 9 s( a. S U b9 a. d# O& j
class Agent {
* K ]4 Y: G) M, Q7 S char id;
5 m+ @# J9 U) U
/ f, A8 J# @7 u8 t$ t X Agent(char id) {
" C6 A7 C2 E2 b) Q9 t! t this.id = id;5 B) R- R' \. R. B1 X; J) m- S
}6 e) C( S0 G/ D
6 `/ p9 u5 T5 t! ~( A6 w public void agentStep() {
& f; S |1 f5 w% t7 g' M: w System.out.println(id + ":" + Globals.env.getCurrentTime());
5 | F+ F6 ]' g1 ]* |. l }: U2 G7 a4 J8 m) V c( q5 e
}( _0 a Z6 P+ z h5 `/ {
/ f5 u% E2 R$ p3 X( a/ W0 G
public class ActionGroupDemo extends SwarmImpl {
9 e& ]6 w+ Y# Z0 ~5 U7 _) O4 _# K o+ f ScheduleImpl schedule;/ {9 V' c/ d+ y) }: _
ActionGroupImpl actionGroup;5 _$ q H3 Q( I/ i0 @7 s* L. x! S
ListImpl list;0 S4 e5 c4 y3 z% Y
char Id = 'a';
9 a. ^$ Q: W+ f! K; C. C- U2 a* s8 ? s7 i( f6 Y, n& r
ActionGroupDemo(Zone aZone) {
4 Q# n2 i& ^4 i# E. G5 H, W( l super(aZone);7 i/ t" \4 W9 p6 Y+ \/ \5 Y( _
list = new ListImpl(aZone);9 {3 |; O0 B2 Q6 C# I+ {' T+ t
swarmSetp();
8 s$ r$ B* W- [' I actionGroup = new ActionGroupImpl(aZone);1 ~1 d( B) q4 y; R u9 e* ?. x
schedule = new ScheduleImpl(aZone);7 s6 Y: |. p# T' y0 |1 n" R# p
try {5 O) P, S# U6 @: t& |3 x& @
Selector agentSel = new Selector(Agent.class, "agentStep", false);
- |7 E" Y+ C$ G/ @ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
/ i' V1 ?# V7 n! @6 _ ; |8 `8 |6 `* ?
actionGroup.createActionForEach$message(list, agentSel);
& @9 A2 a- `: x. Z8 r+ m+ {, l actionGroup.createActionTo$message(this, swarmSel);
. ?$ F9 j) a3 q8 J* m2 H( X- P schedule.at$createAction(0, actionGroup);
! w1 X6 u) q' k& j* ]! ^ schedule.at$createAction(1, actionGroup);8 {! Q9 g0 c1 @- F
schedule.at$createAction(2, actionGroup);
- l) d4 ^) d' A* i8 V/ i+ f- N6 B8 `; p. `
} catch (Exception e) {
% V5 D6 j+ ?) b7 p4 f* R d e.printStackTrace(System.err);5 Z7 ?/ S" e! _8 f5 \: T
//System.out.println(e);8 V/ q0 U; g/ b( C
System.exit(1);7 t3 o) k6 n1 j% L2 [
}
1 [) W& Y" t0 f1 c: n' q6 J: |0 W* Y! k5 m* x K) L
' x' f- U7 n' c. l" C }
1 H8 N; \0 y9 c. u5 T4 a: W" n( B; T% o% V7 Y" Z' X
private void swarmSetp() {
5 R3 C' X* y$ O; v) j+ { list.addLast(new Agent(Id));- o0 n* C4 \) p
Id++;
0 G6 J2 R8 X, Q# s+ U! M }' Z* M/ a' z, P M. y
+ z2 f/ Z8 e8 [& o" C( _
public Activity activateIn(Swarm context) {5 V6 R% I, R7 E* ~. Q8 L
super.activateIn(context);
; `. ~. ]/ ~: I3 | schedule.activateIn(this);
5 ^. S' d/ i9 V/ w$ @7 W% Y) ~2 [ return getActivity();
) E* E3 @, R; [8 I. A9 f" n }- e, R# L+ N$ S# v+ u- A
1 _2 t9 g9 H2 F: W* G1 D. p' Y
public static void main(String[] args) {6 ^" Y: T, ^ E. G8 B& G2 i
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);5 d5 f# T; K r9 W
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);+ h$ \1 b4 p `! |7 ?. [4 `, P
swarms.buildObjects();
7 H8 K$ D- {6 b swarms.buildActions();
1 Q) W+ I/ l0 f. U6 T swarms.activateIn(null).run();0 V9 ^1 x5 B1 T% k* M
}, S0 K9 i6 P5 P
" w6 A9 o# ?; Z, {( f" E} |
|