|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. }4 D* W& v6 W% }$ j
; h+ }+ e; o' l% `, F本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
/ x& b( w" i# d1 s' l以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
+ o% [8 ~) z9 D( ]; F/ @swarm.SignatureNotFoundException: u9 F; g. I( n1 s9 D: L4 c: t( u
at swarm.Selector.<init>(Selector.java:76)- a8 V4 D% w9 k, ?
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)* |' V: l0 X$ d8 L
at ActionGroupDemo.main(ActionGroupDemo.java:67)
N' p/ s3 J4 J3 c/ I
6 [6 Y" U$ |* H+ G9 b$ M
. Q1 z) E* G0 N1 F! Ximport swarm.objectbase.SwarmImpl;8 S8 V9 j4 ~+ c
import swarm.objectbase.Swarm;
! v* w8 Q" g* n" Mimport swarm.activity.ScheduleImpl;
( o" Y P/ c( {) n' t+ b. a: Kimport swarm.activity.Activity;2 \ E- d5 s% F& o
import swarm.activity.ActionGroupImpl;" j2 E/ U" k* S" u2 f& D* T0 I4 {; K
import swarm.collections.ListImpl;
6 R3 X/ R) T9 ~import swarm.defobj.Zone; 5 u" N' F- `# j
import swarm.Globals;
% y+ m0 r4 i6 c2 }import swarm.Selector;0 `0 z$ k9 G m; g
import swarm.activity.ActionGroup;
; W% o5 {! Q& U' Fclass Agent {
9 E( V) g8 b' y/ W* f1 h char id;" y+ _7 O4 K5 w. j/ y8 R1 k
, _4 h5 C/ M# g* q9 |
Agent(char id) {: @: Z) A+ ?, i
this.id = id;$ S0 W3 D: l6 q, t- Z
}
) m% s0 C. e- g" J% P) V8 a) C5 P5 \, V0 `& Z1 G) i- I, E
public void agentStep() {
4 Y. M7 i, D1 ]# y& ^* U7 b System.out.println(id + ":" + Globals.env.getCurrentTime());
' ]! L8 `5 R) S' m7 @ }
6 D5 J$ Q5 }- N! |3 b}: N+ n& R$ Z) [; B5 _- D" Q2 F8 W9 o
* a/ M$ C- `0 _, f2 @& p7 I% L: r
public class ActionGroupDemo extends SwarmImpl {) b/ G2 v- w# g
ScheduleImpl schedule;
3 z+ V: Q8 P! p& z/ n/ { ActionGroupImpl actionGroup;
8 z7 f6 o: J x ListImpl list;& s4 w) F' B. D) h3 g5 j
char Id = 'a';
# G6 v/ p5 U5 u9 `% U: V, o( S ^4 x. Q
ActionGroupDemo(Zone aZone) {' Q$ c5 L( f6 q6 w* _1 u
super(aZone);7 r1 h: `6 z1 b, o
list = new ListImpl(aZone);
0 M4 Y/ p, U9 I# L3 b swarmSetp();
; [0 q$ U9 l3 G; ~ M! N actionGroup = new ActionGroupImpl(aZone);' P. ]4 o/ t9 N/ o3 J* [
schedule = new ScheduleImpl(aZone);
; Y& U5 W2 Y0 Z try {- W0 o. Y/ b" w k0 G% }
Selector agentSel = new Selector(Agent.class, "agentStep", false);
2 u7 a5 C( d! x; C: h6 \& D Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, h- U& m- {7 i
7 H, i0 g3 p0 [( d" |/ t
actionGroup.createActionForEach$message(list, agentSel);' _0 \, l! @8 B+ K: D
actionGroup.createActionTo$message(this, swarmSel);8 a$ D( X* f- L* F4 S- s
schedule.at$createAction(0, actionGroup);& B: B! R7 j/ N
schedule.at$createAction(1, actionGroup);
0 i" r+ W3 M' ]5 E9 R schedule.at$createAction(2, actionGroup);
+ e" z. D a$ O* z4 m( a1 p
1 I6 u0 x6 ]: R& V: z8 g9 B& o } catch (Exception e) {
* f4 q8 [% e1 H9 o. X e.printStackTrace(System.err);6 d8 m @% U( v- O. k' |7 r5 m
//System.out.println(e);3 q4 `6 B# `$ |6 k
System.exit(1);
! E0 G5 s$ z" E }& k! M% k* a) m5 O
/ ~, j) ]& \, H+ D+ d1 m% F
) m5 z# N' d/ P1 t; o5 b$ c9 a }3 @- O% V/ \7 \* J! |6 V
, \+ B* _; X/ Q4 _" O6 V1 ~1 B private void swarmSetp() {
4 P9 m1 ]2 C$ a4 [, Y3 K list.addLast(new Agent(Id));( [. c$ R/ v9 ]: ?0 N1 j1 _ T
Id++;
8 t1 e6 R/ }# T; m* ~5 p1 F }# i* N2 W, y1 }, c# s: p
+ X, U* R' d; c6 ? public Activity activateIn(Swarm context) {0 r+ o. C8 W# c- ~
super.activateIn(context);
/ E% f5 |# _# G$ x schedule.activateIn(this);- D {( |2 t( S6 L6 j
return getActivity();: t9 s5 V, r% y# ]" _
}0 W0 S+ u; a( i2 o t. w
r' [% m$ c' m- V public static void main(String[] args) {
/ [: v8 z2 ]! I9 v- Y0 j, J Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);: h" W9 M% v% u# b$ ^3 ?1 z% K
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);6 @' f, G1 u1 N' Q
swarms.buildObjects();' k$ c9 K9 T3 j* M8 a* M+ ~
swarms.buildActions();+ M: Y. {: ~- q1 @6 P1 C& N8 U
swarms.activateIn(null).run();2 x* C. u% m3 l# B2 v% y3 P! A9 N
}# v8 O+ i* C3 P- \/ B( c: J7 V0 X
7 O' t2 \ q$ Y; g% f0 L+ A
} |
|