|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 b2 E9 v3 o3 s* N& q9 u
& _3 |; N$ @- `) A2 S% [! ~. G* y本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
1 c |( K& `6 s$ [# B以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
$ p Y2 j: q. Y0 ^) n! iswarm.SignatureNotFoundException) `# K. z$ C* h; V+ t/ U
at swarm.Selector.<init>(Selector.java:76)& m) u; m( f; j" K
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)- G, I8 X9 i7 z, @1 q/ o4 A- @
at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 I+ \! v. | N1 ~5 W" ]9 l! m- l; P$ m! K) W$ g$ i6 j4 }
6 f" P/ F1 ^0 `% \0 L
import swarm.objectbase.SwarmImpl;
8 z8 |+ K5 X, i5 Zimport swarm.objectbase.Swarm;
2 y2 s" M4 ]" M9 _' Timport swarm.activity.ScheduleImpl;
. {: x- ? N X. l4 }8 Wimport swarm.activity.Activity;
! P1 g0 O+ I# ]* O6 Iimport swarm.activity.ActionGroupImpl;8 n4 l! K$ o6 a' B- z+ p
import swarm.collections.ListImpl;
% |5 c" [# U, O# simport swarm.defobj.Zone; ) j( |, Z. L& E: D8 x: s
import swarm.Globals;) k% l0 S x, D! n0 b4 _, ?
import swarm.Selector;( s5 O) d1 s" z1 E' y/ f7 R
import swarm.activity.ActionGroup;
1 y! J3 v; b+ l+ H, ]- |" d0 tclass Agent {$ L( O/ x, s1 H$ Y$ i7 F
char id;
' h$ h8 c0 C; z) [( j0 C( G Q* J; j% v/ ?, E
Agent(char id) {
8 L0 ^6 ~, [5 E this.id = id;$ ^% _! v5 a4 x9 b
}
+ A/ w4 {' e* n# F; a5 X0 r( v2 y) q7 U- a" C; _
public void agentStep() {$ N9 C, \. i |4 Q5 [. ?+ f( a- D
System.out.println(id + ":" + Globals.env.getCurrentTime());, z d: H7 }. ?6 }1 D) y
}
# ?" N e6 ]/ ?/ S( L5 R: l6 ^}
/ C8 G" |; \* t7 Z$ o
6 H7 l" ~! g7 \- G: wpublic class ActionGroupDemo extends SwarmImpl {
8 Q4 P7 }$ ~$ T6 Z& _+ k ScheduleImpl schedule;/ G5 X" _1 Y8 }( ]2 M4 h8 @$ u* ]! [2 G
ActionGroupImpl actionGroup;
+ `! @: \6 B% ], e ListImpl list;
* R) k; M4 d; ~3 Z4 R, N char Id = 'a';% N8 V% x6 C$ l* F% I5 I
! r0 `; h7 }+ P& P
ActionGroupDemo(Zone aZone) {7 k! p, A# W \
super(aZone);
! t( ]5 i( m& R# O list = new ListImpl(aZone);8 h' L8 n8 v/ m, W! a8 u$ O
swarmSetp();
. f" _( W3 x- I& v+ K actionGroup = new ActionGroupImpl(aZone);/ [- U( T3 h! ^: z
schedule = new ScheduleImpl(aZone);
1 u- X& H2 a+ r& N6 G) l1 m$ o0 _ try {
. Y- p* u, H. c Selector agentSel = new Selector(Agent.class, "agentStep", false);+ J" ?! c* L4 V8 s2 s7 c: k' b2 @
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行4 Y6 d: j% o7 l8 `/ G2 l7 L
' R6 f, N: H5 _! e
actionGroup.createActionForEach$message(list, agentSel);/ A7 p) A7 {) A l0 s" e
actionGroup.createActionTo$message(this, swarmSel);
% K- h) c. I( X4 j% R, z9 K2 Q2 m8 J$ O schedule.at$createAction(0, actionGroup);
/ @: k& {2 T1 Q schedule.at$createAction(1, actionGroup);/ N- ^( [9 b, W9 R- H5 x/ Y
schedule.at$createAction(2, actionGroup);
9 z3 X+ R) G) A P$ d1 a" `
9 K' a3 _' E1 y4 I4 ~# M: ^* X } catch (Exception e) {, ?8 x1 A' y3 A% g
e.printStackTrace(System.err);# z4 k }' R1 o2 p# q
//System.out.println(e);. \3 C+ y7 G# h8 K( O# R
System.exit(1);
?' W; E7 W: w4 _2 a o }6 D* @) l: i% G- g7 O5 Z
5 n' w) P c8 |8 Y+ }9 [5 R
. m( y5 f2 B* y0 ?. K
}
5 |1 V" w6 N- Y9 V* t- W: A0 U. `7 W* }. b/ K5 D- T
private void swarmSetp() {2 A. C1 j# e C0 M, M2 ?2 ?9 w
list.addLast(new Agent(Id));
$ \+ E6 H9 x. O: K% I Id++;
* c, {1 E# g P. m* H' | }
2 M* `' R: [0 b* P- [ A- ?: _7 R9 _! f- @" w3 J- m' w
public Activity activateIn(Swarm context) {
3 i, }) d( s f# B+ m: s super.activateIn(context);
8 ~2 Q1 Z3 P# R0 z/ i# Q schedule.activateIn(this);
+ B G' x# Q' e9 m# ^ return getActivity();
: e" X9 F' v3 x) G* I }1 [4 L: L5 L) m, b& R' l4 Y0 _. x
j2 E, L& Q$ ?8 Y) U! U' n+ Z public static void main(String[] args) {
, X+ {5 Y% y, w% @ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
- n/ M* F2 V, h, ~& |4 W3 P; V Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);9 X# t: k7 B) g. C3 A
swarms.buildObjects();. G" c: i1 {8 s( X& `7 E9 E
swarms.buildActions();
- s5 q* j! S! ^$ S$ A. e) \ swarms.activateIn(null).run();
1 h' W; P# l, C. x+ I% Y4 ]* s1 p }
! H, N2 {& ~8 Y/ [6 y0 [! ^% |2 H0 z) t% z
} |
|