|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - p( n$ P7 G3 x y# S( i, c6 p0 [
! t l- q: O2 N i) @
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update216 A# C/ N. z3 M$ f
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
3 M' T! B7 a4 s* u6 `/ _swarm.SignatureNotFoundException
$ @2 g' T9 L( \. R" t4 N9 A at swarm.Selector.<init>(Selector.java:76)
8 U4 l5 [" j) d- E at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, w/ n) a6 B7 B" T2 |3 t4 K' S3 D at ActionGroupDemo.main(ActionGroupDemo.java:67)+ Z- f) ?; Y3 E1 ^# `5 c l& w
; n. Y. `# i" E# Y0 \* [0 c6 u' p
import swarm.objectbase.SwarmImpl;& t% r6 k' s2 O( m! }
import swarm.objectbase.Swarm;: l* E, F7 U+ D8 v
import swarm.activity.ScheduleImpl;
$ Z$ L% I0 l! x6 T9 e' [$ dimport swarm.activity.Activity;' B/ n* B6 u; b9 a/ k& |- d
import swarm.activity.ActionGroupImpl;4 X' t# q, Y- Z
import swarm.collections.ListImpl;4 U6 p% u5 }7 r- o3 z' f5 D- R
import swarm.defobj.Zone; ) \ d& Y7 U1 o0 s3 ^
import swarm.Globals;3 v4 j. F& m9 f7 ^9 Z
import swarm.Selector;4 _* `5 q. C4 {2 Q) I
import swarm.activity.ActionGroup; 3 X- g9 U* U7 w5 h2 P" Y" ~
class Agent {
- h. k7 C! ?/ a, f2 F! x' H8 m9 N char id;
2 r6 L% e E" z# a" e# W2 F: C; B% V# v2 Q8 Q
Agent(char id) {( U( d. A2 A* u/ @3 x6 J& z9 P! v' d
this.id = id;
+ a# @4 Y Q2 \" F }) T- g: k+ H$ w3 l+ y! w5 O3 @
" r8 [5 Y- m) K
public void agentStep() {6 Y/ C3 ^, x- _2 Q4 d
System.out.println(id + ":" + Globals.env.getCurrentTime());
3 q7 B8 _& E3 `# t. X }( ~. e3 @9 M7 ?* _7 b
}; N, }& l1 O9 W1 b
4 L1 H9 \8 w) c( P6 Q, h* ?3 Q$ d
public class ActionGroupDemo extends SwarmImpl {
- T; \5 n1 V2 f% R- e1 i5 E1 N6 _ ScheduleImpl schedule;: t5 v' G l E6 ~
ActionGroupImpl actionGroup;5 G; k7 ]9 D( ]8 r6 W( s8 r
ListImpl list;
4 Q3 J6 Y- M/ _0 r. G char Id = 'a';, q+ t% ~: a/ A) C
! k$ t0 D0 ~1 Z1 U9 w3 n
ActionGroupDemo(Zone aZone) {
$ A9 T0 a# q* [7 j; f super(aZone);8 J3 [# i, }- s: q
list = new ListImpl(aZone);
$ Q' c, Y3 b2 \( E swarmSetp();* `1 a* H! i& }- R# m: ]6 C+ s, F
actionGroup = new ActionGroupImpl(aZone);
$ O4 @4 F" K b5 s3 Y" e5 e- R( ~; z schedule = new ScheduleImpl(aZone);0 e0 y9 d2 i2 E8 F
try {0 X3 b1 L8 N: K+ n
Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ X0 s, ]; ]" n7 b) f3 D Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ q. O6 ?% M8 b+ c; q
) K/ t$ W3 l# `, u
actionGroup.createActionForEach$message(list, agentSel);( L- y0 B1 X/ q6 ]9 k
actionGroup.createActionTo$message(this, swarmSel);7 X; B) ^/ a9 R+ v5 i9 z
schedule.at$createAction(0, actionGroup);! E: {8 e" Y7 [% x# m
schedule.at$createAction(1, actionGroup);
" O ~" h- b( z5 p$ J# k schedule.at$createAction(2, actionGroup);) O- J; j" Q9 p9 ^
& g4 H& Y3 F; L# ^2 g' O9 ]4 U1 r
} catch (Exception e) {% b& F* W/ {+ J5 R
e.printStackTrace(System.err);
/ X# e* `+ @. R' Y! B! G //System.out.println(e);
0 U q% S/ X$ ^ J System.exit(1);4 d. ^! a( H+ O+ u$ P" H: a# o
}
+ H8 h; }7 x* ~) y! n% w/ G, w
! i' C6 t* N0 v }
; s% D4 }/ C! H5 W }/ S( p+ W) @) W( b/ v; h& j
+ p8 H% L( l0 `
private void swarmSetp() {: N+ }" C! d6 v. z l
list.addLast(new Agent(Id));
( c% O+ `/ o3 I3 n* k5 K) _ Id++;
; g! I4 |% f% ?! D5 y& z }
2 `& D7 p7 D4 F8 t) _1 w% E
: n" V; T" H5 L# d9 Z" b( W. ^ public Activity activateIn(Swarm context) {, n% I6 ^; F- p7 i; v. {
super.activateIn(context);! @. A/ F9 K4 g5 q4 R. ?. ]
schedule.activateIn(this);
0 A. @5 d. C' O$ ~/ ? return getActivity();
( `) l5 L5 r+ {" H }: N9 ^- z7 _% a- c7 }
) l7 ~6 A/ i& h4 r, r6 Q public static void main(String[] args) {6 M6 q- ]& j; }" i
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 V( v( @4 r6 C( u: R ~+ E N
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# K! Q0 a' A* K5 Q* g swarms.buildObjects();9 L9 a \- X. `8 M9 f
swarms.buildActions();
+ L& E% l, x! {3 Y# [7 ]( d# D; J8 [5 j swarms.activateIn(null).run();, C# V0 N) \: ]; g4 r4 E, h# [
}: }2 x; B$ ?% j
& L) e a) u5 |% ] u, l; ^
} |
|