|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 A6 K O. w* l4 g% z; u& v. w' D1 Z! [1 K! h' i/ ?
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
1 `3 @/ u5 X W( e. R1 d以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
' f+ K) N& n: w/ Fswarm.SignatureNotFoundException
$ Y) u0 U& L. ^+ Y: B! ?8 T at swarm.Selector.<init>(Selector.java:76)& [# x% v) w' U, C( S
at ActionGroupDemo.<init>(ActionGroupDemo.java:37). c8 n; P* U+ }/ `! N
at ActionGroupDemo.main(ActionGroupDemo.java:67)
. B% Y0 z8 O6 a: _: Y+ W1 }* V
9 q9 d+ R9 l6 B2 _$ z* x4 v! l8 ^* Y9 I4 E& D9 j: N$ s+ Z
import swarm.objectbase.SwarmImpl;
* K; B7 D! d& P2 fimport swarm.objectbase.Swarm;( Q( r/ D, Z, r" k
import swarm.activity.ScheduleImpl;
4 M% W; ^1 ?- U: d8 _import swarm.activity.Activity;
5 G6 I/ J+ G8 B; }- Y6 T; a mimport swarm.activity.ActionGroupImpl;# k( U: U; f* U, ^
import swarm.collections.ListImpl;1 b$ D, W: O9 `8 E# |
import swarm.defobj.Zone;
3 ]. J. Q& x. H( z6 i# d' Yimport swarm.Globals;
0 D; B1 J U4 h" A2 oimport swarm.Selector;/ k$ \+ e( Y' D I# t5 J$ F/ W
import swarm.activity.ActionGroup; 7 E! P" @" z9 W5 Z2 W
class Agent {
* g m# } M+ J5 s7 Z+ t% T* B) C char id;7 s8 C2 i( u1 W# r- W$ m
: E9 Q |" }+ k( m" g" G& E: j Agent(char id) {
- l; |* P7 {" ?& d6 |. F$ o5 Q this.id = id;
) L% ~* e! O% v q" ?" I6 u9 { }
5 j# S r0 H+ u D) }' C1 j" U( g& {7 t8 S9 L& ]
public void agentStep() {
9 V$ J$ X W. s7 B System.out.println(id + ":" + Globals.env.getCurrentTime());
, o$ A o4 v- I0 s8 t8 X3 Y }
) C4 @" D& Z$ F5 l& _ O+ J9 c$ ^}
* m; n: D. T$ @% N, E0 M4 H1 H e2 B8 S- m
public class ActionGroupDemo extends SwarmImpl {
: [0 e6 V. q1 L0 }. X, @2 y; A ScheduleImpl schedule;) X& x( e% {; V* b3 f: G$ I" x
ActionGroupImpl actionGroup;2 m( C& b( _9 b+ R% O
ListImpl list;
9 p; X/ I4 ]: P0 G% d1 ? char Id = 'a';; P5 d: @1 q3 Z6 j- G K% H# N
, N- b- u" R* r8 z3 f9 P# _7 U# Z3 X ActionGroupDemo(Zone aZone) {. u) K- Y0 m8 l* `
super(aZone);
3 v0 C. v/ X; t; M- F8 y& q list = new ListImpl(aZone);' `6 W" v, E! L, U+ C
swarmSetp();" |7 E: N+ d$ a/ t T3 T( t/ N
actionGroup = new ActionGroupImpl(aZone);
. {/ R" ?0 x$ a0 p( g: {. S schedule = new ScheduleImpl(aZone);
; x8 N0 B' Z( b+ \% J try {. g. V& ]- @( f
Selector agentSel = new Selector(Agent.class, "agentStep", false);
' K$ I1 b) l% Y7 S$ I# @ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
* j1 K- d' c! J
* u; f7 w( \4 }+ A actionGroup.createActionForEach$message(list, agentSel);
7 T- E8 Q, c, n( { actionGroup.createActionTo$message(this, swarmSel);& }. B) o' S/ F P. g
schedule.at$createAction(0, actionGroup);
1 q6 r. f$ [% U0 T+ X" W& ] schedule.at$createAction(1, actionGroup);4 L4 P1 @! G- ^/ Y) h7 i x
schedule.at$createAction(2, actionGroup);
/ H$ C, P/ O4 J& b6 m7 e9 e( V/ V8 D3 i
} catch (Exception e) {0 u$ g) p0 F; T& [- z1 D1 L
e.printStackTrace(System.err);& u5 y+ v$ u* u" W* k" |; I/ `5 O
//System.out.println(e);4 P0 s; ?! b5 P. I6 I, x, s
System.exit(1);
: M! V3 B. P! h; y0 T. U }
6 D- f$ m" f5 y* A6 T1 P& X
9 `% F+ d& M9 e: z: R- j2 y5 o
, G; H; ~4 x( M) Y& O }
/ J9 r& ~0 e+ `. T1 a `# }; u* q/ v" z3 x0 v0 `% u" a
private void swarmSetp() {
' o0 H. D8 |, p9 G. P list.addLast(new Agent(Id));
9 w1 S# @7 F) e6 F1 x Id++;: s, s+ D7 l& S6 u1 F! u( e4 e$ \4 F/ r
}( h6 C0 G, w- E
4 @/ Q9 D; W& d8 b9 I4 k& H6 p public Activity activateIn(Swarm context) {
- q0 d" F( c: y. g super.activateIn(context);
7 b. h6 n- [* W/ I1 d/ R schedule.activateIn(this);0 Z" r* o" h& k2 O: i% f* L
return getActivity();
4 E5 `; y' e2 [+ V$ g2 e" H }+ q- }) |3 [& L
+ c. b# q5 ~, X& T9 U public static void main(String[] args) {
! Y! @$ B8 s9 A2 I* e& F Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);* y8 u3 F* y7 ~4 |; i$ Q
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# Z6 W7 v0 S2 X- R$ e
swarms.buildObjects();
; n6 Z! ^3 A) q0 ~ swarms.buildActions();- R+ B* ?5 U/ D/ ?
swarms.activateIn(null).run();
$ N. z+ P) \; _2 T$ l" {* y }
0 z( G5 y/ O* M; S4 W% p% V+ K6 F4 V( t5 a1 C1 k# P
} |
|