|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 & N, o; V$ {! m+ ^5 q" c
$ s5 h* `! k3 A- Z本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& P2 g' S; N. t2 g% x! j# I3 z
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. A" v2 I# f3 |
swarm.SignatureNotFoundException
& [! k3 P. O7 \' m at swarm.Selector.<init>(Selector.java:76)
9 A% b2 L+ g" ]$ S1 ` at ActionGroupDemo.<init>(ActionGroupDemo.java:37)% _( ^/ w+ _, A8 G
at ActionGroupDemo.main(ActionGroupDemo.java:67)
E7 O) V4 u5 q- ~8 J
3 n& t# N4 \9 L0 F1 U* W# u$ n& T: _+ D4 g& `( |: J
import swarm.objectbase.SwarmImpl;* e1 P) w1 }; Q" d$ N
import swarm.objectbase.Swarm;" A; B# K: `9 v2 U, k1 ^: Z
import swarm.activity.ScheduleImpl;, e# X" _! E. s3 \+ z' Z
import swarm.activity.Activity;( q- o4 Z! Q0 r7 f
import swarm.activity.ActionGroupImpl;
* z; w# B; \9 }1 K3 w! l5 A% {import swarm.collections.ListImpl;
7 J! P$ N1 y h7 Himport swarm.defobj.Zone; ( O) C! b6 Z: _. s
import swarm.Globals;
! C2 p) }. ~- a5 j) n3 Dimport swarm.Selector;
, F- L6 n# i; w6 [+ e% N0 ?6 ^import swarm.activity.ActionGroup;
U8 g9 F& m# A1 mclass Agent {8 k! {$ o( X# @* C6 O- j* }
char id;
# i+ e; R2 s% D3 _: e5 N6 H4 Y& p) @2 G9 Q5 r6 @
Agent(char id) {7 a* w9 P. w0 |2 M
this.id = id;
/ r" B; s& N4 D3 o* i4 \' t }
; A; l2 D/ I5 b9 ]& G5 V% K& J
$ l; n, D% ~+ f+ M. { public void agentStep() {
" b% ^5 ?; L! {+ G; [! n/ \! s- z System.out.println(id + ":" + Globals.env.getCurrentTime());
% Y+ {) _" Y9 \* | }3 p6 X, n& U, g7 D1 R6 H9 V
}
5 R# G& Z' J( J3 \, r+ Z0 m/ w' @5 C1 q' x! x* I3 Y9 ]! l
public class ActionGroupDemo extends SwarmImpl {+ c" g! ?6 T; r
ScheduleImpl schedule;
6 D" D8 ]" L( Q8 }+ e ActionGroupImpl actionGroup;
# l7 {1 m/ d( Z5 k3 t ListImpl list;' f" j4 `% O+ K" ?: S8 O3 m; P
char Id = 'a';$ W- Z/ P) T% O! i7 `' N+ D! z
3 B* U$ @7 Z4 F, }( \$ Z K
ActionGroupDemo(Zone aZone) {/ v; s# S1 @1 J |* S; _2 r- X! b
super(aZone);8 O% C. A. O' M8 i! q9 _9 z* |/ X; M
list = new ListImpl(aZone);
) r; M I- }3 {( c' o1 _- S swarmSetp();
+ O$ [+ n+ E$ H5 P A actionGroup = new ActionGroupImpl(aZone);
* C4 D3 H4 v" K4 W/ f6 }& g: U schedule = new ScheduleImpl(aZone);1 G9 x/ S4 x1 r$ s, d+ x2 G( I
try {
; e6 ?2 q @# P/ j7 [# _ Selector agentSel = new Selector(Agent.class, "agentStep", false);# ]: R0 G: o- ]2 j1 |/ x
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! D3 Y6 c$ J. h' r; E" i
2 K/ o9 j' `( _+ J
actionGroup.createActionForEach$message(list, agentSel);
4 K& H! z1 G# o' Q actionGroup.createActionTo$message(this, swarmSel);
. Q0 ]. Y; |4 F! p" @- | schedule.at$createAction(0, actionGroup);" V/ v+ u/ v8 j- ~
schedule.at$createAction(1, actionGroup);; I( @/ A( K, T
schedule.at$createAction(2, actionGroup);% ^9 M9 k# z2 g/ s9 l' j% m3 G$ a
& H: e& _' A- V. T S8 j3 l } catch (Exception e) {! N( x7 V- L9 b% O
e.printStackTrace(System.err);; T9 S, _8 V$ p/ v! [. X+ b
//System.out.println(e);
2 S: H" ]$ O1 e+ r+ j System.exit(1);
- X) n% @0 Y3 z- _7 I% o }2 C9 J3 q/ A* u6 {# z8 H
5 R7 w! `( F0 X' G3 V: y- f! w
- S! L# Q1 `, w8 [( t7 I
}
6 X; u" r$ I/ x9 G: j9 [" ~5 Q$ \' `- a# U& G( W; g
private void swarmSetp() {% H4 o$ @3 E+ a
list.addLast(new Agent(Id));- E2 v% ~- T( W/ D5 [2 r- |
Id++;+ b" y" H6 n( ~0 F
}
. v/ y; b; C6 V5 P0 C" k2 M6 j+ R
public Activity activateIn(Swarm context) {
# N4 W9 H3 u+ W: \) K super.activateIn(context);
9 k/ p! H$ l0 y/ G( y* [$ m schedule.activateIn(this);
2 [$ c/ ?7 I/ k/ y9 p0 C5 e5 h3 R return getActivity();
) l, b* o7 u. ?% y1 a r- P4 S% o }
6 U7 a: q. W) N9 A6 T' ~! H0 r* r- W& m% l2 y9 _2 f
public static void main(String[] args) {
s+ K# }. I- i' K) o' Z7 O Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 ~4 Q8 @( J" O5 j ~. ]$ |
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
) l2 k. L! J% S" w; ]# j swarms.buildObjects();
$ I) @$ p2 _" F! ~# N) I swarms.buildActions();
' w8 b& N" r/ y swarms.activateIn(null).run();
. o5 c+ l( p0 M0 ]2 ?4 | }
5 p$ O5 Y, n* R$ \
1 Y6 N0 d2 {" n# P- S3 J) H} |
|