|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 + Z+ ~4 @* M7 \8 h% |+ ?$ L8 V
% o) m* \! P( C, Q6 W. l# q
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, M/ w: S0 I# k1 ?/ g
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# v G: W* B; T8 q: l- I+ Eswarm.SignatureNotFoundException
. s, f U3 X# b at swarm.Selector.<init>(Selector.java:76)
7 U& A, ~- R% d7 |9 L5 q at ActionGroupDemo.<init>(ActionGroupDemo.java:37)- I7 j% b/ F1 S- V6 }2 T8 c
at ActionGroupDemo.main(ActionGroupDemo.java:67)
2 V6 g- m+ i! S9 d+ z$ \ U: c
% x; d7 V( T' y, `1 T5 p+ _8 @" @ S
import swarm.objectbase.SwarmImpl;
6 n/ ^& J3 Z* S# x8 M" oimport swarm.objectbase.Swarm;
5 }* T4 b. c$ s( H- }7 z6 \import swarm.activity.ScheduleImpl;; M. p! t. \- F3 z; Z* m
import swarm.activity.Activity;$ D; q2 E5 I! z- @) T" G2 X0 T
import swarm.activity.ActionGroupImpl;
# w! y2 C0 Q8 C3 Zimport swarm.collections.ListImpl;
! L; M, U* E. K7 F5 A- ~( Jimport swarm.defobj.Zone;
: C2 Q3 Z8 u8 yimport swarm.Globals;
: q6 ~- z' x; F0 |- Gimport swarm.Selector;
% f9 H8 `9 X, ~0 S& Gimport swarm.activity.ActionGroup; # `1 b) V4 }' w% \- t
class Agent {
1 V* a% X2 s5 j) S$ b2 M5 ^ char id;4 h* `1 q8 Y; L4 @
% t* Q4 Y9 `8 K: o0 X B O Agent(char id) {3 P+ P* `/ X4 {# \' g1 H* r5 f9 k/ ~
this.id = id;! H! g/ J' ?( @0 @9 [
}2 p8 f) C5 }: F7 o- o+ o. ?- q6 e
7 @/ M0 W7 g9 Y0 S0 P
public void agentStep() {
3 O8 P( \' x6 N" f8 @" a$ o9 p System.out.println(id + ":" + Globals.env.getCurrentTime());$ V1 V: b% V; G; ]
}
/ f+ b4 Q% W+ c5 z}
. h& M) W4 b- a8 V1 F" ]4 c5 T# z0 F* ?6 V- B9 W$ U
public class ActionGroupDemo extends SwarmImpl {
% \' c! S& g3 f1 S2 f ScheduleImpl schedule;# I% H# S8 h0 R) S
ActionGroupImpl actionGroup;. T6 E/ [5 K Y0 }
ListImpl list;! o8 `7 K# z: R1 D* ]8 V
char Id = 'a';0 x; k- f5 d2 i
3 C$ B# [* R* s# |/ m& {6 f
ActionGroupDemo(Zone aZone) {. o1 B* t6 Z; j; T; a+ O
super(aZone); m4 c4 b# a) D5 Q# Y1 C, O
list = new ListImpl(aZone);
5 E7 U' l3 e* G+ X5 | swarmSetp();
- \6 A( e* Q+ `1 I actionGroup = new ActionGroupImpl(aZone);& `4 F$ a1 y, E& o7 a" o
schedule = new ScheduleImpl(aZone);
# ?$ [0 a* l G7 ~# h. A try {( }! j- G8 K" c
Selector agentSel = new Selector(Agent.class, "agentStep", false);& `( }9 O! e( |* ^# a6 O P
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行2 p& x: ?/ K3 G% J/ `7 N. _
6 l& T: z- ]; N& V9 Q3 z* c2 Y
actionGroup.createActionForEach$message(list, agentSel);
% {5 n3 K% j+ }2 Y, Z$ _) k actionGroup.createActionTo$message(this, swarmSel);2 k. R/ y: F5 b- Z1 Z4 s
schedule.at$createAction(0, actionGroup);; k0 M# t6 m& b4 r( p) g" t, ]
schedule.at$createAction(1, actionGroup);0 R& b) }; q9 l& O1 w- z% c" H% b0 X
schedule.at$createAction(2, actionGroup);* Z7 ^1 g4 K9 o2 V
& G) ?% C! S" X Z/ V
} catch (Exception e) {1 y0 j- P3 ^* Z0 O
e.printStackTrace(System.err);8 I& y9 v1 U2 H* M9 K9 R
//System.out.println(e);$ U! e4 U, H( M& B2 J- |
System.exit(1);
C" X7 N# c" Z }
& Q h r( x% g8 I2 z" S: O `: u# b+ j8 Y: \
2 g Z# E: C+ H }8 T2 b }
# S: D+ E# I4 b% {6 |9 f3 |
0 U/ t/ O0 s0 r4 S5 c- F private void swarmSetp() {
: `& ~- s: U0 `" { list.addLast(new Agent(Id));
; C8 l, u/ P& {; A' p6 l7 ] Id++;
# q- q2 s8 N1 n" m$ B8 d* e6 e }, I1 C' m# I) D
2 c8 u& }! |! [" @9 T3 A2 K1 ?
public Activity activateIn(Swarm context) {
; O; X N- ?" q( d+ U0 i4 B super.activateIn(context);- o' ~' O' L8 E1 V/ {
schedule.activateIn(this);# V) `; m( i* H& M- ?9 D4 e) [
return getActivity();+ u1 z0 G; x! Y/ X
}
7 o# E: z- v! X
: h6 E" j5 I; w* Y0 n) Z; f$ ^2 t6 S. E public static void main(String[] args) {
9 C l7 E- `7 ] Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);/ I1 i9 ~& H' g' u8 x, v3 z
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, X+ \( {* v/ U% Y; _) f swarms.buildObjects();9 S- F. W8 P* w- W. ^
swarms.buildActions();
' h) E4 s: _2 v( J0 ^# Z# T swarms.activateIn(null).run();
" Z6 @3 y: `( O }
3 k, [. ~4 s( T: K; E! r; D' I
6 o7 R! s! T+ M8 s& g: r" y} |
|