|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 r3 X, |* s0 n4 Z c# E4 Y; L V4 H; S4 I# V8 q
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' j) p$ Q$ p% Y* d- X以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: l5 W; f( J6 v3 F4 T
swarm.SignatureNotFoundException
: d+ w8 q! A) ] at swarm.Selector.<init>(Selector.java:76)8 u* Q# y( F, E' I7 t# j! R
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( T$ L3 k1 @ R4 [& E) W
at ActionGroupDemo.main(ActionGroupDemo.java:67)
) _/ D# H. y0 c9 b& y: k8 B& p# f5 N
0 c0 P$ R( k. l( A* y% n- simport swarm.objectbase.SwarmImpl;5 {( |8 g6 {. a, p* w7 B
import swarm.objectbase.Swarm;0 f9 m( g: B H
import swarm.activity.ScheduleImpl;
& q3 t( L/ E* _5 [, F% ?import swarm.activity.Activity;& P1 s$ k3 C" L7 \5 M; f$ H
import swarm.activity.ActionGroupImpl;! `% C) H: P& z5 Y+ A, q; C
import swarm.collections.ListImpl;$ _( }) r% a Q
import swarm.defobj.Zone;
2 A& G4 |# h9 p& z% l& Aimport swarm.Globals;
0 e4 N* H+ Z- ]% T' T1 oimport swarm.Selector;
1 R/ c# L; }: fimport swarm.activity.ActionGroup; 3 ^# g" Z! ^% ~3 Y% }
class Agent {# a C) y' C; D/ O
char id;8 N/ c$ }2 K+ }: e$ R
: n, H( v5 b8 Y# ^5 c
Agent(char id) {6 m% s* Q. F8 Y' b z1 @5 @
this.id = id;: N$ U; z5 N1 x3 J' g
}1 L; r' t8 L# B l% F
3 q2 R& x! | h$ L7 X" {; }
public void agentStep() {
4 G% q) \* o% J9 ]; k2 a System.out.println(id + ":" + Globals.env.getCurrentTime());
' @$ X; \- l6 d5 T- L( [2 o( i) m } f- _2 y4 ?, H: i& F
}
5 _( x$ y, k! z- u _- X+ w4 r2 c7 a3 n; E& F6 Y; I) d
public class ActionGroupDemo extends SwarmImpl {
- i5 M1 I4 B2 Y& S, V% ^: d ScheduleImpl schedule;8 q- \4 g/ r) W# Z7 o& {, {( o
ActionGroupImpl actionGroup;
8 Z! o$ L: a9 O) ]" D, u9 C+ i ListImpl list;3 Z- {6 h5 J9 J8 O" o3 e! _
char Id = 'a';
' ~6 ]" j; T/ ~4 e, x' f
4 @ {3 E/ ?7 }3 E" D, U ActionGroupDemo(Zone aZone) {
2 B- F& V5 w8 R5 U6 t7 n9 ] super(aZone);. d: ~' t! f( m! }( e
list = new ListImpl(aZone);* j% m4 a; w# q6 ?2 O5 ?+ q
swarmSetp();
$ Y C+ k3 o5 u/ W$ x. e actionGroup = new ActionGroupImpl(aZone);
: Q' P& ]& ~* x0 T schedule = new ScheduleImpl(aZone);
) w/ F' ~! J* y try {- B' j' C( ^( V8 _* j
Selector agentSel = new Selector(Agent.class, "agentStep", false);
) h$ A3 ~8 q) i Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行0 y V7 i* R8 _: [5 x% V3 B; P0 p2 q
. V0 \. u; F" h) I. V actionGroup.createActionForEach$message(list, agentSel);# D4 d! K' U! s7 e( x$ C1 U
actionGroup.createActionTo$message(this, swarmSel);1 m. }+ J& x, v/ ]- o
schedule.at$createAction(0, actionGroup);# F9 y3 b1 q) K
schedule.at$createAction(1, actionGroup);) D: \0 ]2 V" n7 [- D6 ?
schedule.at$createAction(2, actionGroup);
9 i% m+ M7 p, e
+ I9 ^+ Z6 H0 o \6 [0 { } catch (Exception e) {+ `, G9 k7 q9 C. Y. V! w# } G6 r
e.printStackTrace(System.err);
p# l) o' r2 l# `6 T //System.out.println(e);
$ _: Z- |, u8 b+ @! u e System.exit(1);0 B$ H# F0 k' C2 t( C" t5 o
}% g7 i5 i, e5 Z
! r) s: U+ N0 X" s! z4 W" C- D- N. O9 |" s6 |1 b. F
}$ j- Y0 I0 D. }: ]% e# d
5 Q6 X9 m# g7 ~ private void swarmSetp() {
4 {( A- B4 j& @4 W# ?# a4 o list.addLast(new Agent(Id));# g, m9 E7 y! o5 _8 _8 Y7 |5 T
Id++;: a7 [, ~9 L8 I/ E
}) j" \9 _) B) K F* ~' U4 e
% `& t k5 a3 }: G, Z& K public Activity activateIn(Swarm context) {) @, [# d9 m; P- d6 ]
super.activateIn(context);2 M- W4 r, P( S8 l2 O( N8 `( c# K/ o
schedule.activateIn(this);
) s' q: b* e8 {: w3 m% ^! _6 Y return getActivity();
" `+ k; X. |7 R- Z }
" y: I3 m8 P8 O' l: v9 p& v8 S4 q2 w' k. |% ^3 u7 H% n
public static void main(String[] args) {# _: O* o7 }0 H; j0 g* X
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
/ j1 p ]6 G. W: g) _8 ] Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ D9 e7 m- ?1 I swarms.buildObjects();( D& z4 h5 ]3 T
swarms.buildActions();7 T- u0 O" e5 i0 b6 j$ P( y$ }
swarms.activateIn(null).run();8 b9 ?; N: m" B m; p; s" O
}
5 u. N- m% O7 j* [
, ?3 @' j0 U' t+ \% x& O7 P8 r} |
|