|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* w7 [3 \3 ?# [( h
, d1 A. ]& v6 m7 f本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; s. x- m9 G$ c
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
6 C5 R) \' i9 K& [! A8 ^swarm.SignatureNotFoundException
+ g: d) b4 w5 S4 ^, @9 R% l at swarm.Selector.<init>(Selector.java:76); w, |. ^3 R6 m# c2 y& U
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( \6 j( G0 p" n2 O8 ~0 y9 c2 P
at ActionGroupDemo.main(ActionGroupDemo.java:67)0 m5 e7 D: @4 ~
9 Y0 H6 H# ]: [
) A+ S+ j# E. `0 Oimport swarm.objectbase.SwarmImpl;. y1 P+ f" T. R0 ]
import swarm.objectbase.Swarm;% F9 W/ l; E1 q- g
import swarm.activity.ScheduleImpl;' n$ z) Z/ Z+ K( ] d e6 r* Z
import swarm.activity.Activity;5 ?: y+ W) K- b
import swarm.activity.ActionGroupImpl;3 B! S' P. W, }- V- I8 z
import swarm.collections.ListImpl;
% E3 Y; f# n2 m: _& h( ]: Iimport swarm.defobj.Zone;
/ O7 q6 M( K) l/ V7 |import swarm.Globals;- D7 J& S' e* G m
import swarm.Selector;0 w2 q$ E9 J' m& C" g( n0 y3 R
import swarm.activity.ActionGroup; ! b% y3 ~, t" g6 W4 H2 G; L! ]
class Agent {4 Y* B. J: a3 s0 v
char id;# Z) Z1 q: R e5 o
' n% G& \' r7 f; K Agent(char id) {; t$ g! \; c$ o5 `8 m, l! J
this.id = id;
3 W/ c. h7 L" i! m2 N% y }
, ~7 s. I' ]3 n" `! v. ?7 }% |3 B
0 u2 i1 a! v! n2 Z6 h. m public void agentStep() {
8 s& O7 A9 a. |! D' s6 ^ System.out.println(id + ":" + Globals.env.getCurrentTime());
7 r8 y7 e# @$ z }7 M `" y f5 E( q% |/ u2 e+ k
}
4 K7 n+ H! p8 B. A% b% g* |; F G$ [5 A/ R4 F; m. \1 q
public class ActionGroupDemo extends SwarmImpl {$ Y' C) E& x* e6 B
ScheduleImpl schedule;
/ [5 n$ ]6 p, C$ q% l+ A% ^3 Z ActionGroupImpl actionGroup;% T9 v" j2 W }# P
ListImpl list;
3 c1 h: X* E: ^% I9 } char Id = 'a';
9 q' l) a/ C; B. ^ A0 V! ^7 t7 l3 A5 y0 `
ActionGroupDemo(Zone aZone) {
# Q/ j$ z' i1 D- o; A3 a super(aZone);( A4 e( d% k% j3 [; ?4 p
list = new ListImpl(aZone);
! J* N I8 H9 n/ w. M5 e8 ] swarmSetp();
! f. q6 ]. o- @8 L actionGroup = new ActionGroupImpl(aZone);
' m1 x2 t0 ]; t( Q schedule = new ScheduleImpl(aZone);) [/ U- A( m) ^2 j! Z
try {
7 U4 y' G# o5 k# z3 K Selector agentSel = new Selector(Agent.class, "agentStep", false);% ` Y& a6 J3 \- P1 J, T0 X
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
( ~2 p3 X7 P( `% D2 u2 m5 k # c1 k5 J" A$ N0 Y" T j0 l1 m: T
actionGroup.createActionForEach$message(list, agentSel);: \' K. U( L" K: n( S% C, S+ Y
actionGroup.createActionTo$message(this, swarmSel);
0 `( v J! c. c6 B' @4 R0 U schedule.at$createAction(0, actionGroup);! ?" L( T6 a) r: Z
schedule.at$createAction(1, actionGroup);
; t5 l* \ u- t5 N. h6 t schedule.at$createAction(2, actionGroup);
W O; @ ]9 j8 W3 G5 |, o/ B/ }
8 y: ?5 @+ A. f( Y. T } catch (Exception e) {
4 A0 E- {. R6 n' S e.printStackTrace(System.err);
8 {0 k/ H5 i7 Y% {* d //System.out.println(e);) S+ F7 X% V* b1 X
System.exit(1);6 v: {# s7 j8 ]/ U6 N, A) c$ T
}& j) `2 R% w# J
% t: A5 j# f! K1 C; f1 U) Q. @# h9 m' t8 E w4 R
}* S9 _5 t" ~3 |, @. E6 D
) {; \9 n( @9 f7 Q, ~; w* w
private void swarmSetp() {# R1 E$ ^0 `, [* h: J
list.addLast(new Agent(Id));
5 v; s) q8 U1 l. O' D; E Id++;1 |/ [' s6 B9 u5 `# h. b) t
}! u8 r+ U4 E5 U' D% K" V. D! u
. L5 u v/ q; M# H; _& _) J" Q! G public Activity activateIn(Swarm context) {1 b5 A# u0 i! z$ w, [4 }1 G# w
super.activateIn(context);3 o. d1 I: c9 f2 b4 \4 B1 r' ^
schedule.activateIn(this);/ d" _7 C4 C2 `2 h( m. k, f
return getActivity();# b( w3 G4 p1 l6 X/ S2 g
}, Y$ C9 l* I- q7 d" L C1 _
$ | o4 Z; P# B3 [ public static void main(String[] args) {5 }) {9 ~& i( @
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);# a4 P( Z5 i( H
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
. t9 |1 K. z( L( v9 z swarms.buildObjects();
1 k; f( z4 _+ @; O swarms.buildActions();: T F$ A5 Y' i$ v( N7 v0 x) n- j
swarms.activateIn(null).run();7 U f1 p+ ~& }5 _
}
0 T+ }* o8 g1 j1 S; q
! a8 x3 Y0 v: J, p$ ^; v# m} |
|