|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # a( {& `# \6 T
/ |7 u. r8 S/ o8 n% {' }
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update211 ~/ s! W+ S0 }* P' q' n
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
% q# z6 g3 C8 C: X5 F* lswarm.SignatureNotFoundException; U% ]8 ?5 ]2 j! b: D8 H
at swarm.Selector.<init>(Selector.java:76)
6 l) H0 }/ o& q \% m9 r at ActionGroupDemo.<init>(ActionGroupDemo.java:37)3 H y. A; B$ U& H. w5 |3 `
at ActionGroupDemo.main(ActionGroupDemo.java:67)
! C! a Q, b- n A* i/ f0 {: P& S8 y+ o* a) W
+ e. B2 r6 G8 A0 y: Aimport swarm.objectbase.SwarmImpl;
+ Q" f, `+ d3 Q0 d [0 \import swarm.objectbase.Swarm;
1 e5 r( ^4 N a' ^- Cimport swarm.activity.ScheduleImpl; o' e% o7 A* |* }4 S: E' h |9 Z
import swarm.activity.Activity;
1 V ?( k- P9 y. Wimport swarm.activity.ActionGroupImpl;
$ H. U( ?6 r" P- G' Z) ?import swarm.collections.ListImpl;% V+ ]$ g" J' H: y" [& t
import swarm.defobj.Zone;
% K9 A& s( ?$ c% l$ Y! \# @- zimport swarm.Globals;
- ?/ T Z' B2 d2 f: c' Limport swarm.Selector;7 i3 U5 @$ d) ~
import swarm.activity.ActionGroup; 5 @; h$ h! S9 Y& u
class Agent {& y; d9 r8 @; c$ \. u9 Z% Q0 A
char id;
' g# [+ J/ c! t. U
3 r7 Y+ U7 X$ A } Agent(char id) {
3 |/ Z, C1 P y9 w+ N1 x this.id = id;. B9 q" W! N, m) r d* Y
}
+ u S9 ]2 V! B/ {! ^/ w1 O, a7 b- U3 k/ `
public void agentStep() {, ]$ _; r+ j4 k( Y* G9 A
System.out.println(id + ":" + Globals.env.getCurrentTime());1 q, I8 y4 D; b& H7 k, k$ ?! i
}
# a( A& @5 S& _}
! o% ]# P9 h8 k2 ]' D
; {* c9 h0 E" _public class ActionGroupDemo extends SwarmImpl {# D* t; Y2 @9 L. }2 a' W
ScheduleImpl schedule;6 r% d; n, O, m- M& l* X2 @
ActionGroupImpl actionGroup;3 I( n6 |% Z& J9 _& ]
ListImpl list;1 z* [4 j( h& h+ A% q1 B
char Id = 'a';
- Z( s7 l0 J4 @& Z+ W- w8 a7 M M1 U3 W2 V1 L: _
ActionGroupDemo(Zone aZone) {8 G; H$ C& V# n* A( p* ]# W, y
super(aZone);# A, F! g5 e8 {+ Y6 O7 o8 \: k
list = new ListImpl(aZone);
$ [( {4 `6 k, f9 t2 {; o swarmSetp();
5 z$ g( {5 V& S+ ~0 a actionGroup = new ActionGroupImpl(aZone);. P7 X, f& G1 g( R: L
schedule = new ScheduleImpl(aZone);( k4 h+ J W7 a* d7 w, c% {
try {( C/ s2 |- p) C ]9 _
Selector agentSel = new Selector(Agent.class, "agentStep", false);
7 h0 P3 f' R& r: w" n5 p$ R Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
2 }3 l1 w8 y& T2 B
0 u4 P# `& T! S, F% \. Y actionGroup.createActionForEach$message(list, agentSel);& {# f; W' K& W- H
actionGroup.createActionTo$message(this, swarmSel);4 f4 c. q. h6 m& H: a* w& a
schedule.at$createAction(0, actionGroup);
8 \* W8 W$ A: Z0 }# I0 c- S% U schedule.at$createAction(1, actionGroup);
5 S" d$ O3 I. b3 @* b* C* `+ ?1 A schedule.at$createAction(2, actionGroup);
1 | w; u- H0 p1 j+ N' W# }
9 S# I- C8 w8 \( ]/ v# b } catch (Exception e) {
5 L9 s8 k5 W9 p% d8 h e.printStackTrace(System.err);) V0 c9 q# N9 d' h
//System.out.println(e);5 }/ S" k3 k r) J5 B9 F
System.exit(1);
7 n u* M( T( q( Z" R% ?, w }% o8 {3 r( E; Z) A2 {
& B: X0 |1 H6 z
( H0 M0 a+ J0 w0 _: P
}, B+ ~6 M, A2 j
0 L& N, W& R/ f: Q. e8 @- o/ n, | private void swarmSetp() {
- R$ K' v6 X* W4 w+ \' K list.addLast(new Agent(Id));
. ^" R9 b) c- Q/ Y Id++;# P* I4 j( C) N* H: c; i. i3 X7 x
}" P+ a# Y$ ?: A' e2 X7 I6 Y+ P
% m. N) ~* ]# s$ I
public Activity activateIn(Swarm context) {" J3 \8 _; j4 T8 ?
super.activateIn(context);
& e! p, x$ b0 L$ D schedule.activateIn(this);8 Y( Y; w$ @3 f" ]
return getActivity();6 U* X6 c6 C5 u1 P1 N) h: E- I& {
}0 D5 s" u \8 ~5 B
& Q, {5 `+ `/ y4 ] public static void main(String[] args) {. |0 v" c$ {( b( \ Y
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
N- Z& F" S$ h6 L7 h Swarm swarms = new ActionGroupDemo(Globals.env.globalZone); ~+ u. ?0 h* j2 V2 f, x! U9 N
swarms.buildObjects();
3 p g2 U |* z6 o3 k# X swarms.buildActions();
0 J @$ l) r5 _1 Y swarms.activateIn(null).run();/ \" E& x% ~( {6 z; Y/ G4 m
}2 @: W" ~# b: A& t0 m9 Y
8 P3 U; _1 @- h
} |
|