|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 R# @ p' i$ N3 M
! y4 N& x8 O- [9 H# ]本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) Y1 w x! e3 \: q' q
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.- D! t+ K0 e/ ]4 X7 y
swarm.SignatureNotFoundException! e$ W$ f/ M/ K9 [, H$ C' N" p! j; k
at swarm.Selector.<init>(Selector.java:76)
- h1 Z# L- x# i at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' s0 A; Z, I! Y* o* d at ActionGroupDemo.main(ActionGroupDemo.java:67)6 d7 u) O% }' k: b! g/ O* M
& w4 ~& X$ Y5 F9 W+ ^; d2 `/ T
# m- p$ @3 U$ z0 g3 |import swarm.objectbase.SwarmImpl;6 _! P7 ^2 ~ o# J
import swarm.objectbase.Swarm;4 _7 l& t8 `" D$ v
import swarm.activity.ScheduleImpl;
! W- j; v5 q$ N' Q1 rimport swarm.activity.Activity;
9 s, U+ Y3 Y, o% J7 Gimport swarm.activity.ActionGroupImpl;- C& E! x" i4 y u( m, j
import swarm.collections.ListImpl;
8 a& u1 Z5 a1 Bimport swarm.defobj.Zone;
. P9 \" G0 T) g8 n. i* j/ Himport swarm.Globals;
7 l: k! o3 V5 g$ `% P$ a# ~import swarm.Selector;
$ A2 O: \8 }( Z) Oimport swarm.activity.ActionGroup; ; X- t5 i* `# W. u* d1 ]& V
class Agent {
' u' s* [: {9 l! E2 x char id;
- ]: T) ?& f# v5 [0 l1 t, x: D2 ~* A# b5 @
Agent(char id) {
) i: p8 d: s1 \& J x% D+ R0 J this.id = id;1 K4 e1 o2 ` C" q5 ~5 F2 Q3 r
}& I6 w% x2 z( ~0 y& `3 D6 C2 {
4 n4 r2 d) F/ Q6 e, r4 y; N) x
public void agentStep() {
. Y- L' U& Y5 d9 y! p8 V( R+ k System.out.println(id + ":" + Globals.env.getCurrentTime());
^6 t+ i+ H# {; O% L- t/ ] }
) G0 J2 G+ w1 @+ g& ]; }}
! f0 l5 [& q) V$ n; m7 ?* b8 _& `3 k( B/ W5 G
public class ActionGroupDemo extends SwarmImpl {6 i( _% g J0 I9 i. E4 t" @
ScheduleImpl schedule;8 A" O5 p) }. J& O
ActionGroupImpl actionGroup;
% A5 y% j5 N& z& U& Q P" ~ ListImpl list;3 x# m( p5 X% z: u2 G/ K
char Id = 'a';6 a/ ], t2 r3 b& J/ | _
6 U- i9 q. c$ U1 S' r+ E' y ActionGroupDemo(Zone aZone) {
& [* Y: R/ r, G2 ~ super(aZone);
% p0 n7 t+ o/ ]1 O6 P% Z4 c list = new ListImpl(aZone);. Y% z; T6 A0 x( i! ^; \; [, V4 y
swarmSetp();
% N5 [% a2 L- A, U2 i; |$ W+ x actionGroup = new ActionGroupImpl(aZone);
5 |2 Q1 b! T3 ^+ f9 J M/ S schedule = new ScheduleImpl(aZone);0 M. U6 i# k% W( z% o
try {
5 z( ~% I; X& R3 V) H* ` Selector agentSel = new Selector(Agent.class, "agentStep", false);: ]1 P+ B1 y( |* D5 d# P2 t8 L
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
; m1 m( w5 `% z8 r& d
) |# Y7 M) }3 S4 Y actionGroup.createActionForEach$message(list, agentSel);
- Y [& b7 B; C/ L: F actionGroup.createActionTo$message(this, swarmSel);9 |2 x( [# A) Q4 M
schedule.at$createAction(0, actionGroup);. v1 b) M% ~, r
schedule.at$createAction(1, actionGroup);
& @" j! l/ L# i8 X, _, M schedule.at$createAction(2, actionGroup);
: [( `* G( y! b, e. ~
# b3 }$ K: j! l1 a# X/ w6 s } catch (Exception e) {4 S* ]+ r& Z" Z/ N9 _( A
e.printStackTrace(System.err);6 J: D1 u0 [# x$ W+ F9 d" C0 m
//System.out.println(e);" b3 w! o5 u3 Z7 \7 b# F
System.exit(1);
; B1 D5 _% D- e4 E8 R9 W }
6 B; F. n7 N3 q+ Q8 q* W7 v& \ d0 Z, Z/ z4 ~% i8 N
7 J" D) E4 v% h* p, s6 u }
9 m m1 a: y) j1 \1 D( {0 s- X8 h/ I) ~, R5 \# z) X( `
private void swarmSetp() {
$ `( b0 q. m+ O. P8 E list.addLast(new Agent(Id));
2 L: V' ]" D( N) z/ b. ~+ u" [! J Id++;
' t8 a0 ?) v9 p) u# X; T }
1 B. f, F) n/ ]. f+ W" R8 m9 S1 C# F7 @3 y9 R# y
public Activity activateIn(Swarm context) {
9 i& s/ D- g, D5 K super.activateIn(context);1 O3 M, x0 j* p
schedule.activateIn(this);
0 l* t, @2 G, W s6 k: r return getActivity();& _/ }- @$ E" f5 x% q1 p
}3 H; O1 C; C! q- g+ _- z: e
0 \4 {. ]) k- y1 C: X% G public static void main(String[] args) {
. x' ^) d+ ~0 e- N Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 p" K# l: G+ |5 h& s Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);, F7 _' r) a5 S
swarms.buildObjects();) y. d+ R6 @9 _
swarms.buildActions();
* s. k5 @9 Y- P% T2 F% H; W1 h swarms.activateIn(null).run();
4 i; G" d2 {% a }* [; q+ }7 S* l
# r+ ~& [- `0 `- _} |
|