|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% Z' J4 s. ]! l8 A, Y; G" J* Y8 m* R( P% X8 y% K9 w8 \3 N1 O
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 o X! U. V& U
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ V$ W' o3 x+ |% V
swarm.SignatureNotFoundException
! F8 h* U5 A9 ]4 \: E+ O at swarm.Selector.<init>(Selector.java:76)
/ N0 E6 ~7 |0 l' V at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
& U3 \2 p+ |7 C7 G' ` at ActionGroupDemo.main(ActionGroupDemo.java:67)) e$ n7 |, C. L) r
# j& H+ J1 p; e7 `- a, b
9 @" ]# z j3 z( |2 {* n- Y
import swarm.objectbase.SwarmImpl;' H# l- d$ x' O7 L1 ~- k
import swarm.objectbase.Swarm;* L4 y5 @' f8 @& O& g& ]' w
import swarm.activity.ScheduleImpl;8 t, C# ]4 }4 P9 l
import swarm.activity.Activity;
4 ], a) M1 O! ?; ^! Kimport swarm.activity.ActionGroupImpl;
4 k9 h5 I# C1 _% w' E- p3 `import swarm.collections.ListImpl;
9 f2 l# y( T" ], ?! ~import swarm.defobj.Zone;
2 B( Y! x$ p" Mimport swarm.Globals;" F) B4 a7 N4 m# ~1 ^" W: l
import swarm.Selector;0 I, r/ D9 p. V5 _. a
import swarm.activity.ActionGroup;
* Q/ G5 ~" g# {/ g- a/ xclass Agent {5 J. o: U/ Q9 ?$ m4 @
char id;. N, q, H0 z$ h" J. X
) z7 w" j5 \/ k$ o P4 Q Agent(char id) {
0 ^8 v2 j$ v1 H( Y: p this.id = id;3 d: Z1 r6 m; N
}
# W# M4 R7 |" F: a, x. C! v$ J- P% \" c2 G7 b) o
public void agentStep() {1 H- Z0 l* S9 ~$ T% c0 ~& l$ C! R
System.out.println(id + ":" + Globals.env.getCurrentTime());) \' P% }2 e" N6 q4 D$ d
}
5 `4 H. g6 M6 ]0 E' Z( k# Z6 M}
4 o2 S" V7 T) M6 u) X% y/ q. l1 A' k1 D9 }+ m) `
public class ActionGroupDemo extends SwarmImpl {/ s# |% g; G7 S; D0 ?9 F
ScheduleImpl schedule;
6 c& w2 k1 o6 @+ r/ s ActionGroupImpl actionGroup; t9 @" V7 H0 p$ r5 ?* p- l$ S
ListImpl list;
f0 @" b. `# C2 x char Id = 'a';
; ~4 ^- W3 ^# \2 D" d4 ~
6 f9 w" s& ?3 e ActionGroupDemo(Zone aZone) {# G. [7 c; ]3 r- K0 b4 d( }
super(aZone);- y% H6 S+ M% i
list = new ListImpl(aZone);9 P, c2 y# k; q" K& _
swarmSetp();2 n9 H9 V% Q( x5 |% d& R' ^* c
actionGroup = new ActionGroupImpl(aZone);( G6 t( u0 ^" x$ P) t7 j( [
schedule = new ScheduleImpl(aZone);
* E& L/ w! l* \' j# Q: ^0 n try {
" y/ `& q4 b, n4 C Selector agentSel = new Selector(Agent.class, "agentStep", false);/ }, p% ]/ N# i; y+ v" ]/ s8 w( M
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) K- W2 }3 z5 b. F
6 C7 x7 `& B" S0 r: M actionGroup.createActionForEach$message(list, agentSel);
. Z3 F! B: {7 h% o! Y actionGroup.createActionTo$message(this, swarmSel);7 s: {8 U4 d- ~3 H% f
schedule.at$createAction(0, actionGroup); u, I7 `% t6 \4 U* K- x
schedule.at$createAction(1, actionGroup);
6 q6 e9 _; N' A( _3 S' {& D: { schedule.at$createAction(2, actionGroup);
8 M2 E1 Q; ~2 ^2 ]
& V& t2 J* S$ ?) F4 i9 ] } catch (Exception e) {. C" q, S. F$ ^( c- u
e.printStackTrace(System.err);
" f( R7 h' d6 g! M //System.out.println(e);
& }6 ~; Q1 t$ S+ T5 E' l System.exit(1);: U- e# b4 L, ]- A
}
! N& ~8 b4 _9 B# c! O5 O# h f
) D* ~! T0 G; L; B) T+ Y1 E. q: t# T* c6 K2 h" `
}9 y2 V) x1 j( M( t3 n! @; M
& x7 j) f: Z2 n3 u& K+ u9 D private void swarmSetp() {
% x( x" V1 B. n/ N list.addLast(new Agent(Id));
! P1 h/ i' [4 Z0 |4 `: b Id++;
6 v: ~0 u, N H* C# U }
1 l% U4 s5 m+ ]5 `2 o) p
& A1 H; @, {6 J B& Q: K- A% k, W public Activity activateIn(Swarm context) {9 u& L! G$ z- _
super.activateIn(context);! H8 P k6 h* W" j
schedule.activateIn(this);( P- i( p6 p3 c0 {! s9 P) N, t
return getActivity();7 Q6 M+ \* W0 r
}
4 F/ |4 O' ~" T9 U5 `
7 ^9 h! N& y7 ?) n& N8 ]! Z/ N public static void main(String[] args) {
7 o/ v$ C" F4 U! x9 B5 l9 c/ L Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);7 k3 [3 b3 _# i- O0 G. l; ?
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' ^* q; c+ T% } swarms.buildObjects();
* C9 L5 T% m5 R swarms.buildActions();
) D) e6 P0 B1 U" a swarms.activateIn(null).run();
% E5 Z" M( {# e }
& S' H1 F$ @" a1 P6 Q: U" q8 e1 e6 N' p- ~2 w8 J
} |
|