|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ' W% o% _& D0 p4 ]7 p+ y) W
& Y2 V' P5 v5 U3 P9 g
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21$ c; f2 |8 Y. K5 |& F
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.9 i9 d: z7 Y2 A( ]
swarm.SignatureNotFoundException
; w m" K4 r4 e& D/ Q at swarm.Selector.<init>(Selector.java:76)" I6 }( N% F6 g. U M5 Z1 ]
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
( N2 G6 B& j7 F at ActionGroupDemo.main(ActionGroupDemo.java:67)
$ P- q8 x. U* B
% ^& M4 U$ }2 s; d- Y5 q1 i2 Q' U' B& J& n, P3 v
import swarm.objectbase.SwarmImpl;6 @/ p0 B. ?2 P0 M7 [- c
import swarm.objectbase.Swarm; j8 U2 @ m4 e% V& c: _* h4 X
import swarm.activity.ScheduleImpl;
% v; d% ^7 H# ?" limport swarm.activity.Activity;- j$ k3 l) y: H5 d& L
import swarm.activity.ActionGroupImpl;* |9 D3 s, w: s
import swarm.collections.ListImpl;. ~+ f _! o3 |4 }* E2 U
import swarm.defobj.Zone;
" e: Z9 a* u; f' dimport swarm.Globals;
7 ^# Q& x3 t: S2 s, Yimport swarm.Selector;
2 `# M( n1 L. r+ G5 {0 pimport swarm.activity.ActionGroup; ( f- {/ A4 W$ m5 T$ F
class Agent {8 ?1 t5 |; `" a
char id;
' e8 f5 l H0 e. R
/ }! N" p" H @7 V Agent(char id) {
7 f. X: ~$ q7 @8 X/ @ this.id = id;
* s2 N* [+ j. S4 z9 I }
+ p! d4 v1 ?7 `* z5 R2 ]( c; Z2 P1 } t; r" p7 {# S
public void agentStep() {. F7 G: y% I4 \! H. E
System.out.println(id + ":" + Globals.env.getCurrentTime());
% i* T/ g: t q, q- M8 V% B' u7 C% T }
+ D7 K, g& l$ ]8 X" w}
, l \0 g' T$ t# b$ G. P
; \/ Q4 s: [! I" K9 w7 y. ?6 Xpublic class ActionGroupDemo extends SwarmImpl {
2 Z/ O; M0 o6 m! {1 g% F3 f9 | ScheduleImpl schedule;) f7 M/ ?! V- b. p, {9 o
ActionGroupImpl actionGroup;
' M& l- {4 G1 i! ~6 d, Q ListImpl list;- L! Q8 U3 ], R9 w
char Id = 'a';
3 [9 _- W+ l1 _% D$ t* S) X" _1 d3 O0 [
ActionGroupDemo(Zone aZone) {
; H4 u4 v( x0 _4 B7 o super(aZone);
9 E8 r6 d2 S4 T; ?! @5 q list = new ListImpl(aZone);
5 t7 [1 `3 t# U% p0 k+ @4 I swarmSetp();1 C& q( \ E' l/ f' `0 e. ~6 M4 {
actionGroup = new ActionGroupImpl(aZone);
$ [% w$ I) h/ p" O# t$ I schedule = new ScheduleImpl(aZone); U' R1 ]2 l k
try {8 m7 b0 l% _) Q0 e( a
Selector agentSel = new Selector(Agent.class, "agentStep", false);" _; y- q# B1 V, q( ]% X
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行 r9 n2 f& n3 W9 r$ N6 {! z: n
" F9 z- M" W, Y5 T6 Y. S& w7 X actionGroup.createActionForEach$message(list, agentSel);
3 X7 G Z* N: r4 q- f8 `8 i actionGroup.createActionTo$message(this, swarmSel);7 q' T. P( F; g
schedule.at$createAction(0, actionGroup);. q+ e) {& v- ^( Z0 V
schedule.at$createAction(1, actionGroup);! l4 X' d1 w ]* b* S" V% h0 k
schedule.at$createAction(2, actionGroup);
# Q' u, x \% X2 R. I1 k2 }1 E& }: d6 Z
} catch (Exception e) {
' H& T+ A. J" d! u1 o/ ~( j e.printStackTrace(System.err);
/ y$ i! R8 n, x) W7 ?/ c9 @ //System.out.println(e);
7 @) `/ I6 c, r System.exit(1);
! I- Q; C+ n- Z$ F/ ] }4 S1 k: m+ M/ l) o
; P6 m: M% U. ]4 J5 q* _( X3 V9 @( b5 J! ]9 h% m- x
}
' I- r. i$ n7 T3 P, \ R' y, G
0 J& W" I S" F* y private void swarmSetp() {
U! w( n8 X& R. l0 _# n% o list.addLast(new Agent(Id));2 M- [4 R+ Y4 D
Id++;. \ O* e7 b# k4 r6 J
}( G' \4 z/ W! ^7 b1 ~( Y0 M0 u
: c) Q5 L Y" b9 c) F
public Activity activateIn(Swarm context) {
, k. N2 Q2 L" N5 X- o0 L* }+ { super.activateIn(context);" ]! Y- @5 @# L. h0 T" {0 V. Y
schedule.activateIn(this);
, l" s' {6 b5 o z* ~ return getActivity();3 x, O. D% ^8 r* X: N
}# \+ g' `- k U9 R @3 X7 h5 U
& k c/ X1 Q8 m. Z public static void main(String[] args) {; T5 t) g8 u3 S! s7 E" ~/ ^
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);8 }" i, A+ k8 M5 y5 e0 j
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% _9 N# M1 A9 C2 m) f, I
swarms.buildObjects();
0 g f8 v/ {: A8 Z0 J5 b: n swarms.buildActions();
2 d8 o2 @$ T6 n8 m0 v swarms.activateIn(null).run();
z' \4 ?, c/ E+ D( X4 j" c% A( b/ ~ }4 R6 C9 Z8 o( l1 v3 k
, ~6 i1 n: G) y: X7 c9 S9 S} |
|