|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 B9 V8 S# |8 D! `0 v2 H
3 F/ t+ e5 I, [6 `
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 g" R7 Q) [) T1 e
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
2 A1 [& {4 A8 hswarm.SignatureNotFoundException, F7 Q. x& E% B% O/ O" P
at swarm.Selector.<init>(Selector.java:76)1 l0 r& Q3 v8 K6 q
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
" K7 G% k: U6 y at ActionGroupDemo.main(ActionGroupDemo.java:67)1 B) q' l) o7 K" i/ d' R
% I: ~8 l7 K% E1 P9 [( V, O. c% L k
: M1 l4 y9 e! r( l( E9 yimport swarm.objectbase.SwarmImpl;
; L& ^8 N& S3 z7 B4 B# Pimport swarm.objectbase.Swarm;
; v/ |1 w- {' ^1 Vimport swarm.activity.ScheduleImpl;
6 w1 k3 Z; m8 s8 ` L8 z0 h! U& mimport swarm.activity.Activity;* T6 h7 s, ?; }8 [* `
import swarm.activity.ActionGroupImpl;
, m. ~, O# b2 L/ mimport swarm.collections.ListImpl;# u0 ]* G: Y0 l! r: F2 U. {) ~8 w6 B1 A
import swarm.defobj.Zone; : J/ S% X6 ^% @2 Y& X
import swarm.Globals;
. M3 E8 k7 a4 Z- z; t$ ]import swarm.Selector; H2 D. B0 w& u' q0 G1 \
import swarm.activity.ActionGroup;
$ o$ u; [/ m% ?+ z1 x hclass Agent {0 [% N8 ^) \$ R- \0 P/ u
char id;
o$ i5 Y, |' n9 n1 j
1 R* S( l$ [( Z! e+ i" Y Agent(char id) {
$ K0 }+ A0 {5 H$ J7 e* C this.id = id;
, w- [9 g1 ~4 j }- R; C* ?! Z, C% \1 x R
: a9 e: j8 Y* T/ i( F1 s; d! J public void agentStep() {
J4 G2 S: F! B5 {7 F8 ^ System.out.println(id + ":" + Globals.env.getCurrentTime());' Z, ] d; ~' I
}
+ [" T' p3 t R: V' j+ V; w1 r}
6 u3 r Z, L' g3 v1 O$ I/ d" T. y2 q' O- K3 R, C
public class ActionGroupDemo extends SwarmImpl {
# N3 |! I! `$ z0 ^# G! ^ ScheduleImpl schedule;3 M. I6 J# r8 Q
ActionGroupImpl actionGroup;
`4 ?2 y. e9 U( h! F& g& X ListImpl list;
. c& t; m" l+ ~1 ^1 r' o char Id = 'a';5 i1 h6 c5 W' S$ f F9 ?9 s
3 s1 |* P9 ^) Q |4 Z1 }' k0 { ActionGroupDemo(Zone aZone) {
# M) Y' r3 T" g3 q# V. s super(aZone);8 x0 r! T! x6 H, @8 }7 N
list = new ListImpl(aZone);/ `+ O& A5 T$ y- N
swarmSetp();
, ~! J2 W. ]$ R" G- |5 g actionGroup = new ActionGroupImpl(aZone);5 _1 r: D. s; M* i7 _& ]
schedule = new ScheduleImpl(aZone);
' U0 X2 R1 h4 _ try {7 H8 D$ s# ?% a3 f, b, Z) @9 x; D
Selector agentSel = new Selector(Agent.class, "agentStep", false);8 I0 p- b& t7 V
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行4 Q' K: z- T- j
4 j9 Q4 s+ l" J- U$ p. U actionGroup.createActionForEach$message(list, agentSel);4 Z' y6 Q( ?1 y3 Y+ W+ f3 E
actionGroup.createActionTo$message(this, swarmSel);2 U0 A! L' L& q+ l% `+ T% [# s
schedule.at$createAction(0, actionGroup);, Q0 l/ N. Q( p" z' Y
schedule.at$createAction(1, actionGroup);1 w O6 C" _. T
schedule.at$createAction(2, actionGroup);
4 v& h1 e) ~' W9 {% z& q& g) I p# ~0 P
! T* \9 H! W8 X } catch (Exception e) {3 h4 V& O& Q( Y$ E! ]3 b+ p8 i0 y
e.printStackTrace(System.err);/ s! c: U, c# D+ m2 n
//System.out.println(e);: t# V4 m; T; \! q& b. f
System.exit(1);
- o3 k# }7 _9 F }
* K! z5 r% E0 [7 I5 m8 q9 Z: f4 x# L# {
% ]1 B6 n! b5 H' }, \4 f; e/ `
}6 _3 m$ _. [4 N2 u8 \1 f( C6 ~
) g1 I& P' s- P5 ~
private void swarmSetp() {3 f/ _) K I' j# B# z; K' X7 |
list.addLast(new Agent(Id));- E- y [! s. B5 H' m$ u! t
Id++;
: f8 W8 j" t$ E }" Y* l% v( q9 r' ]( y. m
6 C A2 e( b/ m. O public Activity activateIn(Swarm context) {
9 U) i# @5 J3 ]7 C5 @+ { super.activateIn(context);" H* e* x6 Y, F: P! `
schedule.activateIn(this);
, m4 R6 z4 g2 P# h3 g1 a0 _- Z. f return getActivity();3 U8 z; L2 @& r" K% ^2 V% f) A
}
3 k2 z% F! R1 y# E7 y; y3 K7 n0 I. W1 D) E' E* G- Z
public static void main(String[] args) {
% W7 i, Z% V" ~. A Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
: T- t/ | L1 Q) K* |8 ] Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 l# P. a" d( |5 J* z/ o# y% G8 G
swarms.buildObjects();
2 Y) N$ J4 y2 B$ H swarms.buildActions();6 t1 [4 l7 h, J# A/ W, L" a
swarms.activateIn(null).run();
1 `9 A% Q6 q5 V2 M+ J }
4 X$ ]/ q: I9 d$ _- B
4 Z( m4 P" O+ h" A% |} |
|