|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
3 ?7 c/ D$ R) K" a# W' F6 U* E' R" o) o' M- J- r/ [3 c
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update219 H# |, {1 p3 f# `7 e* _- }2 h/ W
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 M7 V+ g+ _$ f$ C2 P5 D
swarm.SignatureNotFoundException. i! r" M9 Y9 A: a' V& K X& P3 ^
at swarm.Selector.<init>(Selector.java:76)5 p5 |; u5 a! k" T/ H r
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
5 O% T# ~& B1 r4 o r* N at ActionGroupDemo.main(ActionGroupDemo.java:67)
4 N# A ~' a9 v- {+ L0 n% q% d( @' f
- I6 }" a1 h M. k t& y/ a) r1 zimport swarm.objectbase.SwarmImpl;
. g2 B3 d5 M; D. W/ f! y& c# A) nimport swarm.objectbase.Swarm;
) Q( @; J! i$ ximport swarm.activity.ScheduleImpl;9 e; p2 {! L( T
import swarm.activity.Activity;
9 C- F% Y; D& t6 Y8 |import swarm.activity.ActionGroupImpl;
' t9 f. E& m6 v' M- Fimport swarm.collections.ListImpl;
; z- `$ U4 m& e0 ~$ O' s& [4 K3 U9 aimport swarm.defobj.Zone;
! D; ^; V! H! kimport swarm.Globals;( u3 I4 P- ^4 n) _. q) j% l" ~
import swarm.Selector;2 E, I6 E- `, ?/ `
import swarm.activity.ActionGroup; 7 Q5 |/ B. f; U9 h5 U1 N
class Agent {
2 t4 i2 L$ S1 b% v) i' X+ G+ { char id;
0 V3 j$ O4 G* k/ g* ?, a* F1 |6 }! C" e; n* d
Agent(char id) {$ p( f) P: W; [+ [) O& o
this.id = id;
. c& I9 K( l. N, ]9 _1 h }- Q' b1 S0 Z, H" f
" H" E. h1 G* o+ {
public void agentStep() {- R5 _, `( P/ z6 \3 q
System.out.println(id + ":" + Globals.env.getCurrentTime());
* M7 T b4 W- W: D" e2 T( n& W }
5 v& h& r& B i, e% ~! P# k* `7 J}
/ D7 A& |9 ]* D7 f2 ]2 Z& V4 Q. G6 [. R/ K+ d u9 b
public class ActionGroupDemo extends SwarmImpl {
& O5 Z0 {. w5 P ScheduleImpl schedule;
, u0 Z# P: j$ o( f+ Z ActionGroupImpl actionGroup;
0 p' [. b" d, D) R ListImpl list;
3 m) e6 D/ K- z char Id = 'a';- ~5 A& y- j( o, e) M5 [. t+ |7 @
7 q" C! G- z$ o. i$ O
ActionGroupDemo(Zone aZone) {
, E+ s b' s1 c) h. v( I super(aZone);* ` \% l' g7 E- T
list = new ListImpl(aZone);& Y- ?% i- y8 C
swarmSetp();( H. y+ h8 @+ k6 g! s
actionGroup = new ActionGroupImpl(aZone);
7 `2 ]; H2 ~7 ~9 r- Q- d schedule = new ScheduleImpl(aZone);; V+ F2 C% C0 q. b
try {
0 w( W( S* y5 Q) x Selector agentSel = new Selector(Agent.class, "agentStep", false);
# |" l5 Z/ T' ]9 E$ J Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
, h3 d; H$ A/ d6 H1 o: C6 s % A1 w& Y: n0 N+ U h' g! F. {3 {
actionGroup.createActionForEach$message(list, agentSel);
% V: N( X: L% K" Z actionGroup.createActionTo$message(this, swarmSel);
; u4 B0 P, h8 [+ @& V9 o- l schedule.at$createAction(0, actionGroup);8 d" w, R. l6 R8 N5 l' k
schedule.at$createAction(1, actionGroup);$ x$ K+ B. V! f' z
schedule.at$createAction(2, actionGroup);) J- t8 v# y2 W1 ]' P% J
/ p% E. }2 N' g r } catch (Exception e) {7 i% `& W6 \! j( f1 m
e.printStackTrace(System.err);3 n9 D* V& [% d N4 p& ?( |. V! i
//System.out.println(e);
0 q7 G1 O/ c/ ~( }5 E# D, \ System.exit(1);
3 F6 _8 w5 V, [* I- { }9 Z6 t; [. g: D2 i0 S0 u: R
( i2 }9 j- Z- i6 ?* \4 o
q; L' _, {* o. ^ }. m* J* X0 u" q
1 D4 n) G5 v, Q% }6 }; ^
private void swarmSetp() {
: W& [, u, \ r9 f$ b8 K list.addLast(new Agent(Id));
: ^9 L+ Z3 L6 `$ j Id++;" O' ~2 J) K0 l% f
}
6 ^9 ^ c" H7 p K. a
0 Y8 S) R$ J7 D8 J* a. Y7 c public Activity activateIn(Swarm context) {: }1 e! x0 H$ Z+ a! Q) m
super.activateIn(context); }+ [3 F( S2 Y, j* Z ^
schedule.activateIn(this);
* v2 d/ q) Q( ~1 C7 X5 ` return getActivity();
! J# y* O2 _4 X$ }( k; Z. w d$ v }
8 ]3 v! z* `5 z# v- y; D& I: j
6 N( R7 k" Y" d0 H public static void main(String[] args) {9 F; g" e/ `. l3 g2 T" w+ M
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 i7 q& K4 l$ N; c
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" N+ G; X* B$ H0 D; d+ [0 A2 G swarms.buildObjects();0 S* j! L: J A B
swarms.buildActions();
9 I) b, v) [+ ]3 U' p; S& f, C swarms.activateIn(null).run();; M' C- n1 n5 v* R9 C* g7 a" T1 q
}
4 e4 z1 W k# v( O! ^
4 S2 R2 {' _% ^" ?$ R& F+ s& T} |
|