|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( J0 c) c3 @& C+ v: Y1 `$ h" M7 D/ k( h5 K" F; G: E' W
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 l w' J H7 d
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 T' c1 I/ V8 }! Q. {- G
swarm.SignatureNotFoundException" ?( J x' h) ?5 n2 A! y
at swarm.Selector.<init>(Selector.java:76); L" q, J7 `* @# \! M
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
/ }3 G. a q/ u at ActionGroupDemo.main(ActionGroupDemo.java:67)
- `9 g% M6 ?; h- C* u3 L* Z
. |5 ~: P$ @+ W3 z1 P& i: e- K+ Y
! ^* P; [, b6 @1 R& L/ uimport swarm.objectbase.SwarmImpl;
- Y; E# G6 J9 U/ x1 Himport swarm.objectbase.Swarm;
& M' J' @0 f1 K9 g/ X9 ^import swarm.activity.ScheduleImpl;" l" ? u- O3 `& l5 k# I
import swarm.activity.Activity;
6 C+ ]) n0 |3 @; c1 w, Zimport swarm.activity.ActionGroupImpl;! C# G" E0 F5 c% i" w( u
import swarm.collections.ListImpl;
! l: ?- B" y4 V; i) bimport swarm.defobj.Zone;
6 N7 L: c: _! k8 vimport swarm.Globals;% g- M. u" g* J0 v0 S0 p& ~
import swarm.Selector;: n+ P: C) Y& g. q
import swarm.activity.ActionGroup;
; I- B3 I# ^: d/ w; C) d2 w' Xclass Agent {" t, i$ z/ Z3 w$ p! U
char id;
/ x) b4 t" B" V' N! [5 n2 l r
0 D1 a5 M5 `! V- d8 Y$ c) ] Agent(char id) {7 Q) D; \; a; B! m0 L3 f
this.id = id;
. s9 w- D' h t9 A }
3 R. f, r. l9 u9 r; I: x% Y8 r5 v: x2 W! @6 G
public void agentStep() {7 Q; i* N! n |( ^" R+ x
System.out.println(id + ":" + Globals.env.getCurrentTime());" z9 W! |$ k! a( d9 L) U. \
}
+ N0 E- p; C0 l! p$ B# A}
, j, Q( J) }) F6 `, U
' t' u( g) _, {6 qpublic class ActionGroupDemo extends SwarmImpl {
# X7 W! {! D) G! I7 `. k ScheduleImpl schedule;- o. C# G- Z9 @, n! j) {
ActionGroupImpl actionGroup;" R* {9 F( h' ^5 D6 u" \
ListImpl list;% |& f1 ~/ ~4 b) c% r9 m
char Id = 'a';
$ C G: L; L" z! L" K1 }) n; P2 N) Y0 P1 w+ Y' ^+ Q
ActionGroupDemo(Zone aZone) { K% r. {5 |- g. _( m- g
super(aZone);& u6 B' k( V8 Y' j
list = new ListImpl(aZone);3 S. V4 K+ _1 t, W3 e0 o
swarmSetp();+ ?- A5 h# d& q
actionGroup = new ActionGroupImpl(aZone);
1 }' q8 R) `6 ]" \$ e schedule = new ScheduleImpl(aZone);
9 }% t% e7 e6 S3 B' Z o( s try {6 F) x' H$ p6 Y+ Y0 T2 S( a9 r7 e
Selector agentSel = new Selector(Agent.class, "agentStep", false);5 Y* M' Q1 R0 A8 g
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行( l4 y7 ]$ B3 b5 h0 a5 G; ]9 ~
0 R2 |3 _4 Y R2 e9 T( ?" R
actionGroup.createActionForEach$message(list, agentSel);
% A% s% B: V1 j; i; r# o actionGroup.createActionTo$message(this, swarmSel);4 S! Z* r4 _3 B' R
schedule.at$createAction(0, actionGroup);
0 ?% Y! p! n" K! J" J% ? schedule.at$createAction(1, actionGroup);
( r' h7 x$ Q e! l0 Q7 s9 y6 v/ r schedule.at$createAction(2, actionGroup);
4 U* v/ x- L) `; F2 B) S
8 _% t6 P, O. a: _) O* N" M. Y' x" m } catch (Exception e) {0 i1 E2 Q! i) g; p; v0 Z" |3 n& W
e.printStackTrace(System.err);
- M0 x! Q( O/ i& l' R //System.out.println(e);& e& {( ?4 u: y# O& ]8 l1 |" B; S
System.exit(1);: z0 M, C6 { z! U% E$ K* P! ]
}; F' e. P3 f6 o2 f" H4 T
! E K3 G) j1 x0 _' v
% h' A# Z+ r- n9 L }
; w5 }; u+ e1 K
2 ]8 G+ d/ J- g" ^/ g8 [ private void swarmSetp() {
2 Z6 o# Q- |$ n. t: X; v list.addLast(new Agent(Id));5 A2 Y0 `* s3 d2 K
Id++;& W: s. ~( p3 t% E9 V5 u
}
" ]* S" B3 \* Z) C9 [$ V! Y6 b5 k8 L2 V- t
public Activity activateIn(Swarm context) {
; [9 w6 L8 s- H super.activateIn(context);( }- e ?# Y9 d( v7 h2 G* W+ h L8 }
schedule.activateIn(this);, `( t8 [- c' q; \7 H& \
return getActivity();
5 t! c' ^: T: F- P }
Z: u P& _; S3 K- d+ {7 Z* V5 O4 A0 k5 a6 ]) D8 v# t. i3 h! l
public static void main(String[] args) {! d Q1 A' n$ p* C$ M7 P
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 O$ e8 w2 W+ k L; U' K( O6 h+ i& w Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: Y* {1 q3 x# o. m* K swarms.buildObjects();- u9 U( N7 A3 M/ l
swarms.buildActions();
) {5 U2 U7 S1 t% t6 R h" k swarms.activateIn(null).run();4 p# Q1 M+ k& S6 O; C L/ X( U/ J
}+ A; v1 @' S% v/ j$ k# f
# W3 J7 T& y- M' f} |
|