|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 7 l* k: Z( [% t" }( \
, S$ i2 u9 Z" l" o5 E" L- P本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21+ G( @: E" V2 G8 s- A4 v
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' w: L R5 D: \5 f0 o* Y' \- d/ s+ o" X
swarm.SignatureNotFoundException
& M6 E6 W' r! ?9 Z at swarm.Selector.<init>(Selector.java:76) E) K% H4 L5 D9 Q8 c7 x$ P
at ActionGroupDemo.<init>(ActionGroupDemo.java:37). A9 n6 J: U( ^5 i
at ActionGroupDemo.main(ActionGroupDemo.java:67)+ |8 n, E, y! b$ D7 W7 r, Y& A1 g
* ~3 p" z+ U4 J! n- \# Z# P) ~* d
. [8 H8 m% M4 C/ s' l8 Z
import swarm.objectbase.SwarmImpl;6 H% K. Z) @% D, a; w" C7 e
import swarm.objectbase.Swarm;
+ X s" K8 \. d ?import swarm.activity.ScheduleImpl;. {6 d- W! {- A3 {, e! J- [
import swarm.activity.Activity;9 K8 O) g' T: U O
import swarm.activity.ActionGroupImpl;
0 V( e" D' X! s+ T$ W- Eimport swarm.collections.ListImpl;, F) [* W) l- u" y3 H
import swarm.defobj.Zone;
8 p% l$ a7 | w" d3 ^# P* Timport swarm.Globals;
2 A9 A! i8 u0 d4 Gimport swarm.Selector;
$ O8 p% R/ _% X1 f& Dimport swarm.activity.ActionGroup; ) G4 m/ S8 F3 K$ |/ a# T
class Agent {; W* a' c4 B( l8 h" k1 p0 w
char id;
" @: K5 h- i( C9 \+ B2 I' }; Q$ F0 j$ ~- m! `: t! [
Agent(char id) {! c# O5 {7 u- G
this.id = id;: T9 G2 T) E m1 @0 D# @. }+ M3 L$ S
}
' e H+ ] x0 I' r* `' }# y
/ r8 j: F4 Y- n5 P public void agentStep() {
# w3 C7 n L; S2 s! A$ T System.out.println(id + ":" + Globals.env.getCurrentTime());
4 J5 E. e$ y# y( [ }1 o3 _& H- S8 f6 v* Y
}# q3 F% T) Z9 ^; }/ L& \
0 |( _$ M( e3 Z+ `# c4 l2 | rpublic class ActionGroupDemo extends SwarmImpl {
$ C- F4 T2 I3 [4 X8 U. T4 f ScheduleImpl schedule;
' K" @9 |; y+ R1 T ActionGroupImpl actionGroup;
5 D' a( y; e& k, X ListImpl list;7 ~/ L: Y. C* l
char Id = 'a';
, K" F: T: L1 p# C6 R
4 u8 h# D* j. w* n; F6 n2 ~ ~ ActionGroupDemo(Zone aZone) {
) Z" T5 K. _; Z! r1 C: ~, Z7 o super(aZone);
) r7 E/ d* H" s4 a. S list = new ListImpl(aZone);& t0 d3 j3 j7 u
swarmSetp();
. e( b; P( L5 e$ ^- [ actionGroup = new ActionGroupImpl(aZone);. p& g! E+ x# M+ e" ^: O
schedule = new ScheduleImpl(aZone);
y: t$ `: G" y8 [9 h9 j+ i try {7 ?, L2 c' U9 m& g4 j6 _: m' l
Selector agentSel = new Selector(Agent.class, "agentStep", false);
0 W+ }1 w) z0 c: K/ f7 u; v Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
# W7 e6 [# w3 K! J
R3 r) a9 S; j' l/ G. w+ O actionGroup.createActionForEach$message(list, agentSel);
3 E7 ] K( B; g* @4 L actionGroup.createActionTo$message(this, swarmSel);# y9 ]! z7 W0 ]4 e, B
schedule.at$createAction(0, actionGroup);
% X5 {3 O" `. k4 y i/ e schedule.at$createAction(1, actionGroup);% x- A9 v- l& E
schedule.at$createAction(2, actionGroup);3 q6 z7 `/ _& ?; D0 l4 t
- ~- X6 @0 G5 o9 d; J" B } catch (Exception e) {
- p6 a1 R; h9 J& c e.printStackTrace(System.err);
+ ~% o5 |5 Y% A! Y- C% H& ]: ~ //System.out.println(e);8 D6 x/ H" [7 `; ^$ p
System.exit(1);
9 N1 T Y% B) g( P, O+ H }
5 |* w; F* o( N" j% U5 |7 r$ ~! O( G: W
2 F, ?0 F7 C% m5 o: I1 ]- |
}- ?6 q2 d3 E$ X
: F3 V, E1 m& @/ M4 |+ O( n private void swarmSetp() {
( b9 z+ u" E/ [0 e+ a% X) i# B7 Q list.addLast(new Agent(Id));
* u/ U! w K3 l( } Id++;) F" f/ w k- E; @: T& u1 ~" x( R7 t
}
$ b; T" v. G3 W7 r5 S/ x6 ]& Y) n {$ N+ R& O; Z
public Activity activateIn(Swarm context) {4 X; I* U0 ~/ [3 g7 j
super.activateIn(context);0 Q4 J2 L" C, Q5 K7 `
schedule.activateIn(this);
/ F, X4 G" _: a% [. z3 l return getActivity();4 x: G3 B1 \5 ?
}
1 P5 X$ N0 R7 E1 ~* U9 I, G( x* \1 x; H2 ^0 f
public static void main(String[] args) {
& p. H/ W/ y1 C( X- F Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
9 @/ E( ]# B0 F) n$ b1 x2 w Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);& O) T- K4 l: x3 i
swarms.buildObjects();
, H B* e0 D" D) q& [ swarms.buildActions();
4 ~+ I! {+ H; J: H8 n* b# ]: C: I swarms.activateIn(null).run();
% P u: \* j- H" k }
0 ~& q3 B- m4 c* r7 O$ x8 d# M' J6 c
} |
|