|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* h1 {! u2 J6 m% _# v8 Q( L2 {
0 `+ k: U# E3 n- N5 s% S0 B本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# } O& X, v9 h: Z- W* b! J7 M
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 i# @. Y0 \* _+ Z3 A4 W1 g& W
swarm.SignatureNotFoundException6 B, i# \ N8 g( e
at swarm.Selector.<init>(Selector.java:76)
# a6 L% F: C# @ at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( z i% B* N2 ?4 B( Q
at ActionGroupDemo.main(ActionGroupDemo.java:67)1 d$ Y4 B2 v6 u6 t( F4 E1 X
Q y0 \2 M& m9 r! R1 m# B7 T e, s
import swarm.objectbase.SwarmImpl;
1 i1 s2 ^# O. c* u5 gimport swarm.objectbase.Swarm;5 L% j5 J6 @8 J
import swarm.activity.ScheduleImpl;2 \2 x9 j; ~$ S- g
import swarm.activity.Activity;; A3 j0 L' N$ Y w; W7 }8 o
import swarm.activity.ActionGroupImpl;
# O7 `! M' N& O) zimport swarm.collections.ListImpl;
6 N1 g$ p0 b! M6 c7 m0 B' jimport swarm.defobj.Zone; * M1 _+ j0 A$ w6 p' x) j
import swarm.Globals;
2 G3 f9 ]# ?5 P8 }# B0 {import swarm.Selector;) |" X" X5 g% l; l8 }& A
import swarm.activity.ActionGroup;
) C1 ?0 t: d8 ^class Agent {8 l* k& o9 o- j: b
char id;
5 f4 A5 B1 {; Y4 Q& I0 k& J* J! ~ }# p$ I' F- B
Agent(char id) {! C" d' Z% @) W, X6 a
this.id = id;
* n3 k4 P5 m) z5 Q& T: H4 w! y% P }
1 Y9 J! t. p& b" J d4 @$ D! \) O8 T6 b9 c4 R/ ~. ~: O' o
public void agentStep() {
) n9 s6 n! w, c- M$ _/ K System.out.println(id + ":" + Globals.env.getCurrentTime());
, {# G9 h" b" G+ q9 P }
# b! S/ l) E+ w; t1 D ?$ a6 [/ x9 F# ^}. F/ h& z, I9 Q3 u
1 `) o- R8 A. L+ X
public class ActionGroupDemo extends SwarmImpl {4 z+ z4 O5 J# c' Q& H
ScheduleImpl schedule;6 N* v: @! d" p2 X: m3 r* \1 i
ActionGroupImpl actionGroup;
+ _$ H) D) O c- c ListImpl list;
+ u9 C8 N7 b3 L3 A$ H: W char Id = 'a';) [! R/ v! A, L9 Z3 E3 T
7 g( l" X% q/ I. v; M3 u
ActionGroupDemo(Zone aZone) {
# ^0 Q; I" ~6 B- {- j super(aZone);
/ ^2 Y0 v) u9 X$ T! `0 x# Z6 G list = new ListImpl(aZone);) ?9 s2 H; D0 O# \
swarmSetp();
7 ~' P( [+ i# B6 f4 k actionGroup = new ActionGroupImpl(aZone);/ _% h$ r4 R1 T. h
schedule = new ScheduleImpl(aZone);
b! z) I6 x4 @ try {
4 H; \/ S1 a# `) l) U3 v" v" _5 I Selector agentSel = new Selector(Agent.class, "agentStep", false);6 S, L# I: r: U0 P
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& B# Y- B4 Z6 O0 _6 V
3 q. w X5 V4 i+ `
actionGroup.createActionForEach$message(list, agentSel);
8 t7 a# E- g. O; X actionGroup.createActionTo$message(this, swarmSel); k8 _5 H; [! k; y
schedule.at$createAction(0, actionGroup); m1 s, x% y2 m- ~8 g& j! z
schedule.at$createAction(1, actionGroup);& o( j8 T/ A9 \
schedule.at$createAction(2, actionGroup);# K! r9 N) X4 i: }0 G
- I- \0 t" o8 n: C- o+ G
} catch (Exception e) {
/ ^/ ?; Y, h: p9 x6 T/ ^. j! @ e.printStackTrace(System.err);! a5 b: f+ S2 O
//System.out.println(e);
; T3 x$ B. j V/ b System.exit(1);4 k D2 g" B- L2 L9 a1 S
}
* o7 F- e# W) E' {. M; C/ V) R
% i* j2 {3 P# M" a0 V' a. N& D0 s3 D: j
}
# h* b0 p( ~( t% l% ]
7 s' v8 O9 L3 s private void swarmSetp() {
4 t* U" N( c$ Q# g list.addLast(new Agent(Id));$ W0 [; _7 K& m K; D7 x8 m
Id++;" \8 I/ _" ?8 G& H: D
}6 [, M" ]7 Z% x; O. s$ g
0 t" N3 H" p9 x2 O public Activity activateIn(Swarm context) {9 @* V+ s, f$ m$ P1 }' t
super.activateIn(context);/ ]% R7 {" ^& @; p; ?
schedule.activateIn(this);
- K% h) ]% C, y8 q return getActivity();
1 u$ M5 T* s3 z0 ? }
0 ?7 }( s# n8 H9 k _/ H Y& ^4 i# R# W$ B
public static void main(String[] args) {
5 w" L5 _3 u7 j6 H7 g' D) l Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
" I! Q, }& K0 o+ O Swarm swarms = new ActionGroupDemo(Globals.env.globalZone); Q9 m! U: V$ C9 w2 e
swarms.buildObjects();
6 N3 ?% ?- Y9 | swarms.buildActions();
- Q& T; T2 w1 c2 G5 a L' V swarms.activateIn(null).run();
( {( V/ G8 X* `0 E2 G }3 J: m2 j- G: v$ A7 n
1 r' X+ U6 }: [9 d+ R4 J} |
|