|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! `" t) K% g4 A1 S: J8 D* l% n& j: v( L) n6 O7 B1 l; U; @4 F, y6 E
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! [* y# [0 N+ r5 h8 J. @以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
! Q. g6 H& r& |9 a% }2 W5 e7 dswarm.SignatureNotFoundException+ r1 P, O. O3 f w/ K) {- V/ f
at swarm.Selector.<init>(Selector.java:76)
/ w3 T. o! C" u3 C at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
+ B) k9 ~8 {; ? at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 L0 i" O, K, {$ v0 z, v) Y4 i+ E( J
" ~4 |! {0 n% ximport swarm.objectbase.SwarmImpl;" x3 s' G! f* t0 U
import swarm.objectbase.Swarm;
4 x- a3 `5 z( f4 Aimport swarm.activity.ScheduleImpl;
7 n% v/ g7 |, R% {, p8 B; zimport swarm.activity.Activity;# y& I' U# \0 k7 O
import swarm.activity.ActionGroupImpl;
8 F4 N4 d2 Y1 i5 v4 i/ g* Timport swarm.collections.ListImpl;
0 k* ^+ v: M8 @/ |, Oimport swarm.defobj.Zone; . Q' R8 a" [% T! C6 x
import swarm.Globals;
\% x) ~1 Z; x, [" ~2 q' `import swarm.Selector;
2 I, C% O9 ?/ [) N6 Bimport swarm.activity.ActionGroup; ) ]3 Q; }1 I( C# E) T
class Agent {+ J) }- e4 v4 ^4 G! Z x( p S
char id;0 _6 J7 t8 A3 ?* k$ A7 e+ z
. T) M2 j5 c: V
Agent(char id) {
3 n3 _6 {5 g* N6 r& c: g# Y! Y this.id = id;2 H% L+ @# g7 W( B* S+ \: M8 O* C4 y
}
3 x/ m8 q/ c& }+ A+ b8 X2 W9 G: G5 S+ w p, Z' p
public void agentStep() {# G5 v! k3 b) w8 c+ G( O, J( a
System.out.println(id + ":" + Globals.env.getCurrentTime());
! T2 x; S6 k) q. h% G+ V4 d }; s5 i# Q8 |6 x, `
}5 c) p+ U8 Q1 i( i& p0 f
) f% N( N: }9 t/ C; P; h6 ]public class ActionGroupDemo extends SwarmImpl {
" {9 y: c) \# F% p ScheduleImpl schedule;
/ w, P2 K* T% ^1 {3 u4 f; M9 f ActionGroupImpl actionGroup;8 H9 m J. Z- Z
ListImpl list;
8 [* E9 J: |7 d/ ?0 ~) d; E7 F char Id = 'a';
4 O* z- O8 q/ n5 q& ^ E" j' y5 l
4 D1 k% Z; l0 w; ?6 |7 Y) B2 b ActionGroupDemo(Zone aZone) {
" h1 \' M8 s# F( W1 J+ X# Z super(aZone);- o5 N1 v5 u' J- V" R3 M0 w
list = new ListImpl(aZone);
0 C* C) ~' {9 M5 l swarmSetp();3 {( g# S3 Z1 V2 f! l
actionGroup = new ActionGroupImpl(aZone);
# z/ G1 I: V. y% ?3 p7 M, ^( _ schedule = new ScheduleImpl(aZone);
$ b o, i+ Q6 {4 U- D/ ?+ J5 w/ Q try {1 ~6 _/ E8 x$ O* I8 l# h1 H
Selector agentSel = new Selector(Agent.class, "agentStep", false);
8 E" Q g. M. Z! I6 O* @9 @4 h Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行4 D2 d! s8 v' b+ J
5 S) X( K7 L: v* e
actionGroup.createActionForEach$message(list, agentSel);$ }/ t# B. U& ~# s% j0 W
actionGroup.createActionTo$message(this, swarmSel);/ N$ _% K: J9 Y: ^
schedule.at$createAction(0, actionGroup);* q0 f: u9 P) w$ n9 ~/ P
schedule.at$createAction(1, actionGroup);) L1 T) D& J- O5 q5 C7 [
schedule.at$createAction(2, actionGroup);& I1 s& S) R7 o% b1 ?+ g
: G3 u" a/ }( J5 O0 J% | } catch (Exception e) {
3 N1 x, X3 m8 L# K e.printStackTrace(System.err);) U) t% y4 |; d6 t; @3 e( V
//System.out.println(e);, J' S& A; P: w
System.exit(1);1 S9 g" ^, v2 W- k1 X
}
. c+ J; _- r9 ~' s8 y: }) ]# ?8 [- s6 s: g. G+ [0 S
8 b+ w @+ _% m3 `4 t }
0 ?; T, U; d$ s* X
: T" B2 T: V9 ]9 P% g, P: L private void swarmSetp() {
' K7 A5 \( d! w r' J$ A6 X8 c/ B list.addLast(new Agent(Id));
, ?% v2 b& K! s8 u2 y" o! M Id++;2 W* Z) u* {# _% m$ S
}
+ n; X T1 p1 z2 l- K5 _/ A7 F+ _4 d9 @5 ^5 g+ Y7 v
public Activity activateIn(Swarm context) {
! f! j# ^3 E; i1 R6 V super.activateIn(context);
8 o' c; H0 X- j3 p1 b: P schedule.activateIn(this);
' S) g5 J& B! ^, M$ j return getActivity();4 K( D' }: X n+ E
}9 }& J# n, s, R, K3 u) K
! y% v. H8 u: I3 N public static void main(String[] args) {
, D" P5 e3 b! }+ r$ b6 i Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
) K6 S: ^, `. j! y% B m1 ` Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
6 l5 V7 f% ^8 F8 P2 K swarms.buildObjects();
# a) {! N$ k9 Y/ L: V swarms.buildActions();
b1 l0 I- B0 q# f6 ~/ O3 J# G4 | swarms.activateIn(null).run();# k* D7 z( y) t' B7 z
}$ e. v; y+ i; n& x7 s( N
- I0 a. S4 y/ H% ?" s} |
|