|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
@# t; z$ k7 v* A( I5 v' Z; A9 i% h% F. ]/ J4 C# v
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" C$ |( m! H1 O4 N- _2 J以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.; Y& c- F6 `" B) l
swarm.SignatureNotFoundException6 O$ a1 ?* G7 q
at swarm.Selector.<init>(Selector.java:76)2 k) B4 A8 L; ` X) C5 d. [% S
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)7 t& _/ h1 Y1 V
at ActionGroupDemo.main(ActionGroupDemo.java:67)7 F; M. h7 y/ O/ L. I: J
% Q s5 o, W2 E& y' A" c" u$ {4 m8 |% c
import swarm.objectbase.SwarmImpl;2 I. D1 [3 }" W! F- k
import swarm.objectbase.Swarm;8 y- {: Q' g# Y7 ?! a1 _6 @
import swarm.activity.ScheduleImpl;
8 k* C ~) m, E7 W+ H5 Zimport swarm.activity.Activity;0 o" O" B! e! Q0 @
import swarm.activity.ActionGroupImpl;6 b0 {" g* q9 o0 c6 [# T" K, R& H
import swarm.collections.ListImpl;. P3 m8 b$ j2 m( Y' Y
import swarm.defobj.Zone;
" S1 K; _" ^/ Timport swarm.Globals;7 J& c5 r# x# u- O' q4 b
import swarm.Selector; [; ^! o+ x' Z. m8 D" z
import swarm.activity.ActionGroup;
' M# L5 N: O' w3 ]class Agent {
8 ?) d/ G* m" ?3 c N char id;
* j2 |( y' M; q3 U. [5 d" I# T8 [: S4 r! l+ N; F4 L
Agent(char id) {
# u/ G* O' U* ?2 [# J3 ~; L this.id = id;9 M4 N2 b: g7 ?2 T
}
$ a& Y( K+ u( S- F0 t% L1 h) O4 D
1 c% u0 ], g U$ T) M; u public void agentStep() {* ^& X- s2 d& k7 K1 T) l' X
System.out.println(id + ":" + Globals.env.getCurrentTime());
3 p [: _! f8 }/ a }+ g3 P& I) L( T7 _/ z. ]$ W
}3 e& _* c9 u2 K, t
2 T+ |8 n9 K: g6 i, Ypublic class ActionGroupDemo extends SwarmImpl {
9 Q$ S w1 @$ \7 r4 W+ ^ ScheduleImpl schedule;7 H/ I C2 J0 N7 f
ActionGroupImpl actionGroup;
/ b8 e! ]/ Q& x" ]/ ^# Q+ j" Z ListImpl list;
7 W, e7 k+ y0 X" Z char Id = 'a';+ D+ S) Z! r# P8 T7 k3 e1 U
1 w& t( c/ v' }5 x `: D8 I2 _
ActionGroupDemo(Zone aZone) {$ E: o4 \9 r7 Z4 u H
super(aZone);
& ~8 k; F1 n& B, P: k list = new ListImpl(aZone);. Z2 w* I4 z. t0 n: P6 y* ]5 l
swarmSetp();
6 O! N1 s( d. F* ^& C; R9 h9 {: ]" V actionGroup = new ActionGroupImpl(aZone);
; L, I2 L, w! `) I) {8 t$ x% D" G schedule = new ScheduleImpl(aZone); u0 f$ z2 l- S% h6 K/ t! c% R# h
try {. `. }: X6 W% t
Selector agentSel = new Selector(Agent.class, "agentStep", false);
% q7 p$ U( |! z9 L2 n, L Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) W% {2 r7 ]1 R2 j8 l: B* @+ S 0 h1 { P: b5 ~) Y$ l
actionGroup.createActionForEach$message(list, agentSel);- O2 b8 K1 i% ^! x) t* x& D0 Z
actionGroup.createActionTo$message(this, swarmSel);
) P! z0 k8 A; o& Y$ L& A3 ] schedule.at$createAction(0, actionGroup);
! s4 @- `$ ~9 p, {# k schedule.at$createAction(1, actionGroup);7 `( V* W& B H4 j
schedule.at$createAction(2, actionGroup);: Z" x: G8 C$ f7 I
7 y* l" ?1 y; N8 D: Q5 t+ F
} catch (Exception e) {
" y1 C+ f2 b, R% ]9 c e.printStackTrace(System.err);. `8 P; \) ~% ]& X1 U" O' @' w8 L
//System.out.println(e);, g2 r1 T7 B" G' a; f+ z7 ?) N
System.exit(1);
1 N& a G- I3 y7 c# X/ f0 Q3 ` }
. _! o3 v5 }" r) }- _$ B3 ?. }$ `9 L8 A5 ^( d
, ^) u0 B* m3 y6 B! V! a4 k8 |" B
}6 Y: U$ B* B: C; B0 t
) w) Y& T9 V' ^/ G$ Y( Y
private void swarmSetp() {: A, B6 X% n8 L' n9 d
list.addLast(new Agent(Id));9 w6 G8 m/ d6 ~) I" ^
Id++;% L/ I. W/ T% M1 M1 s/ r2 K9 k
}" V3 d F+ x& W9 w! |, C' D" f
) ~/ }2 s+ k( t. Q
public Activity activateIn(Swarm context) {
3 s3 `5 h- Y, R; @ super.activateIn(context);3 \$ _( q- L$ @) M7 `" X, T
schedule.activateIn(this); Y: L" l# `+ l3 E* N* h
return getActivity();
" e0 s9 p k2 J }- H3 r: G& n) s
6 {8 ?2 y/ S$ @ j! w
public static void main(String[] args) {4 Y: B/ D. l( H( l1 m$ L) l
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);# i% W) O0 z u. t t; b
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);" I: m+ B! m- f) R C" c% e
swarms.buildObjects();
+ t Y, y" I7 c' n C3 H/ ` swarms.buildActions();
* }% i3 U4 B* a# _( o1 T1 K! T swarms.activateIn(null).run();# \: `% _8 U9 @& A1 e0 n
}6 a2 L5 G1 w4 I- k. H) n8 [
9 k) a$ { P5 O% X `( I g& ^% U) ~} |
|