|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 : `) P: }/ G; e$ j( R
# {+ g6 J" R9 H本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( i% G% l2 N4 \5 K& G$ E9 O以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.; p0 X2 [& k6 N, O+ v
swarm.SignatureNotFoundException/ ]6 T" w( \3 Y
at swarm.Selector.<init>(Selector.java:76)$ V5 H" O: }+ v, _8 I+ X
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
" y& I7 q/ f" J( f* t: G* c+ b1 D; ~ at ActionGroupDemo.main(ActionGroupDemo.java:67)3 I# ]$ i4 v8 N6 h
6 [$ R. U# `; l9 S
3 j7 k6 u8 j' y! Z
import swarm.objectbase.SwarmImpl;1 N" k; P( y1 @7 m2 E( c4 i8 B
import swarm.objectbase.Swarm; e) g. s' r0 d6 D! w3 ?/ b
import swarm.activity.ScheduleImpl;
% d; J& j( Y3 k7 R/ rimport swarm.activity.Activity;2 p* S# f/ m5 R* H' N
import swarm.activity.ActionGroupImpl;4 Y$ L$ u3 ^& l7 ?; L" @+ `# y
import swarm.collections.ListImpl;# F2 h# x ^$ c, b0 ]6 S
import swarm.defobj.Zone; , X9 S& ~: O6 Q! E! O0 K% }# S, [
import swarm.Globals;
+ L* u; k1 B! a4 Oimport swarm.Selector; r) F. y7 \* ~! y/ a2 [. y3 C
import swarm.activity.ActionGroup; & F$ ~' [5 {# D \ b
class Agent {
; P0 _5 V( _- ], ? char id;. s+ _# Z( P9 @! T
7 y2 M6 b- _( d* k1 B
Agent(char id) {
4 B8 u; A5 I$ k1 ^/ r this.id = id;8 q' v/ a# I9 {" L
}; K n* J }7 K9 f1 c6 X& D
. d; _" [* P% {% m
public void agentStep() {
* _' i! Z: U! S* Q System.out.println(id + ":" + Globals.env.getCurrentTime());3 t3 m6 }7 a' u- l9 E
}: k& [! Z: r7 Z
}
( K4 G- V+ v$ p4 g
. a! }6 y! R4 z: y# w% y$ Opublic class ActionGroupDemo extends SwarmImpl {5 I7 O' y: `. O. z
ScheduleImpl schedule;7 y& g1 q4 V$ K! F; l
ActionGroupImpl actionGroup;
6 R- N. Y5 q E: ]8 ^5 O ListImpl list;8 o* y7 s5 ~+ [) c/ F8 Q: M& r8 S( N
char Id = 'a';- T, h1 u; p) x3 I8 Y. R$ o% h( W& n
5 D( j6 l& d, n) L ActionGroupDemo(Zone aZone) {
" p! P% T& C6 t& O$ l super(aZone);* c2 T( W6 A! D1 l) C3 V! ` S3 m5 }
list = new ListImpl(aZone);+ w6 H, k+ @# p0 o5 Y
swarmSetp();; P. @4 C+ T; U; ^8 t5 j. I G
actionGroup = new ActionGroupImpl(aZone);
$ I3 i' O# l& v" S; L$ A schedule = new ScheduleImpl(aZone);
' \; A* W I2 S, i4 N try {& v$ g7 F' _9 T
Selector agentSel = new Selector(Agent.class, "agentStep", false);
! Q- I6 L0 e, F: \+ N; g; }" {0 s" V Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. c: a! A9 F: y9 O. @$ X
* P* F* v5 N& K- {* p; L, d# l
actionGroup.createActionForEach$message(list, agentSel);' E4 P9 y3 i, i2 A, l; M' s. Q# s$ l
actionGroup.createActionTo$message(this, swarmSel);/ N ?5 _$ x4 q
schedule.at$createAction(0, actionGroup);
% g: S9 K. x: _7 `9 @ schedule.at$createAction(1, actionGroup);) {& [/ f( Z4 j5 k9 a+ P5 Q
schedule.at$createAction(2, actionGroup);
. K' e8 P7 h* z6 R2 v9 h$ U' Y# V1 R4 n
} catch (Exception e) {( v5 o4 s1 }/ e/ \! q% ]9 s
e.printStackTrace(System.err); T' {! \! y5 N
//System.out.println(e);8 m% d" O3 J. j5 G( ^
System.exit(1);
) s, |6 E; @6 F2 E& R0 Y }5 @3 a1 w' n0 j' m& F, j
" a* T! i% y' {/ j- U/ C" _. G. U c2 b
}
" w% ]( P2 Y; F! f4 ?3 L" Z
/ _3 a, d1 C1 v private void swarmSetp() {
( h: [, Q' M* E1 n4 W list.addLast(new Agent(Id));
4 m. |8 s0 ^4 ]% ? Id++;8 ?7 [2 w3 ^) Q! C' l' c
}+ B5 b# u) `4 _* E
% v) ^& x6 V z
public Activity activateIn(Swarm context) {' v3 l0 E: V& p& y6 z9 r
super.activateIn(context);
+ ]/ J( w: |8 w schedule.activateIn(this);
$ J! x; t7 U: D+ e6 _& d$ _2 r return getActivity();
6 y( r/ |* C, Q& v! ] }& z+ w' ^- r" x. T; o& Y7 R- A! i
- K* D" A7 z; S, c7 {. |! i0 e public static void main(String[] args) {6 K' S2 _# a/ r/ E b
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
5 M- m \+ i& r3 J5 Y, a+ x' x V Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);& w8 u ^8 h+ s$ X: C" u8 P- \
swarms.buildObjects();( n( h- {+ g' R0 x1 g+ }
swarms.buildActions();8 J3 R. Z t3 W, b
swarms.activateIn(null).run();
3 }6 c8 n5 R0 r1 w* Z- A }
- }4 i1 Y) x$ E" k2 z; N
6 S0 V& r+ P' I/ |6 {) H6 S7 Y} |
|