|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - H* x* W$ ]0 O4 {( R9 w% i! P
E' s3 L& @4 e# o0 U. E5 o
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, c1 x: o8 r& ~* Y0 u4 J
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.- Q+ H0 W0 R* e8 F P F
swarm.SignatureNotFoundException5 r& @3 O7 }7 G6 a' `* y
at swarm.Selector.<init>(Selector.java:76)
# [5 r# w: `$ }7 M. X# `$ I8 \& r; Y at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 v) x% }: {7 E
at ActionGroupDemo.main(ActionGroupDemo.java:67)3 e. w- f: ?) c
) }' y% S0 G7 ?! K( g u+ D
; b3 @8 \. y R- G, y6 {( }" y4 G; `import swarm.objectbase.SwarmImpl;; N0 P- M1 a! \/ G: U+ b/ c
import swarm.objectbase.Swarm;% ]: y1 l5 B8 q$ _( ~' N
import swarm.activity.ScheduleImpl;2 I: B2 c, l% T' {# F5 L- F2 d
import swarm.activity.Activity;
7 l i8 z8 b0 Aimport swarm.activity.ActionGroupImpl;5 `7 m) B3 {! k- i+ `: l0 d
import swarm.collections.ListImpl;5 {, L! c6 o, i4 z- U# T
import swarm.defobj.Zone;
C5 X+ l$ W( _5 N( }import swarm.Globals;/ g" q: j/ \# t* V* t
import swarm.Selector;
, f g+ a; E% l6 s1 ^; M0 Cimport swarm.activity.ActionGroup; % ^ s. L3 M! j8 L* o, ]3 x
class Agent {* B" ?2 R- q, z
char id;
+ N1 }) b) ]- _; q. s X- V' ~! G( C7 t4 |
Agent(char id) {
5 b8 P A3 H3 l( }* m4 p this.id = id;( p- g2 x) {2 S! k' T" i
}
7 R( R2 [, v, f* U, n- l& i' _, T# f7 ~ A" `- B9 R
public void agentStep() {7 H" \3 u) O# X4 z
System.out.println(id + ":" + Globals.env.getCurrentTime());
5 _& e/ d5 S: z- s0 @; W, { }
* O& W! R5 A3 p* T) X# B1 A, ` D$ e}' |# L' f: ~' R5 [" B- @5 `, }
. a, B4 c- \1 _, [9 T" ~1 g
public class ActionGroupDemo extends SwarmImpl {
0 t* u. x9 b6 v( t" I3 V; p* j ScheduleImpl schedule;8 {2 E5 U: J5 u6 J
ActionGroupImpl actionGroup;6 W) C l+ F4 M6 C
ListImpl list;/ y ~* @' m# {. ^
char Id = 'a';. x8 Y% ~6 p) U& B+ Q' i5 f$ g% ^( s9 |8 }
0 ~8 C6 o' W+ i: E0 I& g
ActionGroupDemo(Zone aZone) {
, X" @' c% t" s; m super(aZone);
/ K7 z4 I+ {% i- s0 H4 e! |, Q/ v list = new ListImpl(aZone);! h& C8 O! K1 P4 b o! v" M1 V( L
swarmSetp();
4 W* @$ ~% j; ~2 } actionGroup = new ActionGroupImpl(aZone);
* f9 S* M; J6 P6 T. o O; q X schedule = new ScheduleImpl(aZone);) Q' h4 y) |. _, Y1 I
try {. ~7 U% u) d% M' c% Q% z" S8 `; }
Selector agentSel = new Selector(Agent.class, "agentStep", false);( I6 N4 U% b4 ^, X0 R
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
" r# R# c' E! h* r5 }6 D / S$ x0 @8 T& K
actionGroup.createActionForEach$message(list, agentSel);
9 k, b& y4 f% U% q7 F9 m actionGroup.createActionTo$message(this, swarmSel);
6 A4 P# a" |: X" _+ b# v schedule.at$createAction(0, actionGroup);8 T/ r" _5 C8 v+ X
schedule.at$createAction(1, actionGroup);% r: S& i/ a+ Q% y+ M. H1 O e6 F
schedule.at$createAction(2, actionGroup);$ N# H. V- K7 d. R
4 q$ N# u+ l5 g4 z( i9 s( m f } catch (Exception e) {
/ z8 r$ U$ j( f) O/ T e.printStackTrace(System.err);' r* E+ w% u8 S9 b# N
//System.out.println(e);
) d) U# M6 Z5 G/ l System.exit(1);
# j$ K/ }, G5 U; `/ c( s! Z. b4 q }2 ^! {! \) {( S0 v# e
; r( c& v3 L0 J0 c9 v
; b! ^, N U: A; c8 m: ` }
# L3 e0 ~6 r+ I8 x9 l- E X- [
* [% l6 X" M# w$ E: O7 z' b9 v private void swarmSetp() {) c# R+ l: v* n
list.addLast(new Agent(Id));
6 F4 @, x' v" Q0 r& _+ ?$ D$ a Id++;4 W4 ~( d# b* k% j0 K+ h
}- G1 B* Q9 \- v* o7 f6 z9 O
$ g, S- M, P' Y x+ j
public Activity activateIn(Swarm context) {
( Y+ g$ E8 X( j, a" @# ^. S super.activateIn(context);( \3 B; }0 x7 k# c) Z k$ e
schedule.activateIn(this);" v$ P9 q7 m; R- s9 m/ V
return getActivity();
# ]: k* P9 q/ P _ }
5 k$ G6 M l# |2 `) h
" ?) C8 L; O0 K5 w( _, } public static void main(String[] args) {1 k! Z1 }4 Q9 C8 o/ ?: j
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; T+ q( I0 Q4 D* P! R0 ?& L Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# e* ?5 I" P& ?" l/ f3 _( x m swarms.buildObjects();& X& O. n- D" K- y( }0 k( X: {$ n, S
swarms.buildActions();4 \1 Q' ^% B! \! z: V/ d- o" v' p
swarms.activateIn(null).run();
! z7 f+ q# W- { }
5 G; j+ w8 a+ C2 \$ \/ q, N Z6 W# v( u H
} |
|