|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& N$ Y" D8 Z+ P* c, p: c% |& F* @* z+ R3 S7 Y/ U V
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
* f, @6 k- R# P h$ p" ~以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ G5 @1 P0 H& Q. G" P
swarm.SignatureNotFoundException. t) v# E' G3 `5 H5 f+ _( J
at swarm.Selector.<init>(Selector.java:76)
. S6 K, C. m: l& d. W" M at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
# O6 t: a8 ^9 m( R; n at ActionGroupDemo.main(ActionGroupDemo.java:67)' z# h) {0 N: F0 F' }
+ K: q! e+ A0 K3 D' g) A0 o: T
$ @2 d: z8 X7 Y$ V0 n9 Oimport swarm.objectbase.SwarmImpl;6 S {1 d/ ?7 {) X& c8 N2 k& ^' x/ ]
import swarm.objectbase.Swarm;
6 H& W2 f. M) |5 E6 K$ M( r. E3 Mimport swarm.activity.ScheduleImpl;
$ d! d7 W: I/ i8 k* i: \import swarm.activity.Activity;8 x- ?1 \7 O. f% I" Q% Q
import swarm.activity.ActionGroupImpl;7 C" o4 |6 ^) }7 I
import swarm.collections.ListImpl;0 ^+ X/ c. u% `) e% i# u
import swarm.defobj.Zone; $ ~$ B2 J* X3 L
import swarm.Globals;- v* y, k$ {% S2 |; X5 Z B) E
import swarm.Selector;
1 ]# o6 ~* i' U4 Jimport swarm.activity.ActionGroup; - p/ {- s6 w4 d4 [- V
class Agent {8 \7 }/ l- N; k3 U& N8 n5 }
char id;
8 w( q# D* ?* p, y& r
$ f) [; g! g2 C4 W Agent(char id) {
' V+ G# s1 o! V B# P% S- [1 b' u this.id = id;
1 G: h6 S5 ~2 }$ U7 V# K }
8 W$ B# g* y- d# |& k4 X) O' a7 O, A9 b) }
public void agentStep() {# J7 j# h% f5 Q, N+ c3 q. e/ m
System.out.println(id + ":" + Globals.env.getCurrentTime());1 o/ |* n, U x, S
}% X- ~1 G- m! s5 a9 _
}. F! @6 R' c, U+ J3 g
2 B) A R' i( p) t; J: m( v
public class ActionGroupDemo extends SwarmImpl {
# K9 z- k8 L8 _: f ScheduleImpl schedule;1 ~, O1 [% J# C4 e( k
ActionGroupImpl actionGroup;
0 U' e7 R9 B8 Z( J; ^- m4 O4 f V ListImpl list;
b6 n2 E: X. p4 x4 T7 p( e. Q char Id = 'a';
" a. X% ^; C: |3 x0 c' }7 U R! M9 J' l1 C( [ j1 l
ActionGroupDemo(Zone aZone) {! A' Q& _1 E; [! H" A; r
super(aZone);
* [6 J2 t8 C% Y$ C" Q( f list = new ListImpl(aZone);
8 @ b. J# A7 d swarmSetp();1 Z' S5 |* Z7 _! ~9 X# @
actionGroup = new ActionGroupImpl(aZone);/ x0 } ?; l2 V7 H! g2 S0 C6 i
schedule = new ScheduleImpl(aZone);
% \( e/ _: y/ T$ |& p try {
& Q3 f% `" T4 L/ K! T Selector agentSel = new Selector(Agent.class, "agentStep", false);" F% k0 Z) V" o
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
1 [5 `, z# X9 ]/ H! Y/ d/ K1 i8 ]$ T) x $ }3 k( \: k! X) w7 z, g5 r' w, A
actionGroup.createActionForEach$message(list, agentSel);7 X0 [+ Y8 I/ Y! j8 _# `
actionGroup.createActionTo$message(this, swarmSel);8 |; ~6 Z- Q% z" i& B8 u; U
schedule.at$createAction(0, actionGroup);
. y/ K+ O* j# a5 L3 ]' l schedule.at$createAction(1, actionGroup);* U- c* |9 o3 _- U2 I7 r- J
schedule.at$createAction(2, actionGroup);
) S: Y# t# R: R; {# o+ r% m
, ]& z# }; D5 C } catch (Exception e) {
3 s! [! _" i8 F( k% S. L: I e.printStackTrace(System.err);
- Z4 Y D' h! J$ X9 s, q: _ //System.out.println(e);
4 o0 E0 A `7 s% @' G System.exit(1);* ^2 Y5 E z, b; X, k
}
7 S0 K# R- [& d8 ^, u; {# [7 r0 ^- t6 _* h n, j
/ U0 A, @" D5 s Q/ \- ] }
. U ?4 f( h* F) ~ z) V9 c7 j. i# \1 x- c ^) }
private void swarmSetp() {3 P5 w9 |6 {" b$ Z
list.addLast(new Agent(Id));3 i7 x1 {, C; |' y
Id++;4 t. w8 M" r- H& `$ d8 [
}
" F o+ {+ u3 Y
1 e5 X. f3 q( \4 p3 ? public Activity activateIn(Swarm context) {. L& [0 M. n8 Q
super.activateIn(context);, p2 U% d! o, Y. I( m$ v/ |
schedule.activateIn(this);! w9 k% e) d ^# N+ I# E
return getActivity();' I' p- Z6 f1 O# {9 a j$ Q- C1 w
}
& X$ g$ f3 |" J/ ]) c% A7 _9 C: x0 |
public static void main(String[] args) {
3 h1 u3 ~8 @% c! j Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);5 I7 x W7 b) A2 @ ]/ }) G; i
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# a5 E1 O5 O5 w
swarms.buildObjects();- A& B5 [0 V. V- y9 x% ?& p. Q
swarms.buildActions();
$ @9 [+ k" k4 p% |0 i8 p swarms.activateIn(null).run();4 r% o. R* j* H M5 E
}
) M+ w0 k' R3 g& a3 C3 T2 I) W6 }% f1 F5 {% C4 `6 u7 o2 [
} |
|