|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* W& A$ J3 u% N/ b+ o: G& @: j! O% K: E
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
% \# A8 D0 J# _% G# Z$ N2 Z% y& ?以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.- s% O* d0 O* S# s+ q5 {$ K5 O, y) q0 u: R
swarm.SignatureNotFoundException* m% p# R/ N5 P; M- L' [- |
at swarm.Selector.<init>(Selector.java:76)
/ O. h" `7 ]* s, M9 |: b at ActionGroupDemo.<init>(ActionGroupDemo.java:37)- C" Y1 [$ K, A3 H/ q" z
at ActionGroupDemo.main(ActionGroupDemo.java:67)& q/ C- _8 l% |
% f1 ^, _ k5 c' @/ L1 O' T9 _: j7 X- P
import swarm.objectbase.SwarmImpl;/ T2 b; K$ {% E6 B
import swarm.objectbase.Swarm;- W/ K: W* |) ]) c& S U5 d
import swarm.activity.ScheduleImpl;
7 R: r- s9 ~/ m: z+ d7 D. Vimport swarm.activity.Activity;6 b% Z1 P0 r3 X
import swarm.activity.ActionGroupImpl;! L3 J, C4 O. {) C# _. J
import swarm.collections.ListImpl;
& M% `& K% f( S/ X5 Yimport swarm.defobj.Zone;
- J5 ^3 w6 n. g0 z# iimport swarm.Globals;7 _2 m( |5 u4 k6 T; ?! M& d
import swarm.Selector;: d1 j: @; j+ E' m* V
import swarm.activity.ActionGroup; . D0 r8 M0 o% O$ X! ~& C7 s
class Agent {
+ g5 c6 r) I( C( H w$ P+ g7 j3 | char id;
5 v" b$ s$ G) k; v6 D' r, o- v" v$ _+ |3 U- X
Agent(char id) {
/ D% T( Q3 s a$ K+ X1 Q4 V. d this.id = id;
b% L: m+ C6 }1 T }0 d7 C. h6 e3 {) p5 K: y
3 _- X2 v- k, i- {5 h8 o8 h4 { c
public void agentStep() {
4 z, J, A+ X. X* n: k, n, R System.out.println(id + ":" + Globals.env.getCurrentTime());+ V( B' g+ Z: l) q6 {
}
6 l+ |" ~" i$ Q7 G3 d}8 `: i; Z! |4 W! _& M. H" v7 w
" t! t6 K2 O1 S1 Hpublic class ActionGroupDemo extends SwarmImpl {
8 ?' G: l7 @8 G% c2 h8 s ScheduleImpl schedule;8 [% _6 w" I" M% W7 {7 E! A% v7 H
ActionGroupImpl actionGroup;
3 i. I: Y% k" w ListImpl list;
8 Q. G) |: C1 S char Id = 'a';' J) Z- f% y- M' U3 e
z& W8 `1 G q! Y# V
ActionGroupDemo(Zone aZone) {2 ~; h$ E) `2 }; B7 M2 k# |
super(aZone);# s" M' S2 V# m0 x
list = new ListImpl(aZone);
. R( i2 G. O3 k X swarmSetp();' r, {: S9 R P" K
actionGroup = new ActionGroupImpl(aZone);* p; a# H0 q) D5 l( j! m+ f
schedule = new ScheduleImpl(aZone);$ V' {; r0 T$ O
try {( {+ C( O- K( J0 k: b
Selector agentSel = new Selector(Agent.class, "agentStep", false);0 I$ t: `1 _" E) Q( j0 ]7 p7 n
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
/ X* V( N# D3 o1 A2 o( v
% ^# p Y8 t, [ actionGroup.createActionForEach$message(list, agentSel);" H T D! L* n- ~$ c$ j9 q
actionGroup.createActionTo$message(this, swarmSel);( M4 ~, j6 r2 C
schedule.at$createAction(0, actionGroup);
5 M/ p8 q* s/ ] z$ k schedule.at$createAction(1, actionGroup);
2 q* Z% f1 G3 B* t schedule.at$createAction(2, actionGroup);
- z5 R0 Z+ ^9 h/ O
% R0 N6 ]1 z M% n% K7 i } catch (Exception e) {
* `) \: t4 ?6 H% r" I e.printStackTrace(System.err);8 E: O \" w4 e/ k: w: c) \
//System.out.println(e);
* f8 e( L5 h5 a9 I System.exit(1);: |0 G' B( Q2 L$ S, a. X( x
}3 Z5 M$ M8 N1 ]+ U6 Z& M9 B
2 \" s0 `: F. X @# a
3 H% g' u6 ~: B2 z" h
}9 ]# c+ }( B! V$ R' S" S
5 T6 [ E8 g v- v; w
private void swarmSetp() {
! O O v; R, y( T$ d( Z6 p" i list.addLast(new Agent(Id));
+ A% X9 ~* E2 q9 }! a Id++;
% X( g1 m* S. W: v }, s( e9 d0 o9 I! a# P
9 S9 f* T$ ~! ]" v
public Activity activateIn(Swarm context) {
2 y9 s3 w' m* u super.activateIn(context);
! x* B, N3 w. k9 A: y0 x schedule.activateIn(this);
" P' i& _: q, Y/ x% [ return getActivity();
& [( U/ d% m+ Y4 C+ l }2 C6 a+ M* I5 B' Z
$ Z# X1 N6 A# {& L6 p# a public static void main(String[] args) {0 D" f* b b6 _/ G3 }9 K, f. R
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);' n; ]; J+ ?- v& p L9 M G6 c, B1 } p) F
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);. E/ D; ^* r& O% w2 K6 @& d) @
swarms.buildObjects();
! i z: |% D) n" m( E# ~ swarms.buildActions();" C/ x# ]2 R G/ `! c- D) r
swarms.activateIn(null).run();
% z, d, G: v/ w! ^: w3 U }
. w$ ?2 L/ M/ f4 m, i* F7 y; ~) k, _/ o
} |
|