|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 4 z0 W! M! f- x
* l0 W+ M+ N% w. }8 z! r
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
0 @# D3 @+ h; F9 i" x3 f以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.; i$ f2 l% B3 K9 {! u
swarm.SignatureNotFoundException. d, E+ S: z1 b" X0 P. q/ T
at swarm.Selector.<init>(Selector.java:76)+ _! g# z/ Q! X- _. ^3 @
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
: H) ?" W! X x. O1 Q6 p$ o A' g7 L at ActionGroupDemo.main(ActionGroupDemo.java:67)
! e- Z3 R" S$ {9 n; H; I0 `) q3 a8 z! o8 d! E
4 ~" P9 Z3 {; }
import swarm.objectbase.SwarmImpl;
% u. p8 |# {3 J$ |import swarm.objectbase.Swarm;
7 ^; {5 S. \ Z {$ b0 o7 z2 Yimport swarm.activity.ScheduleImpl;
+ T7 M+ G+ b* X# Z; limport swarm.activity.Activity;4 |' Y5 ~1 p6 r) u7 W" Z
import swarm.activity.ActionGroupImpl;& v. w" J2 J0 `( D
import swarm.collections.ListImpl;
7 i4 x/ Y' ]5 {% p' m$ o2 Q2 rimport swarm.defobj.Zone;
1 a) {( R7 A$ l W; F6 cimport swarm.Globals;: Y6 |9 N, A; L0 }4 A. X
import swarm.Selector; d. T* y0 C: W/ Q
import swarm.activity.ActionGroup;
4 |( X+ F# X+ @" t7 Fclass Agent {
2 q9 o5 W7 L" I( c0 B char id;7 @; c' p3 s9 m, e( h6 |& h
& q( W6 a( y" N9 b/ [
Agent(char id) {' `( H# g6 p0 R/ \
this.id = id;7 ~- U* g9 e5 B2 U) R5 m7 r
}
9 l E/ t- {! n& D! A4 e; ]; i2 b9 [3 ?3 c& E2 w- B9 h
public void agentStep() {" p9 i5 q: r0 `- N( M! P
System.out.println(id + ":" + Globals.env.getCurrentTime());
. y4 {# |; }" j8 r# [- ] }: A' s1 W# {8 |& r9 g
}5 o+ C4 A. ]! T$ Y4 {7 B
* @* S0 C" Q1 e$ L4 Y2 ^
public class ActionGroupDemo extends SwarmImpl {$ \9 ?4 T) P7 o: G, |+ T& d j* G, _
ScheduleImpl schedule;- }3 E2 c; _! l4 L7 \) x
ActionGroupImpl actionGroup;
3 B: U3 m) d/ A9 s. a: A1 A8 N ListImpl list;, b0 M+ S' p" {
char Id = 'a';& F% I) |, n! ~, g1 ~* ]2 X
- a8 S2 f6 w% n
ActionGroupDemo(Zone aZone) {' }3 Q; A: U# y" W; F
super(aZone);
' f, a" ^, o: c8 o. T- @0 b list = new ListImpl(aZone);; c: h ~% g( V: h! v. _
swarmSetp();
' G4 k# _2 K5 R% Q) K* b }' m actionGroup = new ActionGroupImpl(aZone);/ n2 z4 v9 w V5 i7 t& T0 q- {
schedule = new ScheduleImpl(aZone);0 M; ]5 z5 w) o) ^5 T2 K
try {
! I1 s2 s% F$ q- v+ f6 D9 c9 i Selector agentSel = new Selector(Agent.class, "agentStep", false);
* e6 O- Q7 V) X, x( k4 { Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& T/ t( H U" l9 t+ w
* M8 J E) c; X0 ~" z actionGroup.createActionForEach$message(list, agentSel);; k8 _9 x1 O1 V- \
actionGroup.createActionTo$message(this, swarmSel);
- e6 D! Q, ]8 n+ n schedule.at$createAction(0, actionGroup);
' P) u/ \: Z' h& N8 g schedule.at$createAction(1, actionGroup);% o+ a9 v" h$ |, [
schedule.at$createAction(2, actionGroup);
/ \8 Z$ R" p" L ~# a5 v# r7 v: ~) _5 }( X
} catch (Exception e) {
8 u+ H' E9 W3 y" f/ @ e.printStackTrace(System.err);
0 W2 `1 x1 ^; g0 I1 z //System.out.println(e);
& e3 \* s6 A; c System.exit(1); f7 }3 ^. V+ @/ \! W* L. o( }
}
+ V5 c9 Z0 n; R0 W3 o) p: S% O; n! Y* i, ]# Z# r3 f4 e l
3 d4 j9 `% g' v6 \; j0 Q) A
}
& ]; l+ Q9 J% h6 o" o5 v& `' Z
! H" f9 [8 r* C: b; m& o' L private void swarmSetp() {! q" _, [5 d4 o& T1 o8 o
list.addLast(new Agent(Id)); d0 [4 _2 W% D; p; ?
Id++;7 G% k4 z0 k3 F: X8 C
}
0 I! C. S1 g& \- b& E+ Z7 c: S5 `7 Y& n- x' ~6 M
public Activity activateIn(Swarm context) {6 y. C" s. f8 G+ K8 t+ ~; N
super.activateIn(context);
9 u ~+ N/ p# t1 ^7 z6 M- f schedule.activateIn(this);+ K3 {/ [6 ~( A0 {: H1 ?2 g
return getActivity();8 e4 h* U# O. [& g
}
$ O7 i b. o9 l
% z. i4 O/ V# P" g$ x& A public static void main(String[] args) {2 h0 O. O" t. I+ A
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);* c2 d j5 L+ M3 o1 e# R) t& C
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
8 I; ]: i1 Q! I. ` swarms.buildObjects();
1 q; H$ y5 d0 _' f0 S$ M: O swarms.buildActions();* s6 d6 I" a3 g% U; ~+ F
swarms.activateIn(null).run();' Y/ c( ~0 [3 D9 @
}
+ s$ M6 m: l1 _
; Y3 j2 U3 K" N, e9 x* T} |
|