|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 }; i8 w# x8 A6 [+ c6 I
- W; h; s# C$ _( s
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) L% ~' c" s- Y' r8 I* v
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
4 ~ o% _* l% i2 cswarm.SignatureNotFoundException0 P: J; \5 f1 Z5 ?, u; i X
at swarm.Selector.<init>(Selector.java:76)6 T; d2 j- r* \# R( ?6 o5 b
at ActionGroupDemo.<init>(ActionGroupDemo.java:37); H6 }6 ?! |2 Q7 s) Y
at ActionGroupDemo.main(ActionGroupDemo.java:67): b) `1 _% Q6 V8 p' H3 Q' u" |" ?
! a, _9 C2 |6 ?4 S- |( T
+ e" c* E: i6 nimport swarm.objectbase.SwarmImpl;5 }8 m* `+ d g+ q f$ T* f; R
import swarm.objectbase.Swarm;
1 k: x/ ~* U, A; o1 zimport swarm.activity.ScheduleImpl;+ h8 V! n, B" e: _
import swarm.activity.Activity;% H4 g0 R6 S0 X$ K; q
import swarm.activity.ActionGroupImpl;: z/ x6 t6 j) H8 s& @5 K
import swarm.collections.ListImpl;! o3 t0 i7 j- }! \6 `6 v U! h& J
import swarm.defobj.Zone;
8 I$ q0 B. M- C6 k% A5 m) _4 Simport swarm.Globals;5 j% @) }' q8 w
import swarm.Selector;
, E+ Q; y" }! Z9 v* q5 h9 `/ mimport swarm.activity.ActionGroup; 0 [- Y+ w5 T6 j9 A- \. n- ~
class Agent {
' z8 L8 C1 f3 N+ l4 A char id;! M/ M/ J& A/ U2 e- O
7 r, y+ \) ^% O; M
Agent(char id) {
2 J6 [8 R. } O8 t; X this.id = id;
( n8 ~1 h& e) m! n. W }
$ I* Q6 H& q' [; P9 f+ W3 ?, r7 h! R3 }, ^+ _, s$ d
public void agentStep() {- G6 S1 y0 r. y9 {& M! w
System.out.println(id + ":" + Globals.env.getCurrentTime());6 i2 O8 V3 f1 d L
}
# Q3 v- H8 C1 f" |' S3 F- b} t" p) Q, \7 V% ?0 u) r
& C* n" J% p: ], ^ A0 U7 Y
public class ActionGroupDemo extends SwarmImpl {0 d9 o3 _7 e6 s0 H7 }) B3 I9 z
ScheduleImpl schedule;
% R2 P4 s7 z$ e2 R j# X ActionGroupImpl actionGroup; @2 K4 s0 C; l9 m2 x
ListImpl list;4 _! O, V) I, T; h/ x
char Id = 'a';
- m0 x8 n4 d0 [7 I" h3 {3 j2 ~5 E% b: n# Z4 t6 ~$ F/ l8 z
ActionGroupDemo(Zone aZone) {
' R1 V+ r- ~ @* D super(aZone);4 ~- `" k6 l, ]' u; p# k5 F$ h
list = new ListImpl(aZone);$ v0 z* B% N0 |+ Y: }! N# u
swarmSetp();
g! N `# F2 i! k+ r2 ^ actionGroup = new ActionGroupImpl(aZone);1 ]; j! Y1 o8 d7 v. ?2 {0 d
schedule = new ScheduleImpl(aZone);
8 k" s# S6 y) @! d6 g6 O' @ try {
- v) c% f$ I, L; Z3 }0 Q5 X Selector agentSel = new Selector(Agent.class, "agentStep", false);( `; Z' y9 ?: U9 w
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ W) Y" a6 j& W9 ]$ ]
# }! ^5 x$ e" W( W y3 B; G4 x actionGroup.createActionForEach$message(list, agentSel);; w! T! M( x& J) U
actionGroup.createActionTo$message(this, swarmSel);) `" Y4 x& S. t& g7 [( r0 D
schedule.at$createAction(0, actionGroup);
! M0 r% s: `" N0 ?' s schedule.at$createAction(1, actionGroup);
* f2 K3 `5 X" i2 q6 g1 W0 e schedule.at$createAction(2, actionGroup);
. ?+ |; o* J8 u
* i$ r6 I9 j. M$ e8 ?. ` } catch (Exception e) {2 @! c& k6 ^7 K$ q+ C
e.printStackTrace(System.err);/ D1 x( z6 ?" \* R% h0 ~& Z n
//System.out.println(e);
& t! s8 u/ c+ s/ l x, M System.exit(1);
8 }! O# a/ g) D) G r1 u% r6 H. B }
7 z1 o" n: \* T n7 d/ v* Q* X4 b$ V
3 ?5 Z0 r" Y- s5 ]& c8 K }
' N1 Q+ Z( r; P T* q' ^: t# ~8 p; i1 i. j
private void swarmSetp() {
$ G* ~' d3 F+ O list.addLast(new Agent(Id)); B& m- D3 _* N
Id++;
5 \! I4 Z4 X9 C+ p/ G& | }" z4 a, |1 l: ^4 a% H, A
$ p# G3 `7 P. ^! l d public Activity activateIn(Swarm context) {
1 L D0 s( t4 c5 P& \ super.activateIn(context);. D: u: r0 X" s; _) y R
schedule.activateIn(this);9 ~/ T( I- }8 z: o4 K
return getActivity();4 }' g6 c1 w* h6 y( N" |% u
}2 L4 z0 S3 {, {/ A
" y u# n+ O/ T, i! g public static void main(String[] args) {
: S- l1 ^; m9 }0 o8 v0 Q1 h" S Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
# Q3 Z9 W3 q9 h; q8 U" s Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);- k0 ~* F9 s# M% @5 p) p3 S2 \
swarms.buildObjects();
. z- K( Y) V9 a ^5 a; b- E swarms.buildActions();
E4 I" o4 y6 h1 e" ~& ^4 } swarms.activateIn(null).run();
# a y4 x9 M& S8 G3 N4 Z ~ }+ ~" u% z; r) T$ @% p- v
! }% T3 O' ?! m' t' j
} |
|