|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; a; N: Q6 y0 s$ y U/ q8 I& g! o& C0 }5 Z V9 _0 w% M
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update212 d! x2 @; U& W9 j: M6 X& F9 j
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' @# l, w& h1 q9 v i6 }2 E+ t! \
swarm.SignatureNotFoundException. C7 d `: ?; }' B, w# S
at swarm.Selector.<init>(Selector.java:76)% v9 U& R8 D8 U- O1 \! e5 a: o8 y% V
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
% k5 B" z ~. d! N at ActionGroupDemo.main(ActionGroupDemo.java:67)
0 ]3 o+ W! E* A# C, F; B4 a# k0 K7 s* L1 Y# k- J
9 Q; r) a l( C1 q, n
import swarm.objectbase.SwarmImpl;
. ]0 N, x& G1 L. X9 b* [: t3 jimport swarm.objectbase.Swarm;' k, o7 m' I' _7 L
import swarm.activity.ScheduleImpl;
$ k3 y3 H! w: v7 u: ?import swarm.activity.Activity;
5 n7 a: S. t1 c2 @7 C; Fimport swarm.activity.ActionGroupImpl;
( [7 i; ]* f1 j6 eimport swarm.collections.ListImpl;. r( l2 `1 Z1 a9 H' N' c) v1 f8 s
import swarm.defobj.Zone; ! F$ N5 Y6 j. Y5 ~/ s
import swarm.Globals;% n; X+ _. V$ E+ k- B3 x$ {/ T& ~/ |
import swarm.Selector;
% U( p, R" g; _4 S) J8 x( c/ E8 Bimport swarm.activity.ActionGroup; - n- s4 @5 A0 V% T& `
class Agent {7 m0 {/ k4 A5 g/ m. ]' V0 E
char id;, Z G3 i/ f% M, U3 u+ @& D$ _
- `/ ?6 n, K4 j4 n7 p; X( y" v* q- v% e! S
Agent(char id) {
8 w/ R& o7 o# W) Q+ G& ~0 } this.id = id;
# m- @5 T+ f* s7 J& e0 N }
# u; `% W: ^3 o" r0 l
* j1 U# L* ?2 ~; ?- I( a% _! m public void agentStep() {
3 g) j+ ~, |3 b& y3 n System.out.println(id + ":" + Globals.env.getCurrentTime());2 z9 Z$ B6 d3 }' W( j/ q
}
+ ]5 O2 Y' u U0 \7 |# X}
6 l3 M2 ^+ i+ @
* J1 T; A C; j5 h6 e# r! Ppublic class ActionGroupDemo extends SwarmImpl {- h. V; K; F: N7 D( w( D7 s
ScheduleImpl schedule;
* g5 ~! y! F7 D$ q) z ActionGroupImpl actionGroup;- \ T/ B9 |% v
ListImpl list;
3 U" g# } j& X$ U1 L* ` char Id = 'a';4 S0 E' I* ]5 H$ P
& a2 ~: M! q9 H
ActionGroupDemo(Zone aZone) {4 ?; k8 ^% \4 k5 m/ `. U r3 w: w
super(aZone);& O& [% q. h# X- n5 m! c) E
list = new ListImpl(aZone);0 s$ @3 p0 f' t; D ^
swarmSetp();
+ }' h' w0 r% |5 n6 p actionGroup = new ActionGroupImpl(aZone);9 ^7 ~" V% S. [" I3 [- D* D
schedule = new ScheduleImpl(aZone);
5 Q: D K) [. Q/ ]: p try {4 h2 ]0 w2 v+ `3 l
Selector agentSel = new Selector(Agent.class, "agentStep", false);) V( Z$ B8 P# K
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ A2 T4 R! z" i9 r0 ^! K
& i6 Y/ ] N- M- L; b actionGroup.createActionForEach$message(list, agentSel);& B$ N8 y8 W8 h) _
actionGroup.createActionTo$message(this, swarmSel); ]" U* b7 N, U/ ^
schedule.at$createAction(0, actionGroup);+ \' l# w8 v0 X* K
schedule.at$createAction(1, actionGroup);+ K8 c+ b0 z" W
schedule.at$createAction(2, actionGroup);# C0 P* ]0 m# ]6 `( f9 N
0 X( \2 W, ~- K: I; d
} catch (Exception e) {4 M: ~5 j9 B2 N/ s) z' L( _
e.printStackTrace(System.err);
7 ~$ L* U4 k. C8 r3 n; F: m //System.out.println(e);- y8 V/ F/ ]* ?+ u9 Q
System.exit(1); a/ L$ E) i$ k4 w2 {* o4 w
}# n' r; C7 x! Z2 Y* [7 b
; Z) ?; y7 j0 Y6 ]
1 R/ Q% P( D2 l1 t) |/ t5 c }% f/ R" b A+ U" j
8 z L& x3 `& j
private void swarmSetp() {
* u" M* s( a, x9 o list.addLast(new Agent(Id));
, O' N$ C( m" _5 ]6 d- y Id++;: c# I. @2 \% S, m9 a2 N0 R7 u
}* P1 Z4 T" |7 A
! z# k6 \; F) ~7 s; ^- B public Activity activateIn(Swarm context) {6 y* t* I C+ [" r9 |, w v, p3 U' g
super.activateIn(context);
+ v* q8 a. D0 `! o4 J schedule.activateIn(this);. I$ l) ~1 u7 k! W. f$ F9 a" q8 o
return getActivity();
: i d: i- V0 R/ U4 N6 {( X }0 D$ ]3 I: d) }3 S1 ~' l$ |
" J" l* V, ~ Q0 Y* p; u b& Z4 V
public static void main(String[] args) {1 y. V0 E6 ~- u
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
5 H: g" Q. t/ i6 o/ j: @ Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% U- _0 Y A/ J2 J' F/ P. r
swarms.buildObjects();
2 w2 z! i8 c C( _* C swarms.buildActions();
$ n9 q. m, {3 [% Z. E, z swarms.activateIn(null).run();& X0 B$ R" h5 x4 F4 A. i! D3 ^; x
}' I8 `" x8 W# T
' B& t" Z: n0 ~. G0 U
} |
|