|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! y' E# i: \, R! T; y
* h& S( F. e' p9 r5 D& p本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update214 O. ]2 C% _7 X
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: m( k# `" g- _" e2 ?6 P5 i
swarm.SignatureNotFoundException i1 I" w: z/ f& A
at swarm.Selector.<init>(Selector.java:76)
, N9 m+ p. F, J# @5 b* A6 i& o at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
5 [; f& o+ k. E& q4 B" b/ X at ActionGroupDemo.main(ActionGroupDemo.java:67)
; g( e2 N9 w- s$ x
4 d. V4 h% ]5 E# x. F4 _- Z- Y. h) y4 q
import swarm.objectbase.SwarmImpl;
* s3 a, H3 j2 y5 [4 pimport swarm.objectbase.Swarm;
9 r' `, A: ^# h' Himport swarm.activity.ScheduleImpl;6 M' r2 S3 A$ r) K, i
import swarm.activity.Activity;/ p }+ C+ a. a# @5 D/ |$ f
import swarm.activity.ActionGroupImpl;8 c. [% [) \' T
import swarm.collections.ListImpl;) J& z& k @# I4 e4 T
import swarm.defobj.Zone;
$ |6 r) s0 _5 B% y$ limport swarm.Globals;
( e( f! [; k! K! L7 }4 Jimport swarm.Selector;3 y4 [9 n7 X- v5 k! i4 ?
import swarm.activity.ActionGroup;
2 q# N( ]- z4 Lclass Agent {
$ K8 c7 n& e; y2 X0 U8 n' K char id;( O, W* m: v4 I' ]+ L' R' O
- I0 E, C* X% P5 |) ~* R# A: ` Agent(char id) {
4 I( R- e" X- o this.id = id;
4 j/ E. Z/ ~+ Q# R }
* [0 B: r1 T' p+ v, D; W5 w) ]% h( F/ g. I2 [( W9 n
public void agentStep() {( j5 y6 G7 b( e- _3 `7 H
System.out.println(id + ":" + Globals.env.getCurrentTime());/ T' s, D8 s0 y& g. v, A- c
}4 ?0 [: s! F" d, r7 y* m
}
, y4 m: b. V# N: o
4 r; c" n# c; f7 Y# j, ?public class ActionGroupDemo extends SwarmImpl {( }) ^2 h; ]9 y5 C9 G! `" v0 @5 j
ScheduleImpl schedule;+ J; P3 s% n5 L9 V# z% w0 J6 h
ActionGroupImpl actionGroup;
% J* W( x! A# r0 s ListImpl list;7 Q3 f' G+ b( N7 ~
char Id = 'a'; `5 I4 |6 r$ x: i6 F) n5 E$ i
- x2 q$ v9 O! |) Y, a1 }
ActionGroupDemo(Zone aZone) { g' X$ _0 w5 B X0 K! j" J/ N+ q4 C
super(aZone);& [9 Q2 i- N" X9 S$ i6 W" L
list = new ListImpl(aZone);
- Y! I' X5 w: O5 l( ]/ k swarmSetp();
4 W" P! q( l. L# a' ?2 A! U actionGroup = new ActionGroupImpl(aZone);
8 H* _$ v8 K( | schedule = new ScheduleImpl(aZone);
4 U* U7 z# P: o5 ^* W( g try {4 |6 s+ \. p) s; @
Selector agentSel = new Selector(Agent.class, "agentStep", false);
1 X3 V" \# S9 b Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' _) A/ p- d" A" A
! ], X5 I, D% o( U2 z3 x) q0 ^1 w, [4 }
actionGroup.createActionForEach$message(list, agentSel);
) i: f# m, M0 ]- z* Q8 C actionGroup.createActionTo$message(this, swarmSel);
, f9 {; Z$ G% c8 \7 A7 x schedule.at$createAction(0, actionGroup);5 V) l5 y. ^& i# T9 g
schedule.at$createAction(1, actionGroup);
1 p7 m5 T% y/ F0 _3 U! n! i schedule.at$createAction(2, actionGroup);
( l$ N. e" [1 H! W6 L6 B' {" q0 h8 M" F4 B3 R `, ^8 B, y. c
} catch (Exception e) { x, I; F0 l( a2 y3 C
e.printStackTrace(System.err);0 K" S2 P q: U7 x8 o
//System.out.println(e);
+ P: C9 ^" K; J System.exit(1);1 A! n& |/ @4 E7 X/ }
}
; }+ p. ^- v1 Z, n X( w$ Z0 D& h) o+ z2 ?
) Q" T, j" T- I: d! N
}
. \2 W% ?( K6 Q+ s( \6 E- ?/ }0 z! i
private void swarmSetp() {' a) a! l8 n, l% ]+ v* y- v
list.addLast(new Agent(Id));
7 f2 K |# }; a Id++;! y# _" T- x* D! ]
}# X; ^0 J" u; F' ]+ k6 I! @7 r
1 s' v3 q& K( L& e# P/ O! Q
public Activity activateIn(Swarm context) {
. c0 m( S! x$ v! _* c2 |: y& G super.activateIn(context); \* B. r) O4 A/ ]+ q% \" X- Q# D
schedule.activateIn(this);7 E" j; C* p% v0 s/ t
return getActivity();
% |) m8 \1 z2 z% q2 m }6 X1 H$ |% v. J
7 ]$ h S4 ]' l. s) B public static void main(String[] args) {
4 G) G# Z6 {+ h: R3 s Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 L5 v% s: v# M* l& h" ]! R$ p) K& ?
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);4 \8 n0 m3 X4 j, @
swarms.buildObjects();
3 y9 P+ {% z% T; P. f: Q/ U swarms.buildActions();
& a/ h% g* Q9 v5 A( z swarms.activateIn(null).run();( r! \2 k0 q! V. x
}$ B. H2 U; f/ ]1 \
5 o: Q1 u# J4 [/ V2 v, M9 E} |
|