|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! B! o; H$ |+ l1 r2 }
, U. j1 w1 ]4 h$ L本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! R* a4 a$ m0 Q# ?8 Y
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.. k% n; V6 ^4 W+ _$ i' r( o Y0 e
swarm.SignatureNotFoundException
: h$ ^, _1 _3 o' i7 ]: u at swarm.Selector.<init>(Selector.java:76)7 f( a$ E% _ c
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( y5 g" a. t! H
at ActionGroupDemo.main(ActionGroupDemo.java:67)
, p; i: Z# {3 e+ x5 z. ]! j/ Q- |- l% R4 V; |% M
3 @* X, C2 |, m: g: W& Y- `
import swarm.objectbase.SwarmImpl;
0 i0 @* @" N3 q6 I( W$ _/ gimport swarm.objectbase.Swarm;: b1 j; J3 G2 a5 A& g1 {1 ^
import swarm.activity.ScheduleImpl;: u6 v |2 v. p8 D4 b$ O
import swarm.activity.Activity;
! g O- `8 f& S* P5 {! j+ g9 z& Z" Yimport swarm.activity.ActionGroupImpl;
8 K6 s1 I7 L3 |* g) Timport swarm.collections.ListImpl;# q, ^$ p3 D1 e# y
import swarm.defobj.Zone;
: m" x5 g7 q+ ]' T1 g% t, \import swarm.Globals;+ K; f- k2 Q6 _# Z
import swarm.Selector;
" s) q$ F# a4 u+ D( R3 F. P' pimport swarm.activity.ActionGroup; : f) r3 D: L- |# V
class Agent {
+ Z0 w" B, p- ~" D8 |" V/ m6 @ char id;! L- U9 }& g. c9 V* I1 Q5 S
/ ?9 }! j: V+ s2 j( l
Agent(char id) {3 J8 B5 K* F4 Z, J. ^% I& a3 ?
this.id = id;
9 `8 u% J* w7 }+ V8 | }
% K2 Z2 F3 R) ^2 z2 ?- f& P' N3 l$ H* s' p# }7 `
public void agentStep() {) o! o A& z2 j; ~5 E" h% l! _3 w. v
System.out.println(id + ":" + Globals.env.getCurrentTime());
) S, Y x, ?' S( c( w }
* m6 h" i/ J1 l- i: K+ H3 P} h: F9 E5 G' W/ a0 {
: R( e8 g" z5 J+ ^7 K/ |
public class ActionGroupDemo extends SwarmImpl {' g& A1 F$ N# Q& F
ScheduleImpl schedule;. L* `. @$ f* q8 I
ActionGroupImpl actionGroup;
* R* K ^, F2 O% P ListImpl list;
- \' h: } X% Z; J; U5 M1 A; z char Id = 'a';
& F4 [6 a( G$ p+ i( z# B) }& g' L% u% i, N
ActionGroupDemo(Zone aZone) {
, e9 d) s/ T( x6 }/ |) i- u super(aZone);7 ^/ b: y5 H/ V2 J; C
list = new ListImpl(aZone);, X& V& ^: F0 T( _4 l8 m
swarmSetp();
8 S) v; f: ^. j! b) I actionGroup = new ActionGroupImpl(aZone);
4 G: G% T; ?- D+ U schedule = new ScheduleImpl(aZone);
+ ~& {, t/ D9 V6 x try {1 b! c+ ?* j& x9 T8 m2 i+ ]
Selector agentSel = new Selector(Agent.class, "agentStep", false);
: J2 P; L# P: ^ { f Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
6 f- m" |9 D4 Y1 Z. C6 V3 |
M" @: |! z- }; N) ?$ k4 n3 O [ actionGroup.createActionForEach$message(list, agentSel);. \' K2 U! @0 H; V* h
actionGroup.createActionTo$message(this, swarmSel);0 H! u+ G) ~7 `2 [' u3 O2 [ b
schedule.at$createAction(0, actionGroup);0 d0 F1 p/ n/ o6 W, P
schedule.at$createAction(1, actionGroup);8 Q4 ]% F- k* O8 u! G i/ u
schedule.at$createAction(2, actionGroup);1 ~* b3 a) K; I' Z8 u- V8 Y
b! q w5 B, r8 C2 m8 k9 ? } catch (Exception e) {2 H+ }" |: U" a: j7 Z+ J" g
e.printStackTrace(System.err);
. R7 O* ~; p/ F- C //System.out.println(e);
' P I) @+ P. T, Z' n& G: F System.exit(1);0 y0 T3 |& s2 p: _! f2 \6 M/ w- b
}1 l9 q5 ^( u" ]! p- ^, E
& V7 a/ ~7 Z: d) ~7 S1 ~, D+ J) s; u k* C
}
! l7 ~1 n& R" ^4 ^, t& `/ t& J* f7 B* N' ^
private void swarmSetp() {
$ l- `. C2 X$ z' [) z4 n* E list.addLast(new Agent(Id)); H5 D8 _# b3 `- r' J% z" H' {
Id++;5 I1 I# }% V; X2 j- p
}& D c" O3 N9 X4 C N+ e6 {7 P1 I* M
, d* l f- H2 O: B( J3 ` public Activity activateIn(Swarm context) {* @, ]& M9 n2 X) n: ~! V
super.activateIn(context);
) @2 X1 h6 k7 A schedule.activateIn(this);
! `' ]7 ^5 o0 k7 z return getActivity();1 o8 H8 i$ R2 D& S! T( Q
}
; _" ?# W5 t; Y9 S8 d) S% D5 J& b; j
public static void main(String[] args) {
) K6 C$ t' w; Z Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. k+ B* p# i- ?- |+ S) m2 D- \% p# t
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" F2 n2 m4 S. i0 ]" \" H swarms.buildObjects();# |+ O) I: S4 Q% ~" R; v3 x5 X
swarms.buildActions();$ j! X b3 g) t' d% V( ]
swarms.activateIn(null).run();# a$ q2 z5 n" O0 e% N2 i4 K
}
5 j; v. @7 q+ n; f& D2 t; P' z$ T+ B+ y' L! a) G
} |
|