|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 : j& ^$ @4 f3 }. p' f+ v
2 X% k( [7 |9 @. ]% M本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
& ^% G. k& o3 V) O8 U0 Q以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
; l4 D4 n+ z2 U6 p5 X1 Y) k# q; ]swarm.SignatureNotFoundException8 h$ P+ _1 H- s: P5 u. ?; z, O
at swarm.Selector.<init>(Selector.java:76)! V; C7 i8 Y+ U
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 C( t% k% W, V- P
at ActionGroupDemo.main(ActionGroupDemo.java:67)( r4 x* h* U$ \9 ~
1 a! e# o }1 [0 a7 e4 n5 _& i/ s
import swarm.objectbase.SwarmImpl;* H' `. q; @; U
import swarm.objectbase.Swarm;0 b. j! k" ~0 { U; T
import swarm.activity.ScheduleImpl;
6 k {% c( Z! B" L* Vimport swarm.activity.Activity;( i/ G; O# v+ }1 }/ p! b9 x
import swarm.activity.ActionGroupImpl;
. M, _( C/ _5 Fimport swarm.collections.ListImpl;+ h) M$ Z8 L; e: V' C
import swarm.defobj.Zone; 8 J* `2 y4 @3 ]4 ]
import swarm.Globals;
9 {" a* P( G' n6 n0 Pimport swarm.Selector;
5 K" m: V" n& H; N7 Pimport swarm.activity.ActionGroup; ' Q6 n( L: j+ s B, C/ N d: y
class Agent {5 Y( U' z9 w! ~* X T4 Z: u5 T7 a' M
char id;
/ m* S; _) Q9 g. F j' e+ a- m6 S9 ~) L! U n- d- d# Z
Agent(char id) {" @, q/ V- Y$ ` s( Z
this.id = id;
5 a0 G, Q) ] s* Y! z }
# t% s* C& L2 T" j: T9 `! K* I) Q' y: }3 r. p: U
public void agentStep() {
$ n2 i/ V) q$ w% R System.out.println(id + ":" + Globals.env.getCurrentTime());
* U8 Z j h4 w/ U4 W7 Y. F }
& t6 ^9 \. H! M( q/ Q2 U- O}. g2 n' U1 C( u5 z' `" [ G
Z9 A" K4 ^; i9 q' G/ _) d
public class ActionGroupDemo extends SwarmImpl {
6 \" g; s! c1 ~& i5 f8 v+ ?- @2 ?% A ScheduleImpl schedule;: A$ l8 S* P, R; F
ActionGroupImpl actionGroup;9 {4 V9 K0 }! I$ Z! i
ListImpl list;9 @! ?8 ^; e* i" L
char Id = 'a';3 \8 U/ d: Y! C
( i( H( o# B) q$ b7 z6 g1 X ActionGroupDemo(Zone aZone) {- t! Y* }2 }1 w" f* ~' J- z' X
super(aZone);, g" T- S& h$ w7 c `
list = new ListImpl(aZone);
* G+ z4 t1 `+ j& z. i+ g5 ^ swarmSetp();9 h$ ]' Q* e& L3 N8 L
actionGroup = new ActionGroupImpl(aZone);
9 O: Q4 v! e+ k( m! e schedule = new ScheduleImpl(aZone);8 ?. z9 @2 E* S: R: t
try {
p& f3 ]1 S0 S Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ v) E) _$ G; [4 W" b4 \ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
( e( g5 p+ _ r) ?
$ F0 Y% s5 N# M' D z2 r actionGroup.createActionForEach$message(list, agentSel);
7 E3 W Q+ D! k0 l$ g actionGroup.createActionTo$message(this, swarmSel);
, v* l" d* f3 G+ j0 P schedule.at$createAction(0, actionGroup);
7 w+ k4 d- H8 J( `# t/ r schedule.at$createAction(1, actionGroup);
3 d. |2 O1 L! }0 n schedule.at$createAction(2, actionGroup); o* l( {' M4 @
C. q- n+ h9 \ } catch (Exception e) {+ S* H, Q+ Z j
e.printStackTrace(System.err);: @. y0 Y$ f, u7 g: |4 s
//System.out.println(e);
1 H+ M* W0 Q+ L& w# w. J1 P System.exit(1);
: W/ B0 \' D5 K6 \$ h2 m }' @- \: f7 ]" e% s0 n
+ V; M; y3 W! y$ e, S
8 @( G/ j4 w0 ~ F5 y; c
}
0 T$ F- X1 ?. v* x" y- R% \ x
! v. W4 L, m/ J2 J0 o! ?3 m8 ` private void swarmSetp() {
% f4 {/ Q; W- T, t3 w list.addLast(new Agent(Id));# _- x# }7 @( ?: L1 b. K9 u
Id++;
7 s1 V( w% b. M }9 r7 i5 u, V6 ~( p& R0 ~- n2 r3 L
& e5 v* g8 I+ B5 T6 F0 D
public Activity activateIn(Swarm context) {
9 s! H) \6 L! U/ [ super.activateIn(context);
! U! b) Q4 Y8 R/ l( k0 W) a. l" ` schedule.activateIn(this);
" _( M1 W7 \% t& j. d return getActivity();
- ]4 H' ~+ g0 _5 ?+ v }7 O, T( d0 D. Y, ?# g0 `4 A- o
1 B/ @0 h. J- N7 w
public static void main(String[] args) {
c& B+ I* T5 [7 h3 @5 H0 A Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);) Q" S2 F6 p/ l9 r$ y& V
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# e% P7 J% u. v, u' n8 @0 \ swarms.buildObjects();/ u8 w3 ^7 S* L# E |5 |' Y- M
swarms.buildActions();
& B C$ u* l9 O4 R8 ^ swarms.activateIn(null).run();
0 q3 ?2 P% ~& Y }3 t- |4 \2 x$ S9 ?
; N: a7 v) c9 s4 W4 l1 R
} |
|