|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% P0 Y7 ]" ]/ ^) e L1 I( {' X" Y# ]; W c, h& u: Q6 G; a, P* q
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
. C o6 P3 t" i7 }# O以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: p( ^ ~% `7 f; I `$ s* b
swarm.SignatureNotFoundException. {+ o" ^" p7 h, t
at swarm.Selector.<init>(Selector.java:76)2 E0 D$ ^6 k$ @. {. f$ P
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)2 p. W+ m8 V6 O7 s d* R7 [
at ActionGroupDemo.main(ActionGroupDemo.java:67); ]% K1 |. `, |
5 e, K2 R2 {$ p- Z7 v3 k
* y' w, t0 e, | v( d0 J
import swarm.objectbase.SwarmImpl;
' _) n5 o- }4 r3 ?: x. g6 kimport swarm.objectbase.Swarm;! b. K8 y2 A, R0 M
import swarm.activity.ScheduleImpl;/ L1 l6 B: K: h
import swarm.activity.Activity;9 i9 X1 c5 w0 ~' f2 v7 x9 M5 r
import swarm.activity.ActionGroupImpl; H0 V, I0 v/ G# T* }1 G* Y
import swarm.collections.ListImpl;4 e o) K( v0 r. F
import swarm.defobj.Zone; 9 W, x1 H0 [5 n: i/ X' I% ?# y( m
import swarm.Globals;" f, l) D' `+ r
import swarm.Selector;" h5 E0 W; s) u; q7 M- M
import swarm.activity.ActionGroup; - Q O' R) |8 x0 @
class Agent {
* _$ x3 K) c: K' [- Y$ T. c* q char id;9 g7 r; [% D+ E- s. F! j& M5 [
- E) G% j. l( X
Agent(char id) {
1 x; X% R; O) R( T' T this.id = id;
8 F/ O" l$ i8 { H; M( X* \ }5 d0 t4 {5 ~& m% n
" S9 I. f, A+ N4 b
public void agentStep() {
5 P2 l' |, C4 _3 @% c& ~" W/ ] System.out.println(id + ":" + Globals.env.getCurrentTime());! c8 |' S' A0 M. I4 k% x+ C
}6 N- s% [0 ~3 r2 L
}
# Q' M1 \, J9 ?- g" B+ w4 _0 ^, J6 \- G2 S% N
public class ActionGroupDemo extends SwarmImpl {
# r- M6 V) l2 A% L; ` ScheduleImpl schedule;5 G, q5 I7 N% {, U" K- Y! l
ActionGroupImpl actionGroup;( Z1 _- S( |2 s" K3 W
ListImpl list;
5 c( d4 {4 M4 g8 k/ t( q, ]8 Z0 B char Id = 'a';* W4 O7 |. {7 C
+ P0 N- d: e5 v3 I9 u ActionGroupDemo(Zone aZone) {
/ Y. Q7 P# | o* D: O super(aZone);
, _& u- @" K$ p. V1 v list = new ListImpl(aZone);
- \" t. G* ~/ d; R5 Y& _5 v) i swarmSetp();. q2 _8 I7 G. @) v+ K) |3 p
actionGroup = new ActionGroupImpl(aZone);
7 R; @+ t& A4 k# T, e schedule = new ScheduleImpl(aZone);$ R( M+ H% p+ V# h
try {
3 f! a6 e: g9 _7 E, S- ~ Selector agentSel = new Selector(Agent.class, "agentStep", false);
9 [- I7 k' u6 f5 I: X( O7 U Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! ~) ?, K; ?! G* {4 ^
2 \1 B" `+ ]& F
actionGroup.createActionForEach$message(list, agentSel);0 S6 ]2 U+ o) o% z' U
actionGroup.createActionTo$message(this, swarmSel);" T" f7 x9 K: S! u' I+ g
schedule.at$createAction(0, actionGroup);
) l8 Z0 N q4 W! K schedule.at$createAction(1, actionGroup);: | Q' Z( s5 C6 I" E# a C
schedule.at$createAction(2, actionGroup);& e# _3 S$ ^ m
+ P. Y3 x0 e1 ^6 c$ ]2 ]. P } catch (Exception e) {
( H% i9 g: {. q% X e.printStackTrace(System.err);
4 G; I: e3 U2 O7 `' Y8 Y j //System.out.println(e);! Z* m2 R# P7 R8 X
System.exit(1);
7 d5 N) s1 U0 d9 S, m& H+ h }" r5 Y2 ^- ^- l$ K4 m( D" s( c
8 \. \0 }: q/ X; R6 Q
( I: b. c6 D) T' ~# U }
9 n7 R! f; w3 B/ O( m( N3 ]. \2 e( u8 u% E* A0 o9 v6 l
private void swarmSetp() {) y( V5 Z9 S/ Z, K, U4 D
list.addLast(new Agent(Id));; F( ~8 Q G1 Q7 f W) {
Id++;
' _- \) d; c& [. E, q9 {- W% C# { }6 {( z1 X- R& Q- t
0 K9 D9 H9 B3 Y: V0 V" j+ ^
public Activity activateIn(Swarm context) {! F! F R. Z: X2 W* j
super.activateIn(context);
4 [' X1 q" X* \! z$ x6 k0 h0 c schedule.activateIn(this);
& W" |" `& j: @3 | return getActivity();
~: l" t* ?7 `8 \; D7 J1 r }
# h5 J# {/ R: r/ ~" S4 \
2 E! H4 a; W* G g( U public static void main(String[] args) {
: d: {' X& w% {2 {: w8 ] q( [ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 B* Z7 K$ H5 v% _% G1 [) [1 @8 |
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);; ]# F: e" n _: n% K
swarms.buildObjects();) y( x4 c4 r. J- l2 |+ M6 |5 s
swarms.buildActions();
; ]- H4 H; ~. @) `4 `& W. C swarms.activateIn(null).run();
" G; B8 k# G/ S Q, s( g9 B }% {; x, _8 A8 @$ r
) m- b9 R4 e0 ~! p1 o7 j- Z} |
|