|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& t! u4 a' B- @* N o6 `) F# m4 F* d9 Y3 S- j0 U
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update218 B u( {' v! V- c
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.3 `# s X! h O1 c' @$ N" v
swarm.SignatureNotFoundException( Q* M8 o" b- F
at swarm.Selector.<init>(Selector.java:76)7 O) v- {. C5 e R% S! u
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
6 H$ i, i& X; P; V- k3 ~/ l4 ? at ActionGroupDemo.main(ActionGroupDemo.java:67)
: }- F, U! q) u$ q d" G; Y' G8 c3 X( e' W/ U* h# }+ L
) R) `6 N6 q4 O$ x2 u: @9 s2 O" u- Aimport swarm.objectbase.SwarmImpl;, b- P+ B. y% s% B4 j# {$ c0 p
import swarm.objectbase.Swarm;
5 `: F7 m% d, D) n& zimport swarm.activity.ScheduleImpl;
$ v3 u8 A3 Z- W- a/ L Qimport swarm.activity.Activity;
2 Z7 i3 [+ ]) F% O6 e5 ]0 Himport swarm.activity.ActionGroupImpl;
, }, T5 K9 I5 Y9 ]0 ]- S- oimport swarm.collections.ListImpl;
" ~4 h- g( `, {. Vimport swarm.defobj.Zone; / f; {5 L) c% t+ l/ ^
import swarm.Globals;
" O/ D. A- L9 e! ]2 V/ rimport swarm.Selector;$ f A6 O. ]9 L1 ^: f) g
import swarm.activity.ActionGroup; : V# h9 Y% Y; L! [ Y
class Agent {- f+ N5 F2 i2 r( w' z9 g
char id;
y9 p* W, Z7 N3 O4 e# d# m0 D {
$ @, p" _7 Q( N Agent(char id) {
: g: d* }0 Y7 p2 R this.id = id;
9 d: t; w, {4 R3 j. W6 ^1 o! s }
, Y- @- z6 e+ N2 J; Y2 m" e5 e: P) Y! z2 t7 ^+ `
public void agentStep() {
% @6 N x/ `9 K2 v2 a V' \; b System.out.println(id + ":" + Globals.env.getCurrentTime());. Q+ z( @4 {" p+ J. Q, B
}9 O ^" V$ B& y8 ]
}: }. n& ~2 z+ T; n6 }
! l r$ q ^; w$ M* F% j
public class ActionGroupDemo extends SwarmImpl {! W6 C6 V3 s. b
ScheduleImpl schedule;8 C1 ~( P1 f4 Y6 f
ActionGroupImpl actionGroup;* U2 b8 ~7 ] c& O' K6 N
ListImpl list;" r6 ?, c7 r$ ]6 R5 |8 }; v! {6 Q
char Id = 'a'; U5 \( B9 G- h0 D
+ E- T- ]) M/ f$ Y6 X5 B
ActionGroupDemo(Zone aZone) {
3 @' C1 P" Z. e/ O& x1 V3 R super(aZone);) V2 R1 p- g. Z% J5 Y+ c
list = new ListImpl(aZone);
- m; o! g& l! Y swarmSetp();
. j, x) o, A# \7 D actionGroup = new ActionGroupImpl(aZone);+ }- O t* v8 Z3 s" o9 |
schedule = new ScheduleImpl(aZone);; X! {" v1 d2 P: g. t% `* f
try {: A+ }% C% y A* L
Selector agentSel = new Selector(Agent.class, "agentStep", false);
3 W- q4 ~$ |* s: Q+ Y1 E Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ N3 ~3 `& ~4 `( k0 s7 S
8 ?6 D V2 C7 I, | actionGroup.createActionForEach$message(list, agentSel);
. M, w1 S5 K1 b: W% r4 T) k actionGroup.createActionTo$message(this, swarmSel);; o5 P: x9 C g9 X6 e+ V1 }
schedule.at$createAction(0, actionGroup);
+ Z- j* s9 m/ i2 Y schedule.at$createAction(1, actionGroup);
% f& o# u5 R' ^; H4 f! c schedule.at$createAction(2, actionGroup);
7 }5 A0 a0 S$ l; ], e4 q% E: Z1 g. X
} catch (Exception e) {
! m& ?: R3 B* A) x5 u e.printStackTrace(System.err);( U1 l, g2 j) y
//System.out.println(e);
; L8 c) N2 _" x7 G& d% }$ v System.exit(1);# @) Q& i' l! z
}& B! i( D2 Z9 q/ G! T' Z8 @, ~
0 ~ M- Z$ \8 i0 b4 e+ i/ h* k- a( ^$ D# a/ G
}
& a) N/ |1 F& B3 y8 M
1 A4 h& n4 R) E& U v private void swarmSetp() {
1 z" h6 `8 ~; k$ r4 U# B6 I list.addLast(new Agent(Id));
$ d. j. `- U8 ~* U J) Q: M Id++;: X" j3 W0 w& Y$ z7 u j1 d
}
$ D% t% w) t* X% E3 w: Z5 o) e
4 P* d+ K9 f4 k5 U public Activity activateIn(Swarm context) {- @4 N* O+ B" m3 k) v, |; l/ _
super.activateIn(context);2 R/ c- a+ y: I ]' O R# y+ x3 Q# X( c
schedule.activateIn(this);
$ n7 u2 {3 w) D+ I return getActivity();& y8 ?$ ^; q) F$ o7 M* v
}" n: c& @, F. _0 W# D) k
& E7 J; r2 x% e$ _+ Y! ?
public static void main(String[] args) {+ A' B- p |/ O2 ?9 O( ^: S: D
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);; p1 N3 L4 ^" J$ b2 j" T" g/ _# }
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( n' h, P( p2 ^
swarms.buildObjects();
) o; k' J( G& `% t4 s swarms.buildActions();( |* ~( C3 w1 o3 v3 k4 `
swarms.activateIn(null).run();. ?5 _9 }4 b9 m" w& U
}! n8 `7 p3 ^0 D+ s
, T2 m) S) j& Q8 t+ u- r+ P, B7 ]} |
|