|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 @1 P- k% ~6 {4 [6 Y, ?( F& R. @' v ?
9 H w9 `+ O; K
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( k8 `% }! h; L4 Z* I以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
: j# c" D% b8 p" Qswarm.SignatureNotFoundException. T1 I: Y7 l! C: n
at swarm.Selector.<init>(Selector.java:76)
+ \+ y; z; e& }" @ at ActionGroupDemo.<init>(ActionGroupDemo.java:37)) \. D! {4 q- V) k! G f
at ActionGroupDemo.main(ActionGroupDemo.java:67)5 b% y b: m+ N6 \9 Q$ ~
5 h6 U+ A9 P6 s) ^7 [5 K: U q
! F% C' }* |& L4 U$ L" ^- t: F
import swarm.objectbase.SwarmImpl;
% r0 A l! j. ~, F6 F/ Gimport swarm.objectbase.Swarm;6 C0 d% d* c; C( J% i8 |8 |
import swarm.activity.ScheduleImpl;
, y% Y& _$ n& i- c- A# Vimport swarm.activity.Activity;
! B" ~ F2 ~7 [+ l$ w( @import swarm.activity.ActionGroupImpl;9 w0 H" n+ u+ C! o
import swarm.collections.ListImpl;
, w& P9 o& W6 Q5 L8 Gimport swarm.defobj.Zone; 6 K% Q; m* c2 p q- a+ d. S
import swarm.Globals;
* B' e, ?- E/ X1 ximport swarm.Selector;8 j, \" G; Z- |3 h
import swarm.activity.ActionGroup; 4 a* ~9 r" y; H) {1 ^- j
class Agent {0 G5 w+ m8 n) g% J
char id;+ n" e5 I# ~- O" O% P( W7 \# A
% D6 F$ h# F; s1 C- t6 X Agent(char id) {
& r( S7 j+ \4 m3 K) C this.id = id;
1 l9 K* i5 c. {, o7 w0 v }# Y3 {. {* B k; l
$ r" t: Z2 e6 U) e7 z4 \ public void agentStep() {
7 ^; g& x$ I# W6 C* v System.out.println(id + ":" + Globals.env.getCurrentTime());* Y" L9 J P' r& {
}& Y1 s& t2 ]8 m. y, u
}
* a; |$ N$ N3 q7 `/ @1 [' |) n
2 p3 U+ j9 b- d; ^) Opublic class ActionGroupDemo extends SwarmImpl {
; d* y8 F. I X" s7 s ScheduleImpl schedule;9 U4 u8 r- ~7 N1 \% V6 ?
ActionGroupImpl actionGroup;
5 K) c1 L# S, v2 n9 P! r3 e ListImpl list;! c; a+ J7 E# ~/ n* y* H' ^
char Id = 'a';
8 b7 M& v2 C) o3 X+ O1 I; D) f9 \
ActionGroupDemo(Zone aZone) {* ~ L( p: c* ?
super(aZone);
& n7 A8 U' ~0 ]" U$ s list = new ListImpl(aZone);4 F. Y& N# b, N) a: J. c
swarmSetp();
: ], e i+ ^- v actionGroup = new ActionGroupImpl(aZone);
2 V$ G% K+ ^( t( ~ schedule = new ScheduleImpl(aZone);
+ g7 O3 c4 `& L+ Q try {/ W* c$ C% m% p/ A# f$ U
Selector agentSel = new Selector(Agent.class, "agentStep", false);+ f4 t$ Z+ l$ q' q+ E+ x' @
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 f; j( M8 n8 z8 D1 O! y b + \; j/ N# [1 ^* v ]7 H% N; c! y3 h
actionGroup.createActionForEach$message(list, agentSel);
; Y' j6 w0 t8 u/ P! x. C. N actionGroup.createActionTo$message(this, swarmSel);# n$ c! H. i( o: s$ G. x/ N- r
schedule.at$createAction(0, actionGroup);
# y' e6 o& l& R( C0 ?: Q; @ schedule.at$createAction(1, actionGroup);8 @4 d6 i6 p6 h
schedule.at$createAction(2, actionGroup);( X% Z/ o' M& i b5 W1 M
) V" N9 H w$ M% Z8 y' J
} catch (Exception e) {2 }: @0 f4 Z; j( ?
e.printStackTrace(System.err);
4 G. M& s9 v; ~1 t8 l7 | //System.out.println(e);! m" w- q; F) @+ j2 n
System.exit(1);
7 c* B( i6 g8 ~# D( S% ~0 ` }
3 ~7 o! i3 S2 K# t
% _4 @7 U4 S; t, j+ W- D# @. w% S, G# b# U
}
$ H: B' ]: h5 z8 M
9 D: z9 h1 @6 H# _ private void swarmSetp() {: l4 w& J2 ~4 f
list.addLast(new Agent(Id));1 I, D$ p: s: }/ D
Id++;' ]% t; F# w _: x) R4 |
}
* ?) V2 Z8 a( D7 x o4 X! w2 L X, V8 r* t) I+ J Z5 j* ~" Y, m
public Activity activateIn(Swarm context) {
1 F1 H I5 I0 s H super.activateIn(context);2 _6 x6 `# L! `1 N; o1 H
schedule.activateIn(this);* o3 U# h. r$ \9 @
return getActivity(); _$ y4 J4 m/ G
}! s& |2 K5 N9 ?
6 d* j. {+ ^: |& l* \# R* ^. J2 p: L1 x
public static void main(String[] args) {
/ j( o3 q" R8 W1 H: n Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
- R& E* l# H6 T3 |5 z Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);* K( Z" Z1 x; `- ^4 G) J1 K2 T
swarms.buildObjects();5 A' d, r, u/ t T- E
swarms.buildActions();, d' E2 P" {9 S( B% w
swarms.activateIn(null).run();1 k3 E x0 N9 V; k% Z8 S' S, _, ?
}% d g+ j$ P& F5 s
; l5 I8 `& S+ o- l+ }, Q# d} |
|