|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* @* ?$ t' M7 a: c& J
6 ]1 T# Z% p5 Q" G本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update213 T6 D3 }; O s# h; ^ v2 ~2 g* G
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# d3 Y1 a. P1 E; ~1 g; C
swarm.SignatureNotFoundException
/ [2 E5 Y; Z) a% b7 G at swarm.Selector.<init>(Selector.java:76)
# X$ }2 g' B) Q2 E) b/ p8 J* g at ActionGroupDemo.<init>(ActionGroupDemo.java:37)! k, c2 I8 @* F7 P- J* h3 E
at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 h. r3 t+ y) C- B) Y- {
) Z$ e. b- T, j" u v6 |5 h
' r% l4 @/ i5 D+ s9 Eimport swarm.objectbase.SwarmImpl;
1 |- e0 z6 M2 Limport swarm.objectbase.Swarm;
: i: w$ n* }8 |8 |import swarm.activity.ScheduleImpl;
( p$ P- ~; P3 [* o1 Z7 Vimport swarm.activity.Activity;4 x) k# B% |% v$ n5 p$ _7 W% P% v% m
import swarm.activity.ActionGroupImpl;
: g" x6 l! V$ k" F! G8 h# Aimport swarm.collections.ListImpl;
6 u$ T, j( j5 u- g9 w6 _import swarm.defobj.Zone;
# U& E6 O( I% Q5 H5 ]/ g. Dimport swarm.Globals;! v$ }- Z4 s6 p; ~; v7 ]2 ]: V' N
import swarm.Selector; n' g2 {1 l9 i2 Y7 Q# g5 E
import swarm.activity.ActionGroup; 4 ~6 m+ ?0 |1 R) b2 U1 U
class Agent {% y8 i" C P* _# w6 x
char id;
7 g8 e% _& P4 X5 C4 n, _0 M# }" F v0 U, m
Agent(char id) {
F+ @; |- x, e' _ y+ M' c this.id = id;
* P. N; o0 [. ^' j: r6 T }
$ O, n' a% c; X
+ Y( I; O4 a8 f5 q public void agentStep() {
9 \+ R3 F. V2 O System.out.println(id + ":" + Globals.env.getCurrentTime());; k' G; _$ `& i9 H
}
6 ?" N# l N4 R# H4 n6 L6 M}2 N, Z& h0 Q: o. s d5 I$ | n
: B5 ^) {: z6 R+ B) h cpublic class ActionGroupDemo extends SwarmImpl {+ }8 r) f2 _) h6 l
ScheduleImpl schedule;) J9 ]- }3 L% m: ]4 m3 R
ActionGroupImpl actionGroup;6 R4 S7 s6 v9 T0 {
ListImpl list; j+ Q, w) K/ |, ^8 s
char Id = 'a';: E# r; ^+ D7 @
+ r R% J5 l5 J7 z
ActionGroupDemo(Zone aZone) {" f3 h' f! U$ B0 @& c1 e: X. E
super(aZone);
& l( E! v6 b6 B9 y- w list = new ListImpl(aZone);; B0 ]. S' u( k2 j+ h0 d, j. X$ P
swarmSetp();8 t! A# o# C* a: Y9 [: q
actionGroup = new ActionGroupImpl(aZone);
) ^( r+ y7 l0 N; s schedule = new ScheduleImpl(aZone);
% n% }$ l) m# C& y0 U$ h' q) U' r& r9 I try {* [9 d! e+ V2 w D
Selector agentSel = new Selector(Agent.class, "agentStep", false);5 |8 q' q# r: t9 F8 O1 J
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行: ^3 z6 G. G% @5 x; { m' d2 M9 t
8 W3 r0 \) g& m6 z% A
actionGroup.createActionForEach$message(list, agentSel);+ b; D( [# ^8 ]! L- m# z: A0 R
actionGroup.createActionTo$message(this, swarmSel);+ ~5 W2 v5 ]% Y+ i* _
schedule.at$createAction(0, actionGroup);
* ?4 e+ V" |* I3 ] schedule.at$createAction(1, actionGroup);
* o6 P$ v* L' i* K9 a4 u schedule.at$createAction(2, actionGroup);' I9 P3 C* q2 Z7 {- K
% n( u4 X; F+ Z& R+ V
} catch (Exception e) {
/ S4 B" f! k" ` e.printStackTrace(System.err);4 J/ B+ { b2 w& F2 N, k
//System.out.println(e);- K( [2 f8 t. [1 `0 k* x9 v
System.exit(1);
" d1 C, z- c! e- a: G1 q9 h }1 s: u4 e9 J1 R& G! I
, w3 j0 R5 B' T S0 n2 Z8 ?0 a. C8 x
' A& Y3 p# M6 f/ P }2 g# g( n, S& R0 c
0 {2 H# @. i8 I2 s3 b6 y) f/ O& ~) z private void swarmSetp() {
- X: w9 [3 A+ V- y* F3 O+ w" Z) g list.addLast(new Agent(Id));
& M, W6 {$ A% c3 ~0 u& r8 A9 r Id++;
' A1 J( w$ P& I: f }# X6 N5 @7 d# g ^
! {) n* G. @5 h$ B) r public Activity activateIn(Swarm context) {
% v1 b! j/ r7 A7 R# v! N9 [% e super.activateIn(context);
3 |0 {. t' {# H* y0 o. P schedule.activateIn(this);
# W0 D" m8 y0 } return getActivity();8 \; }1 C$ p# o" f& K
}3 ~6 ?( @3 D S8 o# \; N+ i
( p4 u4 T# u, w public static void main(String[] args) {
: ]1 [$ T; F" V0 H Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 h; K( c' O! U$ T0 Y7 B) [$ _4 h Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
1 H- G( j% _% h+ c9 V$ P* X& U+ M6 f swarms.buildObjects();
- {& J! ~* @0 c9 J& U0 i; u* Q p' c swarms.buildActions();+ U( R3 V4 r; [' T, K( ]# y F
swarms.activateIn(null).run();
5 a5 G7 \2 i C* k! A$ J }
+ c* r, m! s7 c. L s9 |
+ W' a3 j& c: v7 s, ], ^} |
|