|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
' ^/ C* ?/ H+ l4 F9 x6 K
$ B* ?* C8 x2 {* Z本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) H% t1 |5 r. N, I
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 z$ ]3 A1 e! V
swarm.SignatureNotFoundException
/ [1 C+ f& l! E! ?* g x at swarm.Selector.<init>(Selector.java:76)- t1 j% S3 u7 F+ S9 p
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)3 C- h& _' E5 n
at ActionGroupDemo.main(ActionGroupDemo.java:67)+ q) N' G* w4 {
9 p2 }+ B$ ]6 ?
4 m% s; U- B6 Y1 l" Vimport swarm.objectbase.SwarmImpl;
$ F$ Y: ~+ z( D9 f0 R) f9 d4 J- Cimport swarm.objectbase.Swarm;
3 k0 M6 T( z. ~6 l5 l; Nimport swarm.activity.ScheduleImpl;
4 p& l0 V$ v- s: [, e2 \$ iimport swarm.activity.Activity;
( D& l; a5 a0 limport swarm.activity.ActionGroupImpl;& r' ^5 ?. E- x% H7 v
import swarm.collections.ListImpl;2 g. S2 H! b8 x0 N1 i
import swarm.defobj.Zone;
; \8 b0 h/ x3 kimport swarm.Globals;0 Z- ]5 ~4 w' h3 y. ~1 J E8 v
import swarm.Selector;
: Q3 E# G& N. q- `import swarm.activity.ActionGroup; ; o, ^7 X( w9 F
class Agent {. k6 P# x3 ?: ~; M6 J. h) [
char id;/ q% u$ Z0 Z' A: S! x
2 F1 L# S0 _( @! V6 q4 I% u1 I
Agent(char id) {1 C8 P6 Z! ]: f# j/ n( |1 d
this.id = id;5 y5 K- l4 Q, M/ ?" B2 e
}# o: Q! ^1 J0 m: e
5 j/ d7 m4 j* q) \% [
public void agentStep() {
4 Y/ w) u- w r System.out.println(id + ":" + Globals.env.getCurrentTime());
# Z: ^$ ^8 ^ a+ Q( v3 I: z! j* z }
; T$ i3 R& U. T" N3 J8 q) B}9 p) K+ l8 X& y' M
$ H5 n$ E7 }& X/ D5 e- R
public class ActionGroupDemo extends SwarmImpl {% T% K7 K6 M% z* J2 q
ScheduleImpl schedule;$ @! C" f4 q( M2 U
ActionGroupImpl actionGroup;
) f" {# a2 n/ i ListImpl list;2 K7 f* a( R8 F3 I5 ~
char Id = 'a';
; E9 g6 l7 N Q: P5 n4 J, o" T( g5 J8 a: |, }+ R4 }6 Q
ActionGroupDemo(Zone aZone) {( D7 R/ g. E2 D3 x3 `3 B
super(aZone);
& h8 k* _/ N4 [ list = new ListImpl(aZone);
1 k3 F/ x6 l q2 ~$ G swarmSetp();+ k! J% q. F( s, c: |+ C- s
actionGroup = new ActionGroupImpl(aZone);
8 A+ a% @2 w" R3 k schedule = new ScheduleImpl(aZone);6 y/ z; T6 Y0 u+ r) U G
try {& Z# }3 p) Q) E
Selector agentSel = new Selector(Agent.class, "agentStep", false);
% J! w+ K7 B5 B Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ i+ Q ^8 u7 q! {5 G1 N" N
9 P& K4 Y) E- j: e0 z, f1 F
actionGroup.createActionForEach$message(list, agentSel);
# y7 H4 S5 Y- X actionGroup.createActionTo$message(this, swarmSel);
: r. z: Z4 l: H: x3 g1 S) R schedule.at$createAction(0, actionGroup);
% w. `4 q3 k9 S% n$ O2 H schedule.at$createAction(1, actionGroup);
8 j' S/ |5 b6 Q- e: p schedule.at$createAction(2, actionGroup);
3 w- b4 J+ I# V5 S) @/ \9 ~5 B; K. ]! o
} catch (Exception e) {
7 T" s& O$ v3 J+ f9 R e.printStackTrace(System.err);
6 o1 n" o6 U' Q, H //System.out.println(e);; g0 u1 _* Z9 `* P# k" l
System.exit(1);. p' |/ L) r* o
}- Q: G; [% n7 r; W, `) m9 a
& |0 c- g1 q x% P
& o p4 A3 ?) ?& o& M
}; }3 _) ^# g) b$ r) h8 |7 s& T
. \& S( w, [9 U6 m- f private void swarmSetp() {
! p. E, r: D' L( ?) ~' l4 @ list.addLast(new Agent(Id));
! g7 W8 a# K6 M7 f5 j8 P Id++;
# _( @- h5 P0 y3 U }- D9 L0 f8 W$ }* J
. |6 s3 c. B, y: R9 f
public Activity activateIn(Swarm context) {( R3 t* A! `! ~# s( N
super.activateIn(context);
. Q; A/ m1 a7 `9 I) ^& L- M q1 v schedule.activateIn(this);+ j ^, L: S8 x
return getActivity();$ {7 [) U, g8 J# k3 w3 v
}
1 I! V+ o4 x7 T! w2 k# F2 B' Z8 q: R6 u
public static void main(String[] args) {) a) t3 I; @( x) l# q3 Z2 r
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);6 A" J3 ^+ F k$ }
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);8 K$ u& @. h1 u' u9 U, ~& L- M
swarms.buildObjects();/ X3 p8 n2 N4 o6 x1 L
swarms.buildActions();" o. B$ y0 J, t! m7 q4 x0 u
swarms.activateIn(null).run();, v& t$ C3 @+ h
}
( T: g1 H' u. t! n5 v# Y+ n
7 D) \$ x7 T# ?0 P} |
|