|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& J& P# l( P" ~6 ]& O$ j. u# u, j* D7 Y7 {
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 Y) x' C8 ^1 z. N1 \ ], g2 }4 e
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.1 E5 O# ]3 Z' V( g4 |0 u4 Z4 J
swarm.SignatureNotFoundException" h" e6 c% v v
at swarm.Selector.<init>(Selector.java:76)/ G7 h3 Q; C3 f) K
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 p, K3 f9 [) c- @, T' @3 e& {; m
at ActionGroupDemo.main(ActionGroupDemo.java:67), f6 W# Y: d# D
. a \2 h, s2 l2 w% p
4 G* v; h0 Q# a' B/ o6 W- `+ Bimport swarm.objectbase.SwarmImpl;
3 _2 i3 n& N) e& Gimport swarm.objectbase.Swarm;
& y1 \3 n8 \7 T& I; L/ Mimport swarm.activity.ScheduleImpl; B: G9 W1 J* C: `7 J
import swarm.activity.Activity;
2 E) L( s0 n6 d$ L. zimport swarm.activity.ActionGroupImpl;
2 q; o Y# a2 a5 X# k8 Wimport swarm.collections.ListImpl;$ q# H8 B6 o) t! u' ~- n
import swarm.defobj.Zone;
. m; L: y5 l4 X! w" ^import swarm.Globals;4 J# t5 o- S. I. V/ I2 I7 {% @; K
import swarm.Selector;, r+ _; \3 y4 d6 G
import swarm.activity.ActionGroup; h- j! L) @% b$ P; ]
class Agent {
& N2 O/ V$ M0 U3 @7 t char id;: n% Z3 G& C1 \
5 z' t3 o1 y* b- \" @3 L Agent(char id) {
$ y9 M7 }7 ], b( s- ?: H# z( |$ T this.id = id;! K7 K% L* S; F0 h
}6 Z8 m: i" C2 u l% ]+ z* F" A4 i
* f( z! e! X3 q6 q public void agentStep() {
$ r) l0 L* A' m6 I* A( a* I F# H System.out.println(id + ":" + Globals.env.getCurrentTime());
; ]: t+ l4 ]: R# o5 s+ v6 _4 u }
& z' h7 F$ @3 h8 j+ B}
! }- U2 |0 I2 v9 A& L' C
. }& }0 v0 g! V' f5 a: vpublic class ActionGroupDemo extends SwarmImpl {
; h7 n1 t! J& u1 F! W/ a# _ ScheduleImpl schedule;" g) o; [# s- E B7 C# D
ActionGroupImpl actionGroup;
+ f6 b6 ~/ n2 Q; B! p9 G ListImpl list;
~; l: }! _+ t; f char Id = 'a';7 F Z, D, P. d" v4 Z* b
9 r+ @" ^! m$ v" l! s
ActionGroupDemo(Zone aZone) {
. Y/ k$ h9 Q. h super(aZone);$ a6 Y" [/ [, H. ?8 N
list = new ListImpl(aZone);
- J+ D) D! D& H( D! g swarmSetp();
: T# H8 k" L5 b( ~9 {* ` actionGroup = new ActionGroupImpl(aZone);
: ~7 m$ z; J5 Q$ ~% r; e& I schedule = new ScheduleImpl(aZone);/ V& T9 x4 H U) V9 _$ _$ Q) o
try {/ D$ G6 C3 b. g7 \* I
Selector agentSel = new Selector(Agent.class, "agentStep", false);5 Y( M" ?( ^$ t
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) B4 S0 ~$ }% _: ~0 k
% Y. n8 N' N9 ]& ?! d actionGroup.createActionForEach$message(list, agentSel);) H5 ~5 y. d* B, t6 E) j8 K6 X
actionGroup.createActionTo$message(this, swarmSel);
0 A( o7 t& M& E9 x3 G schedule.at$createAction(0, actionGroup);
3 Y, w9 h4 } W& T; E3 {0 \ schedule.at$createAction(1, actionGroup);
3 ~. c6 k$ C+ @$ \) h, m3 i" d schedule.at$createAction(2, actionGroup);
# n ^( P$ t. D7 ]8 } L9 D: V3 ]
} catch (Exception e) {
& o) B' `+ @' W% j- D3 t1 Q e.printStackTrace(System.err);; T$ Z4 n. X# L9 e/ Z7 ?; K
//System.out.println(e);6 I2 j: u+ S) D$ l6 o" t
System.exit(1);& }( {: t) I/ x, W
}
: R& O0 e! D8 N! U; J6 {9 e- ~ v8 m6 v1 @; Y* f- S
* H- k7 G# d# r. }, e; }4 w4 j
}
- R7 _* {) A4 V& Y8 g1 n! X
3 U$ Y, a. D; t) G private void swarmSetp() {
9 ]7 v3 ]' K. M8 j: q list.addLast(new Agent(Id));2 h! ^: W/ J# j4 ?1 H' R8 p
Id++;
$ _+ }' r+ d+ ^. I( R& } }: b: ?- J+ d$ V3 [% k ?
8 H. ~0 ~4 Q& R9 G. o! w @1 R8 {- J
public Activity activateIn(Swarm context) {
1 w) ~- E* H" P$ e super.activateIn(context);
* O1 |$ g0 g) q/ f7 | schedule.activateIn(this);; O. `/ G# H2 ]
return getActivity();
! b, _" F6 ]: j1 I2 \ }# \, `$ b7 _5 `+ J3 p7 Q3 N8 k
: @3 \- A1 {8 [4 G: C/ v* Y) o public static void main(String[] args) {5 I1 t G- } I3 f
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 N5 ]" E0 Z: h5 ?: H7 d
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
) r5 s6 z6 V/ m" q9 S( E! N swarms.buildObjects();
0 K* T$ t" j' H. L6 I3 b' | swarms.buildActions();4 M+ g+ Q1 b3 s- _: }' ?5 G
swarms.activateIn(null).run();4 F! h$ k. N' q% p8 u
}+ R/ ?% A7 x1 n3 h8 D
7 J# G7 V" T, v+ L4 c- a2 }7 P
} |
|