|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
5 G" ?6 w/ f: y' N" I% g: w
# N1 G0 q) \9 s; P0 Z) _本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update210 c5 ]) w) Y/ j+ F
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. v9 |! m2 z5 k3 m% K
swarm.SignatureNotFoundException. v) y/ |$ J- E, ^, O# ?
at swarm.Selector.<init>(Selector.java:76) c- M* S L5 y9 E# g4 z; _
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, K& P: Q C/ N! y# t. |+ T at ActionGroupDemo.main(ActionGroupDemo.java:67)( i% t& W% W7 l5 Z
0 [# A% I/ f: Q6 y/ v
; r j& l7 B m! \7 h; s2 }import swarm.objectbase.SwarmImpl;, ?) T( Q* J4 a
import swarm.objectbase.Swarm;
5 g3 q& y3 g/ x6 v9 m% z' Dimport swarm.activity.ScheduleImpl;
L9 G& s% x9 f* U: M/ Q$ aimport swarm.activity.Activity;
$ n! c3 I3 p7 i& w, Ximport swarm.activity.ActionGroupImpl;
1 S& t9 @1 o9 T& X# J" limport swarm.collections.ListImpl;
* B$ p; C3 X/ r2 l+ ^! `import swarm.defobj.Zone;
2 G3 C) g, p3 j$ ?: v# aimport swarm.Globals;# X5 J9 L1 C& Q! |/ w7 t
import swarm.Selector;0 k: M5 j9 Q) d! G/ E( J
import swarm.activity.ActionGroup;
& `& @& N1 O' L. L2 E6 T3 ~class Agent {, U4 ]9 V6 m9 M5 V& [8 s
char id;" N: m$ U2 U3 f# ?! d; D9 h+ T* ^/ d
. ~% n6 V$ H- Y( p Agent(char id) {
! m8 t! M+ { |* x7 S. S1 Q4 ` this.id = id;4 ?- t5 f+ F$ b A
}
) M3 r# o" K! T0 j4 ^
. Y# o( Q/ B% v2 J2 F7 z' y public void agentStep() {
5 U* k/ o) O1 m% r1 n4 t System.out.println(id + ":" + Globals.env.getCurrentTime());7 e- b) f/ @/ |$ G) F) Q
}
5 A$ _6 @" K- i! F. b; @ Q. E}% ^" y6 N$ z. y* P0 z8 I: c
7 O& R* l4 b' }; Y0 o; v
public class ActionGroupDemo extends SwarmImpl {
+ K2 T u$ S8 b% @8 K: \ ScheduleImpl schedule;
! L! j1 X- T# F2 S ActionGroupImpl actionGroup;
3 }7 M- S! S6 B ListImpl list;
1 V$ J. M# t1 b. @ char Id = 'a';* Y- o; _$ Z. m; x, A
9 j2 c' G, g$ @! N) N& H5 h
ActionGroupDemo(Zone aZone) {
( q' m A8 q. j! l super(aZone);) N" v4 L0 z1 j+ H+ X) G( o& f* |6 a
list = new ListImpl(aZone);
1 D, m4 c: s6 v. \* e swarmSetp();" L: m% `7 S$ H0 _0 W* w$ E
actionGroup = new ActionGroupImpl(aZone);% p; W) L3 H* _
schedule = new ScheduleImpl(aZone);
* U& ~5 e( A" {! @5 K" \- f& a try {
+ X$ c2 U) k. ?5 r; c/ u Selector agentSel = new Selector(Agent.class, "agentStep", false);
: k8 @; N# @# k7 ]# ? Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
( u0 O& Z) }5 {: u( C
. H7 j. O( p5 o0 H actionGroup.createActionForEach$message(list, agentSel);
2 F7 n: v& s- P+ Y# _. G! h actionGroup.createActionTo$message(this, swarmSel);
: _/ T) n* _8 o8 W4 q' E% v' G schedule.at$createAction(0, actionGroup);) ~% c& h7 h$ L5 l
schedule.at$createAction(1, actionGroup);
$ J$ I- b" h, S& X/ C9 V0 f schedule.at$createAction(2, actionGroup);+ x- n- b ?% j7 M/ w# c
1 |4 Y# r1 A3 I3 {. ~9 S
} catch (Exception e) {
& W$ ^! S! G: c8 S# @- n e.printStackTrace(System.err);
4 j0 b" K/ ]1 ~' p: G( _ //System.out.println(e);
: b- m9 R1 L. c% l9 B4 u System.exit(1);9 i3 A% [" L3 e9 U
}
- D8 J- K( @* H, F3 {* {- f6 i6 O5 a4 g T$ K
9 @" A% a4 N: b& d% q; ?7 U2 U
} D4 n2 K: u" L) r3 L; y1 ^
0 I9 B! r! a, f) V private void swarmSetp() {
# p& Y7 x( B) C list.addLast(new Agent(Id));
% C4 s2 U6 O5 Z& E9 ] Id++;
- C. x v& d/ C* H- Q }" {9 k1 l# Q: B$ T
# A1 w" F& r1 W: X# l& V5 p2 y
public Activity activateIn(Swarm context) {
5 J2 o+ h+ u! p- {- j( O9 g super.activateIn(context);
9 ~# i2 q9 P# e4 W' x% Z schedule.activateIn(this);# |' U. {. Q; u5 H7 J1 u
return getActivity();6 z) L; O: @9 Z& S- d: K; B7 a. R W
}" D" O) l. w& h9 c# W. ~) [" P
+ `: |2 Q7 p0 w public static void main(String[] args) {+ S, [- W; W$ o
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! R0 }& e8 c; e e& i5 D9 R Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
* Z# w3 N- G( Z/ o+ x8 [* s2 L swarms.buildObjects();7 G6 c9 Q- |4 ?* f9 I3 U4 Q
swarms.buildActions();# b( Y4 G: L5 Y! M. O" L
swarms.activateIn(null).run();7 j9 d3 g+ X2 C: N
}
" z# n+ i7 V. U) h9 [! g
8 L; @3 [, l. j7 V. T} |
|