|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % i: Z% s. R0 a! A* K9 L0 @* G
D+ a# r7 W, \8 o8 d& H本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
$ T5 C! M' C) O3 o. P7 a% }以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. H; j; Q( i: {/ Q
swarm.SignatureNotFoundException. h! E( y4 b: m2 k& \
at swarm.Selector.<init>(Selector.java:76)6 Q: [/ P5 ?9 t7 I4 z, O! N1 E
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
/ `4 B4 `1 I8 v1 l, I9 z& w at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 P, Q) E- p# K- C
% s+ x$ @+ v1 R; x* `
# c1 C& |$ h) V# G* ] ~9 Uimport swarm.objectbase.SwarmImpl;0 w7 |$ P. G+ R* U
import swarm.objectbase.Swarm;
! r, U' @; p$ x% e5 F% N7 ximport swarm.activity.ScheduleImpl;7 k9 s5 [' a' y3 G/ N6 ?
import swarm.activity.Activity;2 L3 a1 J% P* J. W: s& K
import swarm.activity.ActionGroupImpl;* T8 W6 S- z# S9 T3 A/ [
import swarm.collections.ListImpl;- l5 B7 A3 {5 i0 [ ]
import swarm.defobj.Zone; - {+ F/ Q: h) X$ u
import swarm.Globals;6 C0 M* n, m, a! f2 G8 U* v
import swarm.Selector; t( k) O+ T3 C! v U8 e
import swarm.activity.ActionGroup; 0 M S4 h6 g! l( @3 W
class Agent {$ O6 q4 n9 J' F% n* R/ s
char id;! z0 l6 k* v; _
6 g" o' m! c% @3 A
Agent(char id) {
& M; U, [: N. u, A- d this.id = id;
% T. v$ J5 Q" |# W; y/ _0 J4 \ }
. @ D o# Z Z0 M3 W
$ k! a5 `/ z7 ]5 Y public void agentStep() {, _3 M8 o i3 g" t0 K4 T8 a: Q
System.out.println(id + ":" + Globals.env.getCurrentTime());
7 D/ _2 n# m; Q! X3 j0 \9 h, r }0 U7 q( S1 ?1 Y: ~4 I: ]
}
! ^+ E# J; }' v8 H
1 r) N5 ~! g4 ]/ ^* P" m0 Kpublic class ActionGroupDemo extends SwarmImpl {4 w/ p1 O0 c$ S% b6 b4 F' g
ScheduleImpl schedule;9 o4 k* N8 m/ K+ q9 l
ActionGroupImpl actionGroup;$ |0 g3 [# B6 P7 A/ I8 c
ListImpl list;9 R4 \7 e% W1 m5 g3 W/ T2 T. A' I9 W
char Id = 'a';
% D0 z- Y k' }1 p. \. [
. t* ~" @( |% h3 b/ _; R2 ~; _# q& ? ActionGroupDemo(Zone aZone) {
" k) x* {+ b8 F% I0 `; U super(aZone);8 ?; t% M- m! G" x |% a
list = new ListImpl(aZone);
4 ?! V& G H& \9 U1 i) j: c swarmSetp();+ M8 w; J. A ~$ L8 k! [. j5 _% V
actionGroup = new ActionGroupImpl(aZone);6 Q0 p0 v1 v0 L7 f9 e/ s
schedule = new ScheduleImpl(aZone);. r9 u/ V$ x' x% k' E
try {
) b% v( G2 Z- ~1 [ Selector agentSel = new Selector(Agent.class, "agentStep", false);$ f* v$ N( _5 D4 w
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! s+ T# ~: X+ W9 g5 p' H( e6 ~# b3 w 7 V" l' K! S) `0 I
actionGroup.createActionForEach$message(list, agentSel);
% ^" h* L% x# M4 s7 }' n. |2 q2 A actionGroup.createActionTo$message(this, swarmSel);+ H {2 b& P$ Z9 }4 l+ n( _
schedule.at$createAction(0, actionGroup);
) o% e0 O+ }: R% J schedule.at$createAction(1, actionGroup);! A+ g/ J! F6 E( ]
schedule.at$createAction(2, actionGroup);+ R: p5 N/ |- s* e0 H; w
+ ?* E! O# v9 ^
} catch (Exception e) { X' ~ w8 V9 J
e.printStackTrace(System.err);
) j$ [1 l3 G( {4 z4 b //System.out.println(e);
% M7 B; |+ q2 |7 G; ?2 h System.exit(1);6 h0 R2 I U# A8 \8 Y
}
( Y; C# G _5 H. W% {# x7 g9 a: W T3 j" F
9 f$ M5 {& B3 n: u }# X% w3 H3 X% y3 R
$ N0 b N1 ?7 ?" q2 D
private void swarmSetp() {
6 u' J p( r. ^$ f" X3 R list.addLast(new Agent(Id));( F8 O" W( ~0 }- K2 E( O& }! f* K
Id++;
) I% A5 N! n- ~/ y5 R }% ^1 M" h; G3 h; K2 E3 I
7 M6 _* J* x; F, V4 N6 T2 I public Activity activateIn(Swarm context) {' e' N* W4 z8 y. @6 Y: P
super.activateIn(context);
( s1 X" O3 e% m. g! r7 {9 n# \1 l' U schedule.activateIn(this);3 T5 c4 p4 S& S
return getActivity();
0 k! @- ^7 B+ W }8 T. V" t& v6 w6 b4 b- _
) _" W- B" F7 `5 x- O. o- ?0 V public static void main(String[] args) {1 Q" x& h" v5 Z. A5 D0 D+ E
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);8 |. c4 k& X% X J
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
- V0 X% S' u. K1 ? swarms.buildObjects();
. i$ B! t. }4 J swarms.buildActions();8 C; k# j% k4 ?6 _: h U, L; D8 S
swarms.activateIn(null).run();- ~" Q! C( J- O" r( w
}- m' M9 ?/ I1 w; O4 X; S6 j& c! x5 `
q) N: W ~2 R. b$ P7 j} |
|