|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! E1 O7 s" @) U% W, N, J! Q5 n4 q+ J% x! J; c4 A
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; V0 z' X8 c0 c; i! e- Y
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ V8 P: L7 K/ g1 i0 ]% M
swarm.SignatureNotFoundException
( K Z) Q( q# C4 k* [ at swarm.Selector.<init>(Selector.java:76)
+ S7 ?: I7 G' P o1 N1 P; A at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
8 b( ]6 x0 s7 _5 }' ] at ActionGroupDemo.main(ActionGroupDemo.java:67)9 F$ X) \7 H& ~: Z% J, ?0 T2 F/ k
4 ~! u9 T4 l% J [
b5 x4 l5 U4 c: u' o9 z4 T
import swarm.objectbase.SwarmImpl;" M$ N, Q7 d+ A, k" o, x
import swarm.objectbase.Swarm;
6 u, Y1 f1 Z- A* rimport swarm.activity.ScheduleImpl;
& Y2 ^3 m d% b9 @# a. [% ]import swarm.activity.Activity;
: q: K/ {! F! \' g! p; I8 Kimport swarm.activity.ActionGroupImpl;' B+ ~: s3 u4 f. e5 D
import swarm.collections.ListImpl;& c" f( ~$ ?2 f; X) J, a$ s* g
import swarm.defobj.Zone; 9 `* m) f5 {) Q3 a
import swarm.Globals;
# M; u$ N, C5 v2 c; yimport swarm.Selector;6 ^7 @$ O4 \+ J9 f: A9 E: a$ F3 X
import swarm.activity.ActionGroup;
* H3 D$ G* o7 m( z' Q, }class Agent {
$ \$ u5 i- ?2 R, T8 M4 N6 v1 Z9 N char id;
# e8 s2 H; }/ J4 i; Q
4 f) u9 L( j2 L( H Agent(char id) {
* Q5 l8 {/ _) |* M this.id = id;
# T# U. ^3 k% B0 M9 w }
: g3 n, i3 Y; c) V
8 b- F0 Z/ Z3 G* A* j public void agentStep() {% e7 b( O8 M( W/ l1 f6 ]
System.out.println(id + ":" + Globals.env.getCurrentTime());0 S0 `3 p6 ?9 J7 u
}9 s1 _$ w; ^& G% C, k s
}
3 g& s' t# Z5 w; p# @& @' R7 `+ a- R; h s6 c
public class ActionGroupDemo extends SwarmImpl {
$ j/ `+ ~4 ?5 c: T0 }. o, b$ ?. Z ScheduleImpl schedule;6 F! j) W0 j/ L0 _
ActionGroupImpl actionGroup;
0 H ^7 S, k" }* s C/ Q ListImpl list;. ^: @6 c1 t; _, d
char Id = 'a';: i: B& S/ O, s, W1 n% e9 T2 H
* g3 |$ v# l& x) F. D# E: e
ActionGroupDemo(Zone aZone) {
& k: A' v" G: O$ f super(aZone);
p V* A+ A: e' g, ]6 r# q8 y4 Z list = new ListImpl(aZone);
; ]; k( T# T* Z6 G7 {, u* R swarmSetp();
* T2 U0 a- M5 v' f6 W4 ?2 v$ J6 D actionGroup = new ActionGroupImpl(aZone);5 ?3 R: v4 [1 _2 O- f) ?
schedule = new ScheduleImpl(aZone);3 x/ m1 L+ g' W) Z
try {
0 y& k- ~* o) F! K Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ a* r! X7 D5 X% g! V0 {. y Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行 Q. u, O3 `# l
2 i0 R$ i9 L& N! ~ actionGroup.createActionForEach$message(list, agentSel);
! Z1 O5 J! z2 b- J* A1 a actionGroup.createActionTo$message(this, swarmSel);! e. h9 z# W% r5 h( m' u( T
schedule.at$createAction(0, actionGroup);9 [2 [7 s5 ^( V0 }8 S D
schedule.at$createAction(1, actionGroup);
4 t* {. O2 Y+ H* Q# v schedule.at$createAction(2, actionGroup);
: |, o2 i7 c9 x' Z. y+ P3 h/ H! K: M, m! N3 d
} catch (Exception e) {
' j5 J* v- n H4 N5 F e.printStackTrace(System.err);
1 K8 @9 g4 P4 p, F+ p- f' h, v. q //System.out.println(e);
) w3 O! @. S6 g% a System.exit(1);" K! W1 ^0 ~) O0 U
}
) I7 U9 @% ?8 o# }
3 n4 \* e/ t6 T: G9 b% N! \
, C z6 V u# z5 S0 c1 z1 x }& q+ ]$ F: M& s/ i, l
7 o. Y$ Y0 t6 h6 `% [# ?7 a7 B private void swarmSetp() {
+ y% ~) _4 u/ M7 y) x2 D list.addLast(new Agent(Id));7 |8 r# h, w" W# [3 D( \$ }9 T* k
Id++;2 e, Y- ~9 g: y6 k4 t) |
}" v# Z2 s8 C, K) B
" X% g5 A s8 d) j u
public Activity activateIn(Swarm context) {
4 b6 i) e0 E3 O+ W E2 J7 ~3 X super.activateIn(context);1 G4 z7 w5 ~0 o, x8 N
schedule.activateIn(this);2 m+ j% z" E3 x) F# S8 Z9 b
return getActivity();: \0 Q g8 |0 v% @
}
) O# a8 ?+ E% b u% M- E+ i* ~/ q6 U0 a5 A; q1 ^$ m H5 @
public static void main(String[] args) {6 Y* t1 K+ C8 I$ G; b7 t
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 I$ R S0 E0 }! R: c9 F Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; t6 }* q8 M M swarms.buildObjects();/ p& t1 d+ A1 @9 M0 s+ E" O$ F6 Z
swarms.buildActions();9 K0 Q; X5 r6 R4 ^
swarms.activateIn(null).run();) W6 w. |! J; ]% u2 a Q
}
" [$ X8 h6 {' _/ I* a F3 {7 o
8 |/ Q( u$ b! c& p# `* N% z+ Y* O! o} |
|