|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# M' t2 A( f x& V7 i4 s( u' j
% g4 f# c# W$ S+ s本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21 Y2 K1 j/ [6 v1 m
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." T" m. Z8 y3 f: j9 p; q
swarm.SignatureNotFoundException
& _; O2 `& z1 z c& u! z2 @9 Q/ S$ | at swarm.Selector.<init>(Selector.java:76)' ^' }) j; n" T( F F
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; _* A2 U( X o' o. j& w at ActionGroupDemo.main(ActionGroupDemo.java:67)
r; {9 K3 n; e- b2 T# F" m2 Y% D: h# Q; b( [( Z
$ s- l: i4 H7 d7 Z
import swarm.objectbase.SwarmImpl;; j8 {9 a# V8 y( }/ s: E( q" X7 b
import swarm.objectbase.Swarm;7 C) D0 M% p/ ^9 m" ~* h
import swarm.activity.ScheduleImpl;$ j9 `+ p5 f5 s5 u, H- ]( k, I
import swarm.activity.Activity;
4 S1 G6 B5 v5 iimport swarm.activity.ActionGroupImpl;7 H1 P2 ~5 f. M$ b% j# @5 i
import swarm.collections.ListImpl;
! B* \5 ]0 e, @! Zimport swarm.defobj.Zone; 4 _6 e5 r- a/ R% ~( J: }( {
import swarm.Globals;
' S5 E- S8 I1 c Jimport swarm.Selector;0 d) h) D5 P( a; W# N- G: A
import swarm.activity.ActionGroup; , p7 Y, t) `. e. s# \8 a
class Agent {! {& M% f6 X- L; r8 v3 ]
char id;, V8 v5 `5 f# o
- [; m- F8 g9 T3 m3 W: h5 O Agent(char id) {# |+ K3 U9 ]. `# g7 B
this.id = id;
) N* b! p" F! _; t+ }: j }( w7 d) C' S. Y0 T; x6 l4 s
6 i, e# ?8 U) H0 B" r public void agentStep() {6 S2 ]) t% v4 v1 U
System.out.println(id + ":" + Globals.env.getCurrentTime());$ d0 n/ s! O% \, v
}! N' @* r! M) q. p! s6 s
}* I+ \+ c% W' N; B/ Y/ x9 J
6 l0 @$ l! y' N" i- D1 r( ?
public class ActionGroupDemo extends SwarmImpl {
' R5 r2 J0 x3 i: e ScheduleImpl schedule;
; b1 H1 C5 C1 j8 O. M9 C ActionGroupImpl actionGroup;4 P1 X3 t( u* K: |
ListImpl list;
% p/ t3 x/ n) q: z char Id = 'a';) Q* x1 \! Q( A5 J9 K5 S8 e
9 I; S6 J! W# f; q: o/ S ActionGroupDemo(Zone aZone) {
' ~7 v4 x- B) k% w x super(aZone);7 g0 O* y( W5 p0 l0 e+ A: [
list = new ListImpl(aZone);
4 t% ^3 U6 U. A swarmSetp();0 E; @) W7 ]. d: @* @* k
actionGroup = new ActionGroupImpl(aZone);
. _7 b8 z/ a5 F y schedule = new ScheduleImpl(aZone);+ D6 K' t7 d/ f1 f6 X* r
try { [1 t( y# t! f% T
Selector agentSel = new Selector(Agent.class, "agentStep", false);" ~5 T7 n. M- o: u7 g" h9 P
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! ]0 Q. l' e+ X0 G
6 u) x# E+ Q% r/ }. h# m actionGroup.createActionForEach$message(list, agentSel);$ e) o' f0 U6 }4 U' K; g0 w
actionGroup.createActionTo$message(this, swarmSel);/ \# k6 w$ j9 x, d8 K4 j
schedule.at$createAction(0, actionGroup);( @/ U. O. }% O& |+ @! l
schedule.at$createAction(1, actionGroup);
! r: ]. V( ~) V5 I" @+ M schedule.at$createAction(2, actionGroup);, g# t+ F" R% }8 l
W! U) n& x4 n7 _/ V3 T* L
} catch (Exception e) {# _/ @ {1 K! ]8 {
e.printStackTrace(System.err);6 d3 w& s. R% E; O2 X- F
//System.out.println(e);2 t- v6 H' E- F: m" f
System.exit(1);
7 V* g7 @* z5 _3 x }
2 g- T! }+ q4 j. s0 [+ {
: K4 F& @5 i0 n% a' b6 E
9 V% b6 Q& `" N e- S7 I2 D) |: ] }4 y: L( q8 _. k5 f& b; Q1 i
8 E% F% w$ L$ R7 a, m/ n
private void swarmSetp() {- B+ z7 Q% E8 R6 x, E1 b
list.addLast(new Agent(Id));
f7 M, o0 I' f( w {" ? Id++;
B( u, A0 l( s$ V1 [7 q1 C }
$ B: e* O7 m/ r" p( T i* Z, E" N# C+ T0 Y" w6 }
public Activity activateIn(Swarm context) {, H, r; L8 G/ i* H) O9 e
super.activateIn(context);
( C% P& v( A8 T( j) x) z4 { schedule.activateIn(this);
! b! r" V! ~! x6 w# U2 ~0 x( i6 { return getActivity();7 G: o& `3 f3 v
}( f9 ^7 v; b* Z
* A9 p# Z/ R( u9 N
public static void main(String[] args) {
6 J' p+ W+ M5 m9 p Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);* `+ y5 s( l( Z* i+ j+ O
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# O, J: B2 Z4 X4 {- I swarms.buildObjects();6 P* i+ ]+ b* Q4 t8 z8 ^- w& o4 J1 {& E
swarms.buildActions();' A k6 {. U: \! a& v
swarms.activateIn(null).run();
8 a/ t* n) H7 z: r4 j }/ ~$ e ]0 X. y& L; ?, E
4 i! x: B% R0 Q z l1 u" O
} |
|