|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* |5 z* r3 q6 P+ l' X, O
4 ]9 m/ x( x2 p; o本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) g% m; Z. Q) ?2 A
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 |. \! @& |( F
swarm.SignatureNotFoundException. u% y$ S! s. w7 l6 \
at swarm.Selector.<init>(Selector.java:76)
! }, f+ x3 P8 ?! _$ c at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 `4 ?) E2 L+ G% j6 ?7 f* A' K3 i
at ActionGroupDemo.main(ActionGroupDemo.java:67)
0 p- b5 o+ K. g
2 R( ?4 Y: u6 `/ `& ?1 D p7 w& C4 [6 Y% Z2 ?( a+ k
import swarm.objectbase.SwarmImpl;9 Q! T! { q: \0 j* y3 k
import swarm.objectbase.Swarm;
* Z% P Q( `0 J2 G! }$ f$ ?, Cimport swarm.activity.ScheduleImpl;0 h1 b8 {8 k8 y
import swarm.activity.Activity;
3 [) q. c# [# M: pimport swarm.activity.ActionGroupImpl;4 i, n: F5 H v0 V* p$ b2 o5 @
import swarm.collections.ListImpl;
+ t# @1 B; G9 Z& x" I1 S& M- gimport swarm.defobj.Zone;
2 x3 D! L/ S5 l& w1 u. Z9 Eimport swarm.Globals;0 V6 {+ ^+ {, W, i0 l# L
import swarm.Selector;
- K* o" x2 r, N$ ?# `import swarm.activity.ActionGroup; ' I; [: Q) \ H3 ^1 w7 [) M
class Agent {# L3 I% `2 C9 B" N. S: R: q. V$ m
char id;9 s I+ h ~& q* R" b1 s
' |9 p1 l- r. @# B3 ?
Agent(char id) {
' C0 e8 \% _! Y" T this.id = id;, r' @2 w" T3 o, q0 x
}5 e' V, g6 f) O# M. i
' k' |# C) l) M) P* ~. Q/ u' d7 j' G public void agentStep() {
0 ?" R' s! V- v" Y! K System.out.println(id + ":" + Globals.env.getCurrentTime());
- Y( Y& H1 |1 v }# H1 h$ |# V t1 s% u' |) {
}
# @% {: A5 P9 f I" C* h" m5 q" `6 r7 Q
public class ActionGroupDemo extends SwarmImpl {/ ? G: e+ O% k. V$ y
ScheduleImpl schedule;
; O+ _$ G: c9 ]4 z# s ActionGroupImpl actionGroup;* J9 T) m* a4 v+ u
ListImpl list;& _8 W# R' c( R! z" g. e1 B
char Id = 'a';! N% ~- p' n# q6 w0 t* w' @7 Q# t
* M. W9 n& S: f' J; ~ K ActionGroupDemo(Zone aZone) {8 j$ f# \% u* Q& F) A: C/ r
super(aZone);: C9 n: J& J+ S% h) t
list = new ListImpl(aZone);0 v- O* y& b, o
swarmSetp();) q2 _1 t1 ]; ~7 [0 h
actionGroup = new ActionGroupImpl(aZone);
$ l5 M- O5 R' J& i1 S schedule = new ScheduleImpl(aZone);
Y. M. G. Q2 p2 _6 W- B& ` try {, q( d N- a/ _5 `
Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ A1 ^$ q- J: S% j/ _* b Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行8 r$ ?; \' t9 r, D: m' D
' w- [' B# h2 r r8 @ actionGroup.createActionForEach$message(list, agentSel);) k1 ?; L& M2 J1 |2 Y6 L" z
actionGroup.createActionTo$message(this, swarmSel);
( E V' G" |; R) Y9 W& a schedule.at$createAction(0, actionGroup); X+ P$ x& i9 y, n% I
schedule.at$createAction(1, actionGroup);) ~' U$ f& E# L. }. d+ N
schedule.at$createAction(2, actionGroup);" I. s a0 g1 X4 w
6 p+ M5 Y' U- G2 C
} catch (Exception e) {
7 M7 K1 w% p: G) G e.printStackTrace(System.err);( o7 Q7 M) s& ~0 M8 U2 b
//System.out.println(e);
" d( _, Z& b: j1 ?9 L System.exit(1);
! z2 C: ?4 o/ B' P" w! R }5 t8 o0 H9 j% U) @
9 ^/ }8 ~2 B; N
$ M" @. \' i; m( E1 k/ W1 L }$ {2 y4 R* |( _. u! r
0 d* s# D0 i! w+ @ private void swarmSetp() {) v7 I: g7 `2 ]
list.addLast(new Agent(Id));
* l$ m J4 Y. z g; {9 x Id++;1 [" O5 }/ s! M- G4 F) K
}( E) Y7 h2 T0 ?! Q2 l) J+ ^
/ R9 ]% H/ I0 h4 I" y. D public Activity activateIn(Swarm context) {/ o6 N- D Z( r4 i% x% K
super.activateIn(context);$ t/ ]8 f% M; h b& {1 }; X0 ^
schedule.activateIn(this);
7 |1 B6 m% ^2 ] return getActivity();0 V* E! d& b; y$ n) q
}
9 T1 _9 I$ @0 V( R
8 y) z8 a8 H( q public static void main(String[] args) {
8 _6 d% A) E3 q+ ] Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);- K. ?& g5 u/ Z6 k1 ?+ E/ c
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);& ]4 x4 P- @1 @7 Y, C
swarms.buildObjects();
0 k; q% T" ]3 @* ^% A" P0 H; [0 F5 @ d5 a swarms.buildActions();" J# @& [9 e0 z' S- f: A
swarms.activateIn(null).run();. P- _8 W& K% K1 F8 W) L7 L$ F
}
* e7 H# E6 a$ v! G% H, q" r; T0 K+ H
! c# c2 ~- u3 T! d2 M0 k} |
|