|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( P% k4 o2 F7 E+ M& X* W0 ?+ P# l0 e- L) K) F
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" Y# W: f9 Z# z ^+ s: ?* g以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ Z9 ?* b% f: `! T
swarm.SignatureNotFoundException
4 p$ |+ p" u* ? at swarm.Selector.<init>(Selector.java:76)
8 l$ y8 Q7 \( i# |( o3 I at ActionGroupDemo.<init>(ActionGroupDemo.java:37); |( l9 A4 W5 r. f! l4 ?. I
at ActionGroupDemo.main(ActionGroupDemo.java:67)
. r% I3 R2 D/ ^: g: V; }2 l& e) q1 _, \# t4 a
& r6 Q% M, B# ?' Z9 p5 I
import swarm.objectbase.SwarmImpl;8 h5 l1 w7 I/ a, L- ?1 z+ \( p
import swarm.objectbase.Swarm;
- ?1 o! s% g* v2 y( Vimport swarm.activity.ScheduleImpl;2 z. z7 u* H5 N' W
import swarm.activity.Activity;
. q$ v8 I3 F0 O& }) E+ S! N kimport swarm.activity.ActionGroupImpl;
3 w7 O+ G- z" S7 \2 l' Oimport swarm.collections.ListImpl;
5 K! N5 ~" s7 y; ]# j' zimport swarm.defobj.Zone; 3 N8 B. ]6 E; a* `& }
import swarm.Globals;: S7 Y3 `3 b$ _
import swarm.Selector;
8 W' |! s/ I* H' zimport swarm.activity.ActionGroup;
. h. l: q# q' S/ [class Agent {
8 o! P% l6 r1 P- l8 R/ I0 [5 b char id;+ d0 C1 Y( y# g8 t
, `' O$ m, i% L* A+ c
Agent(char id) {* x, E6 {; _9 [- G7 i9 T# s
this.id = id;2 d2 X. P$ D$ ?5 w- z' m
}
& R( V; v7 C2 O& h
7 \* Y! A* K* s+ Z. U) ~ public void agentStep() {. q1 W0 h) T+ l$ J( b* E
System.out.println(id + ":" + Globals.env.getCurrentTime());
# ^0 O+ m% T5 X4 z }% P3 v3 g/ h% \5 K* ?& g s
}
6 b* W# \- q, G5 N( C2 X. W O. \9 w$ Y
public class ActionGroupDemo extends SwarmImpl {( u7 P) L! a. H# h4 Y/ S
ScheduleImpl schedule;, g( v3 z$ L; X1 a# r
ActionGroupImpl actionGroup;
0 }9 B7 ?4 N7 l0 k; x9 A, C# K ListImpl list;
! ^/ \0 j- z8 y/ G- O$ q* o t! W- ? char Id = 'a';
0 p% C5 m5 a: \9 a! @0 D+ u. O/ P( |2 s! h/ o
ActionGroupDemo(Zone aZone) {& e7 }+ s5 H+ P9 k0 J
super(aZone);. m+ ~' q( z' Q' w3 ]% R% C1 {
list = new ListImpl(aZone);
" P7 d: ^& d3 E3 c/ h8 q, H3 i0 _5 e swarmSetp();" C" Q! a2 X' H9 l* F3 \5 m
actionGroup = new ActionGroupImpl(aZone);: ~1 X$ p) J* G8 r# U3 b
schedule = new ScheduleImpl(aZone);1 i/ L: K' l" l( o7 {' r
try {" H* ?& G' n! i B
Selector agentSel = new Selector(Agent.class, "agentStep", false);( O* x) U# a) @5 N/ r& a
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% x% r/ E S( ^; T6 m4 x
" a. S! E1 R4 q- `: A- G actionGroup.createActionForEach$message(list, agentSel);; _ M/ @$ n9 S: Q3 v! Q
actionGroup.createActionTo$message(this, swarmSel);
, M6 n- `5 D) i$ m schedule.at$createAction(0, actionGroup);
0 t+ y+ J' \: l4 u9 Z! P. w schedule.at$createAction(1, actionGroup);
" L+ v- G$ {6 b$ t6 P3 c1 N1 h schedule.at$createAction(2, actionGroup);- p4 N: r2 i2 P) V- E Y% t7 `
2 O r1 a+ n% C7 Z4 }) c7 [
} catch (Exception e) {
: _2 h8 D- G! B e.printStackTrace(System.err);0 y6 Y" u2 ]( O1 K+ \ q( b
//System.out.println(e);+ e3 m) N3 U; A
System.exit(1);
1 a4 G `# v8 f. w) x }8 O# u; {- m, J$ {$ r; f8 P0 g
9 Q, p7 e: e" A$ E: U
- L; x0 l# Y& Q3 k. I! O- N" u! z
}8 j" F9 P# o, h; T' B# i
7 ~& P; o, e8 Y
private void swarmSetp() {2 H% @' e+ A1 q9 e8 K
list.addLast(new Agent(Id));' S% Q7 J' W0 f9 `8 I- Y: L/ ^' i
Id++;
. T q; c8 _0 q* F( v- s1 o }
2 |3 @0 f9 x% C# w) C4 }
3 w5 R ` B, E+ ]$ N+ b% U public Activity activateIn(Swarm context) {; l* g$ @9 B+ O5 T
super.activateIn(context);
! X4 a0 n' B0 Q schedule.activateIn(this);3 E$ E R) [ p: U, _! c
return getActivity();6 Q0 O( _4 \: @8 _# Q& h. Z$ T
}
8 L7 ^; J- {; d" }. |5 t
9 n& J" X) M) X C public static void main(String[] args) {
( n+ e W, t' E. D3 q Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);) l7 b: o7 t1 s: A( ~" F
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
3 y/ {$ H) W! F' F' M% H swarms.buildObjects();6 @0 V* m" O+ R7 U
swarms.buildActions();# f& E2 B( b+ p: c. T# Z: y
swarms.activateIn(null).run();9 j" @9 w3 n7 e; H2 h/ }! z
}
* f) q2 d5 T6 `, E0 e
% C" ^) K9 I; ~. u& Z( \9 W3 C- S8 ^} |
|