|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
/ N' w. E. }, I! T' H: c% W! O; i$ }. N) a/ J0 g
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! ?, L% C9 |0 H以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# u- b- f0 f) zswarm.SignatureNotFoundException; ~" u' k4 X; t5 `
at swarm.Selector.<init>(Selector.java:76)
3 m- y0 s2 y5 G$ k/ W at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( p f, ]7 O, D4 }, P3 Y! J2 I$ ?
at ActionGroupDemo.main(ActionGroupDemo.java:67)8 n7 O2 h4 E$ q( h; t" I
9 v3 O" ^0 z- S
+ s5 m( P/ Q3 k* A; S" x2 Dimport swarm.objectbase.SwarmImpl;2 T* G+ D0 Y: L* A# d/ @
import swarm.objectbase.Swarm;
% K6 V) x' n* s) Vimport swarm.activity.ScheduleImpl;3 u0 c/ {* J3 R% D' [# } E
import swarm.activity.Activity;( d1 g( W4 ~+ n5 w5 o
import swarm.activity.ActionGroupImpl;6 Z% ^$ d0 O- B, N
import swarm.collections.ListImpl;
; x7 h$ y% F, h% }9 d& Fimport swarm.defobj.Zone; 0 L- u( ^- i' V# \
import swarm.Globals;: s. L$ v; h4 w- B0 X8 l! l
import swarm.Selector;6 q% D+ T& k; `3 u' G
import swarm.activity.ActionGroup; / ]6 \) u, p" Z8 \/ K$ u6 v" l
class Agent {
" W& c& o4 q% e- S: O4 f" a; A2 n char id;
4 C5 R* @/ M) W: z) S2 a! D8 w4 b6 G7 {
Agent(char id) {+ Q: y$ P4 p$ @9 [% f4 E
this.id = id;
" C' p/ T& f) G( q1 m }
# r6 n- D; Z; W8 y3 e; c1 C% r0 C) B7 M
public void agentStep() {
$ \5 f/ N, E1 H" `* A! ?: O System.out.println(id + ":" + Globals.env.getCurrentTime());7 K6 o+ W5 d$ k+ s8 G u
}: }! O: H. b S1 |
}" T9 I! N% p5 y
6 i9 I2 N2 |9 m$ D) i3 Opublic class ActionGroupDemo extends SwarmImpl {8 P, t% b# ]7 h
ScheduleImpl schedule;1 c5 c/ T% j, K* K9 q
ActionGroupImpl actionGroup;6 e8 z& c2 C; `! K* \! W" B8 Q1 B
ListImpl list;: n. l" N9 [# `/ [5 t( y
char Id = 'a';: h. s4 k7 Q7 F& r5 g
' e; ^+ _ C; j: n( |% \2 F
ActionGroupDemo(Zone aZone) { C3 R" g, b; Z+ j
super(aZone);! e* q; [8 @$ h0 I7 y. _; f& _
list = new ListImpl(aZone);) A% I9 \% v d3 v- D0 @& Z
swarmSetp();
5 N8 s; y4 G. i, Z2 b actionGroup = new ActionGroupImpl(aZone); E5 L+ k+ I; V( r7 p8 f6 \
schedule = new ScheduleImpl(aZone);) [: E2 C E, P2 i' v% V
try {
. B; A0 f8 L0 } Selector agentSel = new Selector(Agent.class, "agentStep", false);( ?% ~2 U- s, c% b
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' d& q1 I! _9 } 3 |' f; }3 N! E7 k) x2 V" m4 X7 T4 ]
actionGroup.createActionForEach$message(list, agentSel);' X0 G2 s N2 t! U T
actionGroup.createActionTo$message(this, swarmSel);9 z8 C8 x) e& L1 ^) B& w% O
schedule.at$createAction(0, actionGroup);/ {) f0 {5 w T% S4 R( M
schedule.at$createAction(1, actionGroup);
4 ]. M x( Y I/ m1 p* } schedule.at$createAction(2, actionGroup);
: [! s$ |) u1 v+ g6 [. I* X; w7 ?+ Q2 [9 Z5 n$ w
} catch (Exception e) {
) }$ T! G3 o1 s1 A/ D' { e.printStackTrace(System.err);
4 l9 \' J7 t7 T0 |% {* j0 |- z U) r //System.out.println(e);
- t! O( R( r ]6 z System.exit(1);
" R$ f ?: Y z( d. W }
6 C6 r! g7 t3 J& O. ~: V
% e7 k! k0 _' r0 b, Z4 h: y
& i9 w% y* [0 l1 O6 B }
$ j: f( I8 E7 E) ?- l( E7 I3 T9 U, F. z: h3 a z1 h# q% N
private void swarmSetp() {, ^# r8 h& \$ \/ z
list.addLast(new Agent(Id));
- C. l) G" x b$ T- ^ Id++;( [3 |' c2 e9 d+ B3 m D
}
- Z+ }# ]. s( g
5 Y, ~5 r1 x' s public Activity activateIn(Swarm context) {
) k+ f; f8 U/ u1 p7 f5 k super.activateIn(context);
+ F3 Q* g/ D3 F# z schedule.activateIn(this);
( T/ f2 d X# G' o9 s# P( T return getActivity();
% x! J: r" D' ~; t0 \5 v+ A' W }
0 Z4 m, z4 E, @0 ?) H/ c1 l. i% x- |% ]. v3 g' n
public static void main(String[] args) {
9 G! D8 d, e! @ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 X8 i0 w1 O1 f5 P Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
( y6 g3 z7 [0 }& V' } swarms.buildObjects();7 _% w/ E2 O% s. ?
swarms.buildActions();4 y+ D/ a. T6 G3 H
swarms.activateIn(null).run();1 G& L- g2 `- N
}8 R0 L- N1 ` c8 }3 d4 N9 i6 ^
3 a( \$ W" X4 R! G} |
|