|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
" M" J! K1 |, z' M# Q. W/ ]8 x0 [* J% r4 G: U0 H( a
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' o) R# A* \, N以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
3 w6 ?8 p5 Y- U. c, q4 [* z3 Sswarm.SignatureNotFoundException" Q2 R! m8 p5 v/ n+ g. q
at swarm.Selector.<init>(Selector.java:76)7 A! G; L+ k9 j+ l# E- h
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
! ] Z Q- Q* L1 D1 H5 l at ActionGroupDemo.main(ActionGroupDemo.java:67)
: _# s1 f: i% m) w+ n* y4 ], g4 s3 V! ~3 T8 }5 B' T
3 d- N; ^/ ]+ \/ {" Z7 ]! Nimport swarm.objectbase.SwarmImpl;6 Y) B6 g& \9 U5 x. w9 A3 C- C
import swarm.objectbase.Swarm;# i: }, K2 X; H/ d- L2 W: `' _/ o9 [
import swarm.activity.ScheduleImpl;6 C9 m7 `6 ^$ ]) g W" ^
import swarm.activity.Activity;! r* ^3 _0 \/ c( e
import swarm.activity.ActionGroupImpl;- F- G8 P3 r: Z: _2 |% e
import swarm.collections.ListImpl;3 b- @1 [% @4 Q. T
import swarm.defobj.Zone; # Q3 r4 B0 j) _7 r
import swarm.Globals;+ Q- j5 U6 q+ n& ]! E
import swarm.Selector;
6 M7 O3 C: E y6 d0 e' p. Ximport swarm.activity.ActionGroup; * U% D! M4 |9 B% ^6 J3 V
class Agent {" j- m5 K4 o1 l5 U# S' @
char id;
4 n- E& o# E: J5 w3 b" y) _- R, n- L
* ^4 a3 K# V/ g3 I Agent(char id) {+ q" w7 T% g! C5 e1 C f, F
this.id = id;0 L3 b& _# G5 ~! [3 \; G
}! n6 M& m: y1 o
* Q; _ |' q, t& U6 ^ Q( D8 V public void agentStep() {2 q2 T; e$ B9 Q" ]! V" i/ H- U
System.out.println(id + ":" + Globals.env.getCurrentTime());$ C" E, C! J; Q; ~! G' H
}
; D* r" ~- u3 V, C; n8 Q! {}2 I* F' t) C+ b: v8 q G! k
; J4 y7 e" h$ E4 r/ V
public class ActionGroupDemo extends SwarmImpl {
8 M$ A7 P6 h0 H' f$ n/ k# ~) z ScheduleImpl schedule;4 n5 j+ U `$ ^+ _- z+ D) M
ActionGroupImpl actionGroup;
5 P* P0 f2 J0 z% \3 X# G ListImpl list;
$ E+ N# |, S! h0 _2 }1 @ char Id = 'a';# R: Y7 q- y' U' ~; o- u' X) Z
( z0 H! b K' [& \! ~- n ActionGroupDemo(Zone aZone) {4 P A s y3 E2 o
super(aZone);6 K8 e7 t; t% Q }8 D" n6 s
list = new ListImpl(aZone);
~7 t; e; x! D9 ?# }6 M. S swarmSetp();3 ]% B3 `6 w; `$ y) G( }# G
actionGroup = new ActionGroupImpl(aZone);. P1 G- v2 m1 t5 A
schedule = new ScheduleImpl(aZone);! ]' W4 W1 i: ]2 c$ [
try {
. z. t/ H( \* g4 p: T3 ^- R6 z Selector agentSel = new Selector(Agent.class, "agentStep", false);2 M) N5 @% _ p+ G5 ]
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! O" x2 Q+ R4 K* K
( w+ \" L) [2 g' O3 m f
actionGroup.createActionForEach$message(list, agentSel);! W8 B$ l8 N& S0 E- o
actionGroup.createActionTo$message(this, swarmSel);
, [. T$ I% i0 q# O% c# Z schedule.at$createAction(0, actionGroup);. r/ N2 J- _% u, S
schedule.at$createAction(1, actionGroup);5 _. f5 {) f$ g8 P- f
schedule.at$createAction(2, actionGroup);
* t: j6 c* W" r
$ h3 \& n+ H6 B } catch (Exception e) {
; s* Z) t& i/ F7 a, P9 o e.printStackTrace(System.err);/ l2 {* }1 I: F7 {. e4 ~
//System.out.println(e);7 l7 ?; l! Z o1 z
System.exit(1);
) v4 V/ q9 K! _5 N _& d% \" z }4 v9 J* `; {; Y! C. v
6 U9 v! C2 A$ W6 R- k- J$ c$ ~! u/ |& \! l( _
}
* I3 V I3 f: W3 b; O- Z, S: y9 I4 b8 V0 g
private void swarmSetp() {7 T3 a3 Q) m0 D( I! R
list.addLast(new Agent(Id));
5 j; d7 s* G: q2 k: h Id++;
/ J& B" l( ?1 Q1 g! }7 W0 ` }
8 w) [* o; |4 x; T' A$ c1 D. q; g2 _1 G: Y; b+ }
public Activity activateIn(Swarm context) {
3 ?& t* E$ b$ Y$ R( |' H super.activateIn(context);
! N l6 e0 h2 M; C6 ` schedule.activateIn(this);
) R# S# W2 m% i/ M; k# R, n: R0 a return getActivity();% }7 y" D* Q+ q ?% h
}. g$ ^2 Q' L! U2 o. i& W: d
: _5 c0 z) ~: V, l6 M public static void main(String[] args) {- m N: ~" D9 |, S; m V
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
) a! z" \$ v* ?" q, t Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);! Q9 ?* ]8 o" Y" e
swarms.buildObjects();4 I& ~5 L1 k3 }' Q; B/ U
swarms.buildActions();( O& m- F: T5 Z
swarms.activateIn(null).run();( |& ?( Q8 z0 i
}, n0 _7 ~0 r9 \) Y+ h4 Y
* @; Q& o8 i) j) l3 C" o) F
} |
|