|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* B) U# \% N6 M, A' Y/ _8 e& J! ? v& X2 x5 N
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& q0 T! J0 ^! l- S0 Q2 b
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
, ~, ^9 Z, z) u1 O% v- sswarm.SignatureNotFoundException
8 _' t+ R0 F. p/ U9 x) {4 @ at swarm.Selector.<init>(Selector.java:76)4 D! t# {, x- ]( ~* p. n
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
+ G8 s: }* }1 P) e/ U6 | at ActionGroupDemo.main(ActionGroupDemo.java:67)
2 G" Y7 i9 M1 ?# M+ J: s7 a4 t! f8 S2 w1 N
9 m5 r/ F2 W1 P6 O
import swarm.objectbase.SwarmImpl;
$ U) H3 u( [; @: r3 i g" w1 Zimport swarm.objectbase.Swarm;
; E6 W8 T9 ?* q; n0 g8 gimport swarm.activity.ScheduleImpl;
( e! v5 T/ J+ Kimport swarm.activity.Activity;- ^( V2 `; z6 E V2 Z5 Z. k
import swarm.activity.ActionGroupImpl;: y/ a- t; r7 l- L* q q, ?
import swarm.collections.ListImpl;; R+ `. [7 v: E' m
import swarm.defobj.Zone; 4 X& o: m6 z1 a0 Q& Z3 L# Y
import swarm.Globals;+ p6 U2 a/ B3 S
import swarm.Selector;8 ?2 a) J" _- ^
import swarm.activity.ActionGroup; , \; i$ y2 q- G5 V& v1 Q
class Agent {
. y* }- q" i4 ?( A7 Z char id;& O1 N+ F4 ]9 Y$ w1 a# B6 D
3 v1 }+ b- u! I4 W
Agent(char id) {
. N4 P/ x+ Y) L/ W$ _6 y# q5 x this.id = id;
% h6 d. m$ F |# [. B2 v# F }
! a- e K P8 r. }" N h2 I, A* | p/ W# V
public void agentStep() {3 q) b" X+ Q" m/ b
System.out.println(id + ":" + Globals.env.getCurrentTime());4 p. y( D. P7 O. M5 }1 U) n, a
}4 x f6 G( U$ S6 w+ G
}) g6 U! Y. \0 Q! R7 {7 y- Z f
) H. T, N+ O7 a" ?. z- [
public class ActionGroupDemo extends SwarmImpl {2 Y8 m' u" @7 s' j; h9 p2 M" ^
ScheduleImpl schedule;5 j# E& `, P. N; q5 o
ActionGroupImpl actionGroup;1 V" j7 B" v8 Z. ~
ListImpl list; o3 | O2 d q i
char Id = 'a';
4 k. h+ v0 E. f- I, b1 \
6 \( K* N& J/ y* T2 Q4 [2 v ActionGroupDemo(Zone aZone) {
7 F5 D- S% i$ D3 l7 X. {. P% [. C$ s+ U super(aZone);& y8 @) C W8 N* j% |
list = new ListImpl(aZone);. `; A' r% t; W
swarmSetp();
( _, G) R; z$ o' d actionGroup = new ActionGroupImpl(aZone);
5 b) D9 C1 u& f( B( X9 U) ? schedule = new ScheduleImpl(aZone);
3 y: Y0 `* ?. A9 N/ C try {
' J: k- g9 S+ a9 b: ^* F Selector agentSel = new Selector(Agent.class, "agentStep", false);
$ t7 M. E2 F) v" f9 I Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) d* p) o* J2 h' `4 b$ ^ 2 s7 u9 N/ z g' w( I4 Y
actionGroup.createActionForEach$message(list, agentSel);
. A0 V, g, U: Y6 Q0 |2 o actionGroup.createActionTo$message(this, swarmSel);
( z% `) s" D( d/ ^ L2 H" P schedule.at$createAction(0, actionGroup);
* r* D' [* h c. i schedule.at$createAction(1, actionGroup);
* V* y" ~: t" z; S' Y/ L schedule.at$createAction(2, actionGroup);
d9 |. ]8 v* M( w' l
# {# k3 w2 O% Z( U } catch (Exception e) {8 s5 ~9 B1 [. Q: m; n
e.printStackTrace(System.err);
1 m+ g) z, w4 Q4 m; a- E# p //System.out.println(e);
/ G7 k! N* S. r/ W. i4 e V# I System.exit(1);/ }" h" R" l" ?) ]1 _, C. u
}& ~8 }% |. Q/ U# b/ d. _; B2 l
+ m u2 o+ ^( w7 @; Z& \1 i
v# K( X2 D1 Q: ?6 v }
; ^% z7 X2 r$ a- C, t! S
8 i; v1 }, v2 |7 x# B private void swarmSetp() {
5 ~3 A7 l& v) O8 l2 {% ~! E5 f list.addLast(new Agent(Id));
' F: T0 _0 @7 [& F) I# O Id++;" q' |7 {1 u2 J1 q8 ?# o5 A- k9 k
}: i, r& J$ @2 i. Y$ q
/ \% ]7 X# I, F f- Y1 i( | public Activity activateIn(Swarm context) {
# x5 j( O! R0 m4 k3 a1 [: ~ super.activateIn(context);
8 ~+ ?. q. c3 S) f. }; e* n schedule.activateIn(this);
+ ~5 s# h$ R B3 Y$ A1 t return getActivity();2 Z& I5 P$ V* d* G( ~& O
}6 p, `3 \5 p6 M: B2 I
" o* S" c; l8 n9 ] public static void main(String[] args) {
7 n: K# T r% _/ s: t7 [" U0 R Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, J9 T) b3 C( @ Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);4 I" { f! g5 R+ H0 n8 S- `# D0 I; I
swarms.buildObjects();$ D: }3 B/ R% U9 ]! k! A4 ~
swarms.buildActions();
. {4 G( O7 _1 o! y swarms.activateIn(null).run();
9 e: L4 N5 v+ n0 h% v/ w }
6 L$ ?' D( x' J3 k Q9 j* w; ?7 X$ @4 P+ E( D
} |
|