|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 M" ^ r- y: T$ f5 @; b9 O$ r
: `+ |! K/ T S! ~4 ^
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) X' {# b/ \7 ?, \$ y以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. k! b: d* H3 }0 V
swarm.SignatureNotFoundException! Y+ w+ M0 O N0 x! ~6 Y
at swarm.Selector.<init>(Selector.java:76)
: R4 s7 O; V. V' U at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
! D, e/ H( @! W& m# m' M at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 X/ {+ \: A4 @1 A, A. J# V$ s9 u c! C
; \1 p# h+ ?4 u d7 P! N- F
import swarm.objectbase.SwarmImpl;' ?2 s2 b" B0 k# K, @
import swarm.objectbase.Swarm;* G) g! t) k! F/ b' c& o, J
import swarm.activity.ScheduleImpl;
5 ~# c t6 \3 ` T" Ximport swarm.activity.Activity;
* _ Y9 H! B: E. [! `2 h: Mimport swarm.activity.ActionGroupImpl;8 J, n2 u& _8 V3 y! [4 s) y
import swarm.collections.ListImpl;
7 _. f8 c/ z- G2 I' S+ |import swarm.defobj.Zone;
) B3 l' B5 y# j% P, ]4 {import swarm.Globals;
- |: M* t- C. s. u: p$ iimport swarm.Selector;
7 \- V1 _; Q, x3 ~6 L- ^+ c& `import swarm.activity.ActionGroup; ! N8 s$ ]. g+ e3 F8 e
class Agent {
; w2 ^' B5 D/ S | Z c char id;' y w" d2 C/ k$ A2 [2 v6 \
9 c0 L6 D" l5 ~+ u Agent(char id) {
# q7 @7 ?) v* G1 N% O this.id = id;
4 U9 X2 y# Z$ } }
) g5 |# F' E u1 L
2 G: T. f! P; m% [- H6 U4 H public void agentStep() {
0 D p: V/ v6 x; d* y8 K8 ? System.out.println(id + ":" + Globals.env.getCurrentTime());
+ _( k. U" a' u H7 l2 X }# L, w6 o% J" W, G2 T4 W
}5 W i; M Y7 L
/ S; V' h% n! L& b6 k, R! K
public class ActionGroupDemo extends SwarmImpl {. l2 o% e# Z3 ~# v; L9 Y: E
ScheduleImpl schedule;
5 ^" C! ^, R' y) {1 v3 M. E ActionGroupImpl actionGroup;4 a' @# l7 b0 s
ListImpl list;$ f% d1 K9 c4 O+ z) b$ I0 V8 Z
char Id = 'a';' r$ R& w- q& ?0 Z+ c8 S! c: `+ v
C/ p: O$ o/ s3 Z- e1 p ActionGroupDemo(Zone aZone) {+ {# D: {3 o2 x% f6 W
super(aZone);/ G& p2 C& d% i! R
list = new ListImpl(aZone);
& ` H0 c `) q3 p! M swarmSetp();
$ I! C% ]/ j4 c [, z$ E actionGroup = new ActionGroupImpl(aZone);. K; _: |) ^9 E: s& P1 s8 u
schedule = new ScheduleImpl(aZone);
N+ E [& d I6 L q try {. l- Y/ S& x' @. H7 i; X
Selector agentSel = new Selector(Agent.class, "agentStep", false);
) F* N# E! d- u Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! W/ {7 F1 `) t7 f v. P c. k t9 }2 ?) E3 t4 }
actionGroup.createActionForEach$message(list, agentSel);: v/ K6 E7 l# D* u6 A% T
actionGroup.createActionTo$message(this, swarmSel);
$ r' v6 w; f( N2 P+ R2 d" a3 h schedule.at$createAction(0, actionGroup);
- L5 e; k) {( }6 W2 M$ h2 P schedule.at$createAction(1, actionGroup);8 A4 v. T3 S) X8 V6 ~! e% m
schedule.at$createAction(2, actionGroup);. X: Z6 h7 e8 w5 D1 Q# W" D
. ]+ d" e: F8 M# q% M6 y; i( a# b
} catch (Exception e) {
0 r1 [0 t0 o) F% E! y e.printStackTrace(System.err);
( z7 z- S/ f# H" U //System.out.println(e);5 G0 E. n9 z( v0 s
System.exit(1);# A9 L# o; c2 `0 }% L& @
}4 p% q, ^6 q5 u1 D
- D- q0 d8 ]8 X* ~9 R+ N7 Y2 Y+ y0 h* ~2 d5 G( W1 s0 A+ g+ `
}
! I$ e, G0 M. k& {* i- i2 L8 i7 _0 e+ S
private void swarmSetp() {
/ J% V+ @, R8 ~/ C/ W list.addLast(new Agent(Id));, i9 i1 s. ~0 e1 b7 t
Id++;% C2 [5 [1 f& l0 `. Q
}+ w3 k6 e* S. P" y
3 c: N& q% Y/ C% @) p public Activity activateIn(Swarm context) {
, U: I6 ~1 K6 o1 ]8 K% b6 L super.activateIn(context);
8 k3 E$ o9 }, G& W9 b schedule.activateIn(this);- p( R2 E8 S1 |8 t' F7 I
return getActivity();4 E8 \6 q5 z% Q( ~$ N; t
}
) y( d+ @6 f- \! \* K6 {1 j7 j# d! U$ l$ N$ Q, R6 S9 `6 W" ^2 p0 [# e
public static void main(String[] args) {
& T4 V& r+ D/ i2 ~' r5 d1 L Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);5 b! }) ]6 A: a N
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" H2 v" h7 B+ K u9 v swarms.buildObjects();
D7 s! i& t" O1 S1 ] swarms.buildActions();
- v( u& k& { [4 K8 R; T swarms.activateIn(null).run();+ p3 F3 S% Z! N/ ?7 K" d9 i
} V0 ~7 A& a8 h* l. C' v) J
?" u g7 j K2 g} |
|