|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% b. r# j3 h! D- \8 Y
7 G0 Q$ o. W. C& O: z3 U本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& n: Y: \0 p( ?7 Z! S4 o
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
- ^. m% [) \2 O2 g' A' [swarm.SignatureNotFoundException( Q0 |0 t4 [" n q
at swarm.Selector.<init>(Selector.java:76)! i2 R5 I( }8 f- J/ x0 G' Q/ @
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 C/ H) j, ~# x& v; E at ActionGroupDemo.main(ActionGroupDemo.java:67), W$ Q! a$ h1 E& O y% D0 o
3 l* s: v9 R6 \# h
" I) W4 o% Z' ?9 h4 F0 Dimport swarm.objectbase.SwarmImpl;
' V& R8 W; N+ q/ e3 I. [import swarm.objectbase.Swarm;& b$ F4 }' g5 r% i. s
import swarm.activity.ScheduleImpl;; n& _# A0 Q* |0 m+ \
import swarm.activity.Activity;
' e, k* a0 ?9 X, E6 g) V4 V( p9 Gimport swarm.activity.ActionGroupImpl;, L# T) y' o: B$ V1 U9 C6 s9 B7 Z
import swarm.collections.ListImpl;9 M) P1 D; Y4 m6 p, \
import swarm.defobj.Zone; $ v- Q( O# F' j( d! [
import swarm.Globals;
5 m0 Z; Y( C! O8 U/ u Limport swarm.Selector;! }- u0 `% K! J+ r8 w. g2 \8 D
import swarm.activity.ActionGroup; $ Z4 k( O, l; B+ n
class Agent {- U% ]6 E. }& ^2 Q) T
char id; n# U8 q4 y5 y
L* T. f6 k( N! a Agent(char id) {
2 H" t, W# j* a( W1 n8 m4 ~ this.id = id;1 M; y( D7 |4 d0 I X4 |( q( y
}2 e1 H3 E' S( ~: v
: |5 t5 M) }4 l) @$ {, B. C public void agentStep() {
+ L( w& c1 ?8 i! I- A! o System.out.println(id + ":" + Globals.env.getCurrentTime());4 U0 A& x* O; P' T2 F
}
7 l" Z" S+ \5 M3 ~8 C( ]0 ~}( ]6 N* U0 U) q8 T# h
! [% f2 S" R1 N& R
public class ActionGroupDemo extends SwarmImpl {
3 G8 t3 h2 f/ U0 M, B$ t ^ ScheduleImpl schedule;' Y2 b$ E( n; V1 b
ActionGroupImpl actionGroup;
e. q! y( c4 I& i- { ListImpl list;: M* \) ?2 ]4 c$ P/ b, m z1 A
char Id = 'a';
1 |, e' g& U- Z, o9 z/ [- x) F3 {' Q, ]+ s7 e, q
ActionGroupDemo(Zone aZone) {" T7 R1 }: T- A5 T6 f$ a7 o9 ~; }) j
super(aZone);
9 l8 F* T4 m2 N% p1 T list = new ListImpl(aZone);, V! Q. x* C4 h5 q/ P, M
swarmSetp();
8 r* Y1 _5 O, |! C) c [ actionGroup = new ActionGroupImpl(aZone);) ?$ c7 h1 |1 ~
schedule = new ScheduleImpl(aZone);- C8 P5 v0 P2 J) q; Q
try {
% I1 C- i- O8 l4 z! H0 V Selector agentSel = new Selector(Agent.class, "agentStep", false);
( A! ]$ u; v6 o: b5 W8 w Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行) t* z+ d3 T% m4 J0 }' S( K
& l% `+ C0 m; ^7 Z actionGroup.createActionForEach$message(list, agentSel);
0 G% E7 d' H1 X' d/ c8 W* ~ actionGroup.createActionTo$message(this, swarmSel);$ Q& F! I- d4 }# x; h9 w+ c% N6 l
schedule.at$createAction(0, actionGroup);
- P7 q( t' H! E5 f- Z4 \ schedule.at$createAction(1, actionGroup);
% M% G, C) w* i( U B schedule.at$createAction(2, actionGroup);
8 h2 n: Z3 i; I3 h% {4 y0 o
J8 X- D' T( L+ c8 a3 E' d } catch (Exception e) {" S! y) D( z0 f2 H2 `0 M* Z
e.printStackTrace(System.err);
+ e B+ n o8 _8 {0 a% Q/ D* N) S //System.out.println(e);
9 M9 o, J: b& M9 J+ u; `( c System.exit(1);9 E4 Y" N. b2 m: |* S" O: o# J
}- _( l! Y4 G! q3 b, H2 N6 v4 p9 H0 {
& d/ n- k! F# c& s* X5 A# {& F O! j. Z4 i- p7 b
}6 z8 J# T v" ?+ w) e
6 [- r! s F( L1 X8 B/ [
private void swarmSetp() {
. Y! O6 {# j/ ~& e0 K5 Q list.addLast(new Agent(Id));3 r) I- ` z2 y. P/ }
Id++;
1 s6 }$ d' D% `1 @/ w }
& H3 b9 I' |2 }7 u8 W, g/ U' y, S0 _1 G
public Activity activateIn(Swarm context) {' M* P* l2 ?& s# U$ g4 b
super.activateIn(context);. z; I5 I- h2 @0 ^) u; b
schedule.activateIn(this);
. w: Z9 g' {* I/ A return getActivity();. U5 W z+ X; o" Z' [
}
7 W% Y" Y v; H3 L$ d) A0 z
) O- s2 N- A% M8 Y P public static void main(String[] args) {5 Z& f T5 ~% v2 \) l/ N
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ g8 n: A' K) M
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 Y2 x l7 x6 w
swarms.buildObjects();
, q M8 w6 w$ T- F- O# d; x swarms.buildActions();
% z/ }& J7 K/ e w1 C; P7 `, V swarms.activateIn(null).run();
/ i5 z5 G0 o8 _) q6 } }3 {1 @. z U# ?5 M
9 J% f4 c5 m" L6 w8 e% l} |
|