|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# f' w# Q' @; j$ ?& y3 R3 D. G! ?/ I. X! _
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21$ B. G' t. _ K. C0 t
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% M' S5 {6 E5 K; ?
swarm.SignatureNotFoundException
$ Q# b5 S N8 k* F# S0 u+ ^ at swarm.Selector.<init>(Selector.java:76)& R' w& d7 S0 Q! _( D; I
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)5 [3 S; _% X& H: j/ T: G
at ActionGroupDemo.main(ActionGroupDemo.java:67)
$ w3 D, c, `9 R2 V
" D/ Q+ |8 e) s, C6 g9 R+ e& g- V, [: {( g4 e
import swarm.objectbase.SwarmImpl;& I$ X" c- T: f: `- m- B. P8 J) W" b
import swarm.objectbase.Swarm;
. Y ?8 a) I3 ~- b/ A: _9 Kimport swarm.activity.ScheduleImpl;
& v5 W. a4 ] D @+ T# Gimport swarm.activity.Activity;
4 L4 |5 \; R6 W8 B% [0 n0 w0 V: ^import swarm.activity.ActionGroupImpl;
8 m5 e/ [- t- Nimport swarm.collections.ListImpl;6 R' ]' ~. `' y0 V q
import swarm.defobj.Zone;
6 L9 v7 E- u l! kimport swarm.Globals;% R# S8 z; z! n/ a; I' a
import swarm.Selector;
' f! F/ q. M/ p$ a: Y* B: Gimport swarm.activity.ActionGroup; ! G/ j. T. @6 g; o; \9 c7 C1 ]
class Agent {
3 f9 C* m' m. o- g) t char id;' c/ B7 k1 w5 e, j5 ]8 w
. D* X% N9 H8 E. h4 V) c. [ Agent(char id) {# Q2 O$ h: S* e8 r1 ?1 O3 p
this.id = id;
2 s3 g# k+ e: @* Z }: B' Q8 |2 q) s6 i1 O' d3 C
2 U! d) q4 v& I) V) v public void agentStep() {
- ?! d' v( i# ^) S% u& Q' a! _ System.out.println(id + ":" + Globals.env.getCurrentTime());4 G& z$ _$ `; a- j3 q
}
3 K3 h" V/ S1 p8 D- x}$ D5 O6 e, Y! \# }/ ?9 v
. P7 a+ p! C* d' n7 `5 [: z% H3 _public class ActionGroupDemo extends SwarmImpl {, S2 y: w/ h' N4 h
ScheduleImpl schedule;
! \: p% i& W2 I$ o" c ActionGroupImpl actionGroup;
2 @8 s" E8 Q0 g, _ ListImpl list;
: J# f" O% x1 b. ^: O/ G char Id = 'a';
1 N+ ~+ }) U) R# m& J. t" L
. X) S) h8 u1 s3 U( ^+ r0 c ActionGroupDemo(Zone aZone) {9 O3 K+ i, O1 u2 K
super(aZone);
1 t5 |7 P% ?" a+ p* K* _ list = new ListImpl(aZone);
( n2 h9 h) t) w, H t swarmSetp();3 N j' B: B- H) T" _. ]
actionGroup = new ActionGroupImpl(aZone); E- K6 i9 C& q/ g9 ~1 J' B% u! }
schedule = new ScheduleImpl(aZone);: l' q4 J8 h2 Q* S% G
try {
7 r& M, Q5 x! N2 m9 H Selector agentSel = new Selector(Agent.class, "agentStep", false);
( ? n2 T, N& d0 Y% S Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
2 B- r0 K' @. c3 A3 L " v0 b& @1 x0 t/ H' d
actionGroup.createActionForEach$message(list, agentSel);
4 m" |% P, T6 |8 n' c actionGroup.createActionTo$message(this, swarmSel);+ M6 K% X6 b6 Y. z: C
schedule.at$createAction(0, actionGroup);( q6 O: w0 ~4 y" R1 {9 f: u- q
schedule.at$createAction(1, actionGroup);
! V( i1 Y. q9 x# F+ E schedule.at$createAction(2, actionGroup);
, r0 ~; d! j& T) z
7 Z$ b7 m) G6 h& }8 f$ N8 Z: X } catch (Exception e) {! G9 ]& o5 ^2 V, L7 c
e.printStackTrace(System.err);8 n) l8 ~+ a2 G
//System.out.println(e); a( s5 @4 z: r3 e; ?
System.exit(1);
: i7 n: P# N- U- f) [5 W& v: H }
9 h2 w6 l$ B0 Y8 h
3 e+ j1 h5 i$ {' f. Y; H+ c
! a& d2 T0 H& u, [; w& ?3 u+ ^ }
: s8 j# M# x) P, j+ @2 F7 n0 K/ \! \3 `; r8 {
private void swarmSetp() {; c( n- m- t- D3 |/ j: s
list.addLast(new Agent(Id));7 j. @: `! n! B! N
Id++;% p0 j" ~- z, \
}. e+ A6 V( h/ f7 q0 [9 ^2 k
; U* _9 t8 k [( D y
public Activity activateIn(Swarm context) {; G% z& x* |/ O8 d. X
super.activateIn(context);" p+ v3 ], k2 H$ N0 V
schedule.activateIn(this);
5 }) E/ }: c2 T! X6 z return getActivity();$ `- C5 B* m1 D+ V! U8 e. e
}
C0 m' S" u5 z, p6 i2 c, d8 Y# ^) k, j4 b3 r' L
public static void main(String[] args) {4 G6 K) E% K* X& h% D3 a
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 ?0 f; u: [4 z4 i O- A# D' P" ? Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
+ S& q* n) F R swarms.buildObjects();
' J7 M3 u3 t0 R# w7 \ swarms.buildActions();6 L, Q5 Q2 x% U( i+ h
swarms.activateIn(null).run();8 d$ Y/ L3 x' v9 e& f3 i g6 Q* l! B
}
7 z% a2 \* A! l( Y, q1 U( R9 U( M% C
} |
|