|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
- g9 g- W. R5 d0 P. @& ]- f" T$ t7 p; {5 N9 \
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; R; F# s/ R2 ]+ ?5 T
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.6 x' i) l9 F C% s" D% G
swarm.SignatureNotFoundException+ l2 b9 q2 M, X4 f1 [3 R
at swarm.Selector.<init>(Selector.java:76)- I f3 V$ x5 i0 h6 L
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 `" [4 E) _" I% t& O- J! W( ?
at ActionGroupDemo.main(ActionGroupDemo.java:67)
) }2 g4 ^( ^/ @) W3 l6 u
. {$ ^* C' `% y4 T% ]0 E
& Y& z5 y8 ^; v8 o- u. g, mimport swarm.objectbase.SwarmImpl; g1 Y2 R6 R' ]1 {; S
import swarm.objectbase.Swarm;
) A/ k1 \+ D( t+ L7 P* qimport swarm.activity.ScheduleImpl;: b4 N/ S2 S4 K- n
import swarm.activity.Activity;8 j7 S% B: ?* G
import swarm.activity.ActionGroupImpl;3 v# {4 r* Y3 P0 p5 J
import swarm.collections.ListImpl;
0 j4 I. B" P8 Uimport swarm.defobj.Zone;
r( U) x" o* _import swarm.Globals;9 Y* z2 C- ?* X# d
import swarm.Selector;' S) M: B+ v- @+ r! D
import swarm.activity.ActionGroup; 4 \6 z5 W* F5 _" v6 Y
class Agent {
* Q/ c" d6 l3 j" i2 C char id;3 [# D, ] m; ^; |" T
0 `( ?+ m' r4 w n5 E6 t6 f. A$ c4 N Agent(char id) {, d6 E+ _/ x# K! A# p w
this.id = id;
1 @! ?! M) P: n$ @% k' `& u }/ s; M" F- Y0 K! B5 H6 L
% \7 g/ A( H* m7 [) n. L0 ]9 z
public void agentStep() {
4 J, T; p! p4 t% |* t System.out.println(id + ":" + Globals.env.getCurrentTime());5 o( `$ D$ Y1 t# h
}
9 i1 S( V) M8 ]}) I4 U4 ^, |9 d& v+ G- l
- T0 K0 k6 Y# k8 t8 T5 P Jpublic class ActionGroupDemo extends SwarmImpl {3 k' v H3 h; ]; y, E& y( ]; ?( D; T
ScheduleImpl schedule;6 D- u/ G4 \: q; p- \; Y" Y( _
ActionGroupImpl actionGroup;
9 g7 Q% A3 ]- z# P2 N2 ^# T ListImpl list;; Z, a* J: P f1 d; y1 y0 c# T/ w
char Id = 'a';; g+ Y8 d" G/ J' ?4 v6 @% f
, `3 s8 p& \! _7 {0 x ActionGroupDemo(Zone aZone) {
) o, V2 F& x* n6 S( e. E, h' Y super(aZone);
% B$ l" d" n0 r list = new ListImpl(aZone);; S$ }+ y! N# s+ Q# y9 \. C
swarmSetp(); r2 t& \# q, n+ G/ ?
actionGroup = new ActionGroupImpl(aZone);( `* U4 r9 Z) V$ E Z1 h
schedule = new ScheduleImpl(aZone);
% s: j# ^2 O1 L& r/ q8 F try {7 T" O+ Y( A$ E" I9 L- N; @
Selector agentSel = new Selector(Agent.class, "agentStep", false);# F0 W8 H/ L" M: R
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# a! \4 y. _; D5 X6 j* k' y
& y7 x, C" d* I1 \ i6 z2 G4 A. c r actionGroup.createActionForEach$message(list, agentSel);
7 \+ c7 Z4 F6 p# k j+ J actionGroup.createActionTo$message(this, swarmSel);
) k- E0 v) d. V# y schedule.at$createAction(0, actionGroup);* E S8 m) _- H
schedule.at$createAction(1, actionGroup);0 y2 u& D Z8 R, F r! Q7 n8 h
schedule.at$createAction(2, actionGroup);5 q1 G9 W% h: [9 n4 [
9 c% \, I/ `8 }% |+ x. d. O! R
} catch (Exception e) {
+ w1 _, W. P6 M8 U# N" P! ~ e.printStackTrace(System.err);/ B8 B9 J1 p. I; M. S+ N5 c a
//System.out.println(e);: C' j. J1 u6 \2 x# n/ k
System.exit(1);) v: ~ s9 y! [3 g
}
' Z5 I! z4 T( o! G4 i1 ~9 Y' F' W7 d0 ?
" t3 k. M' s' ]- c* ?4 O+ @ }
: `- {* k1 b1 J+ ~5 ?* L" |8 U/ n+ A
private void swarmSetp() {
; c8 a: R1 J( R8 E4 [: G list.addLast(new Agent(Id));
- g. p- h. |1 m Id++; c) T9 K c0 V8 x
}+ f% _, }* v: P* v
" a& G- _4 Z8 w8 H
public Activity activateIn(Swarm context) {
6 z/ J4 A4 t) D% J% K super.activateIn(context);, R0 R& ?0 w; m% ?: g# Z$ p- y
schedule.activateIn(this);6 ^9 B7 U: c, n
return getActivity();/ k3 |2 D. m% Y, d3 f1 N+ j( T$ F
}
; m4 G1 i6 y8 \. g
3 v. [/ v: t5 l' g public static void main(String[] args) {
: w/ \/ i, t# [4 D% i Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);' z# f- G6 `( M# v8 c& P, }
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 \& Y+ |$ Y, _& Y
swarms.buildObjects();. W$ }5 H+ Z6 b( k7 l7 e! Z
swarms.buildActions();% u# k I( Z( k
swarms.activateIn(null).run();* g6 s5 }- q; Y
}1 B% |) A% D- H
0 W: }8 j2 |( v9 @+ F q} |
|