|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( y7 `2 ]0 s' D. F4 i) U+ ]0 B: h0 ^9 C, O( R& M! Y1 q' a$ ?
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! d5 r7 C( i4 ?2 G5 p以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# Y) j; H9 B# R2 Bswarm.SignatureNotFoundException! n% D1 C; X! a8 {9 C1 S$ ^
at swarm.Selector.<init>(Selector.java:76); x/ q6 \' y9 n
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
/ i) u7 e5 P; y2 u1 }8 [ at ActionGroupDemo.main(ActionGroupDemo.java:67)
j; Z* h: ^9 \8 l
# D7 Y( P( J1 m* B. B9 W! n
& ^! y6 I5 x7 U! M1 G6 y4 ]import swarm.objectbase.SwarmImpl;
# t1 |! N: j* H2 q9 Kimport swarm.objectbase.Swarm;
* s$ W9 G$ P+ {# c: I( h! aimport swarm.activity.ScheduleImpl;, |& ^' H& E- P8 T
import swarm.activity.Activity;8 [$ a: y4 h- Y9 A! n& h
import swarm.activity.ActionGroupImpl;- I4 i+ N) K9 d( m2 Q4 N0 Y
import swarm.collections.ListImpl;# S! t; o) m$ g$ K1 S
import swarm.defobj.Zone;
: } F. s3 e% f$ k* W' \1 oimport swarm.Globals;9 n- x% e2 E/ D: m
import swarm.Selector;2 n! N% n; }( q5 c. B3 t* S
import swarm.activity.ActionGroup;
7 I" M( L# \. R8 u. `0 O1 y. Mclass Agent {
' {. y6 p' h& h char id;: g! [2 y. q$ ^5 t7 q% g
7 W5 I* f8 I2 l) V. U0 s: L$ T! f Agent(char id) {
, b3 T- ]3 | g! O/ k0 P this.id = id;
9 ^6 P! A9 \/ \' B0 m; c' Y }
- e/ Y% D* P# A8 [' a& [# f7 a g9 c3 \7 r. C3 J
public void agentStep() {" |5 D( t9 d+ R/ j9 y
System.out.println(id + ":" + Globals.env.getCurrentTime());
& M3 |' R8 O8 x0 j/ p1 D' u }
1 ^" E2 Y. b5 h+ O}0 q% `6 P8 W, w& W$ M5 ]
: m8 b# f) C, a/ C( u2 w H8 apublic class ActionGroupDemo extends SwarmImpl {
7 J5 O2 N5 o( _2 w, A ScheduleImpl schedule;( O$ O6 M" T# {3 N! g
ActionGroupImpl actionGroup;
1 y' p$ X6 c [; W& ?. L* m ListImpl list;) z- x" G* ^: u/ E6 J
char Id = 'a';
& M7 f2 F: v# d0 z! O. {! f# w& K* q1 C0 ?
ActionGroupDemo(Zone aZone) {0 p2 u9 T1 r) q9 m
super(aZone);
' c$ m5 G: ?& v3 R9 m list = new ListImpl(aZone);
7 {# y; O" a) b; b- U swarmSetp();
9 l4 _3 z# Y0 O" }3 W4 |$ H actionGroup = new ActionGroupImpl(aZone);
" t! \; E- O) o. r% J% N9 g& \ schedule = new ScheduleImpl(aZone);
2 ~! E! O4 m% }5 _ try {+ j/ b6 t- Y! U
Selector agentSel = new Selector(Agent.class, "agentStep", false);9 l' z; U0 b% t7 l: c4 f
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. y |- { p( O( }9 @
% l5 Z4 T+ T. }; b# h: Z) S4 J actionGroup.createActionForEach$message(list, agentSel);
. j: I$ J2 s- G% [( _- O( C actionGroup.createActionTo$message(this, swarmSel);
6 {' w F# } T* ? schedule.at$createAction(0, actionGroup);
/ z4 d& F, {6 C3 s. z schedule.at$createAction(1, actionGroup); c% H0 b1 E( c& E C0 ^
schedule.at$createAction(2, actionGroup);9 o5 p( B! ?: q! q, N$ w1 D! V
5 ]5 u0 f8 t, D; x9 s* Y
} catch (Exception e) { q- G, ^! |" ]9 Y. w3 _
e.printStackTrace(System.err);. D5 o, h) N' w1 L- d! C" ]! s
//System.out.println(e);9 _ Q2 M1 q# a* L, R
System.exit(1);
# B( R" D; `9 S4 l- G- B }
$ V7 J0 O6 J# q' G- Z6 ?9 m1 B' T; M4 Z3 r# S) U# X. u
9 A: z& X' U' o, W }0 ~: N1 o1 h8 a5 K
! U, v J$ D& w# ^' i& }1 X private void swarmSetp() {
$ E% a3 H+ Z( t! ~ list.addLast(new Agent(Id));
- ~- X6 y. y; p- H/ \: E+ S* A" O Id++;
& S" n1 Q2 v: {- l0 h4 l }3 b2 Z# E* A& O$ L. S: ^) [
& K/ ]' n. s! ?" f& c2 b: L
public Activity activateIn(Swarm context) { u* B4 [4 S- C Y
super.activateIn(context);0 i% |/ x! q- B: K# z }6 H+ f
schedule.activateIn(this);" ~( l }7 `% r; \9 [' @; {
return getActivity();
: s. P, }, ~, R2 r9 x& b1 Y u }
5 g5 x2 S/ Q" @$ \7 i. z
( q3 J/ o' ?& U2 {7 p; J public static void main(String[] args) {
8 p4 H- f, M5 [* V2 f7 @ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);9 }# p" Q* n, ?9 u2 X
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
! D8 h! `$ t# k9 U8 S$ i0 p: ?( w swarms.buildObjects();4 ]) ]: ~" K; O' Z" G6 i
swarms.buildActions();, N9 u& M) Y& a- }' ?9 |' ?
swarms.activateIn(null).run();
4 R: ^: z% b0 ~: H. D# V }
" i1 D V3 v8 P2 _. ^* v' ^
) Y+ M8 o1 N9 M; Z* P8 _} |
|