|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. N+ W# n! V$ C+ ^1 @# J6 f
" m7 y# C, H* M3 y, r本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update219 t# K P; D1 P4 Z8 Q3 k
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ f% V8 N0 E5 Q1 V7 U
swarm.SignatureNotFoundException" ^4 G% H; u& d8 Y
at swarm.Selector.<init>(Selector.java:76)$ o" I. U7 V {
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)8 v- _8 _ ~* v1 L
at ActionGroupDemo.main(ActionGroupDemo.java:67)! X- }8 C8 r& m7 w8 g3 t! G' V. z
* d: u" v1 h4 h/ s' a5 k1 Y
9 S+ W9 }+ D( e. Z
import swarm.objectbase.SwarmImpl;
- c- I1 n- H7 u/ F* Aimport swarm.objectbase.Swarm;
' F4 P7 p U! i S' b; B1 X! mimport swarm.activity.ScheduleImpl;
* D n6 X+ j$ {) j8 D+ Eimport swarm.activity.Activity;7 e2 l3 F; r/ L6 d& V. U& O
import swarm.activity.ActionGroupImpl;
# h/ E. x. B/ ]- b7 vimport swarm.collections.ListImpl;% x9 @! H0 Z1 r: k) q, _
import swarm.defobj.Zone; # v- c. d+ ^' C& y* Y' I
import swarm.Globals;
* q" ^, `8 {" g5 kimport swarm.Selector;
1 s0 a" G( Z8 t! ?" W# cimport swarm.activity.ActionGroup;
* B9 E5 Z8 K% J5 L, A" @# Y; ?class Agent {
5 G j; z9 ^% ? char id;4 a/ n% O! H9 m9 ^8 @4 J
) D% R; y8 l% G! D# P Agent(char id) {6 m$ S* x/ m1 t; M D1 ^9 R: S
this.id = id;
& P/ x# y1 h0 ^7 ~/ n. ` }) w r% n9 P4 z: F
1 ^+ ~5 ~: P3 ^4 N3 A; b1 i4 \2 X: P
public void agentStep() {
" q' Q) B9 B! e3 _; t$ E a System.out.println(id + ":" + Globals.env.getCurrentTime());9 w6 \9 R+ H: t
}% D3 M, C8 s" F3 u
} ]+ H" u- s8 U" P
7 T; v0 B* J8 M5 o) `6 {5 Qpublic class ActionGroupDemo extends SwarmImpl {
/ h+ Z$ f) O1 F2 }( H, ?3 `/ q ScheduleImpl schedule;
+ |: q- G5 k- y- I/ k ActionGroupImpl actionGroup;
* k8 D9 n; @ e) z$ S, [ ListImpl list;
5 h, X& p/ v0 y6 e9 _/ B char Id = 'a';2 F3 g4 }) }7 y
/ [& I f1 i- s4 A: e% n0 H" X% u ActionGroupDemo(Zone aZone) {0 M! w+ h8 \ N/ }: `/ ?( J
super(aZone);
/ G! @: e3 Q# X( f, ~( x list = new ListImpl(aZone);% \& I- z/ _+ q. ~5 |. ?) N
swarmSetp();) y* Z( ]$ u r% E% M; c
actionGroup = new ActionGroupImpl(aZone);
$ _7 O. m1 Z: Y0 e9 [ schedule = new ScheduleImpl(aZone);
: Y' p& E2 J; i; B2 c try {2 X8 G$ I1 n0 K/ L% F( e
Selector agentSel = new Selector(Agent.class, "agentStep", false); W0 w0 M' c4 U. \; c/ r) \
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ Y2 C4 \1 ~% x
! x- M, x2 w9 X. V actionGroup.createActionForEach$message(list, agentSel);
5 J- p8 R$ ^" H$ y5 x1 e actionGroup.createActionTo$message(this, swarmSel);
A S1 f/ z( @. b, f& C schedule.at$createAction(0, actionGroup);2 ?$ A) Z* a! g: }' b# o+ A
schedule.at$createAction(1, actionGroup);
: W, ~- J: t$ `* i/ U2 l. N& g schedule.at$createAction(2, actionGroup);
0 `8 i6 f$ y0 I( i, t: U9 b; y5 s# w2 c: M
} catch (Exception e) {4 t& k) b1 E5 l5 M. j3 g8 E
e.printStackTrace(System.err);9 b+ U) V& }7 q! I8 a9 ?
//System.out.println(e);
( w q- a. `! m' z2 U5 Z% y6 A- l System.exit(1);' ^, z9 @. p6 n) W" ?' K* P
}6 Q, R" p% K# Q- p
) w/ b* b- h" i2 v* W, s
. q" b% w) U' M. J1 {/ x
}
y+ _+ }. n5 k9 o: m- O( N6 |
7 n5 _5 e0 L$ G7 {$ Q private void swarmSetp() {: _+ u$ j4 c% Y" Y9 R3 w9 j+ g
list.addLast(new Agent(Id));. b8 s& S0 u. T2 d6 a5 A- @7 P3 {
Id++;% z* D9 \ q+ n0 Q# }7 x2 |
}
) O3 ?# w: @1 X/ L) ~
; n; O& R- g0 A o public Activity activateIn(Swarm context) {0 E& J: r; Q; P7 X: T, m6 `
super.activateIn(context);
8 k0 z6 L/ z7 \8 z schedule.activateIn(this);
) m, w% N& [- `( g7 s return getActivity();$ ~( ]0 g5 I3 M4 f; V5 a
}
3 u( Q R J2 d* H2 t. H% n7 w# v5 \2 z5 E! G$ C5 U
public static void main(String[] args) {
/ b3 T* U0 E% \& ^9 a Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& k( s7 _7 B1 q9 U8 b% c Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 Y( ^9 a5 j# R3 M+ z" S
swarms.buildObjects();& f: O" ^% P7 k! i9 m
swarms.buildActions();
J7 `& |$ f2 P) j3 k8 a swarms.activateIn(null).run();
% u6 I. t; W9 E% V& D1 |8 d/ X) J }+ p! M/ y2 k U4 o9 r
' T; ?/ g9 i' v, _" F3 `/ y# q
} |
|