|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 4 e8 R3 i- s1 b
2 w( x( r2 F; u7 B% c) v
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
1 h+ O4 D, S( ?$ f% I8 ^以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
* d' O2 X; {% s5 ~. i% d$ g2 q& Z1 Iswarm.SignatureNotFoundException
: x. x& J2 @+ L6 ?9 | at swarm.Selector.<init>(Selector.java:76)
2 Y% @. D- }' s _3 f at ActionGroupDemo.<init>(ActionGroupDemo.java:37); o% m) b6 j1 A0 X# O6 p/ f
at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 C( n( A o, U/ k! h, M' G% [& C: U% ?: p$ a1 V2 N
# g, \+ V+ M; Q3 G+ h. L j6 I: b0 c
import swarm.objectbase.SwarmImpl;
# l: X- V1 z) s. l; u& o2 wimport swarm.objectbase.Swarm;
2 v3 s+ r. @4 E+ ~- z. F; Jimport swarm.activity.ScheduleImpl;# W2 _$ R D6 A2 p c: n8 I
import swarm.activity.Activity;
( M/ b% o& v2 ]3 s4 E1 yimport swarm.activity.ActionGroupImpl;6 h% f7 @. F8 r! a
import swarm.collections.ListImpl;9 h1 I4 ? M) _3 Z
import swarm.defobj.Zone; ( L5 {! E- {- k
import swarm.Globals;! }/ ?# i/ u, U, q& r, ]6 m
import swarm.Selector;( E$ I; {8 m# |2 M4 z
import swarm.activity.ActionGroup; 4 Z6 ~% Y3 A' E5 b& U1 y/ m
class Agent {- E. D% A$ M* J# v) U/ s
char id;
, v" [- S3 n: Q( W$ ]( X! A: `/ N( D) J8 d- N: V! J, C
Agent(char id) {
0 j1 r+ g% W* `; B% T E this.id = id;3 f x6 d. x7 r j3 L a
}
) u v9 I1 L/ P8 i4 Y( |4 [
- a+ y; S, h6 x" y J% | public void agentStep() {- H$ d$ M) z8 q7 p
System.out.println(id + ":" + Globals.env.getCurrentTime());& j- I9 n, p$ m$ R# c6 S$ v5 F* S
}
6 ?" Q; j7 a) @2 W9 H Y' d8 v}1 B& N3 u( D/ n5 D# r! o
& q# Q7 j/ y+ V3 Y
public class ActionGroupDemo extends SwarmImpl {
6 N* t L1 |% i3 q( m! K2 f ScheduleImpl schedule;7 N9 Y6 e/ D5 r5 T5 D
ActionGroupImpl actionGroup;
$ \9 X! B+ Y2 ?% |/ s ListImpl list;4 a; \9 h& `* x M( a
char Id = 'a';
1 M: s/ @8 I6 g" X% r+ l" B* R
( d& ~; [1 g- w* K8 k* w ActionGroupDemo(Zone aZone) {
@ @3 t' W% U- e- t super(aZone);8 t$ S# l$ W* K- ]/ C
list = new ListImpl(aZone);: p# g1 i) n" x
swarmSetp();! I" N& B# r k5 R5 g; D/ Y
actionGroup = new ActionGroupImpl(aZone); R9 [" P4 F* G$ n' j2 Y Q
schedule = new ScheduleImpl(aZone);9 N: Z. `7 d+ @- Y# h1 f1 \
try {
! [: S& Q2 F8 }+ C/ n6 l Selector agentSel = new Selector(Agent.class, "agentStep", false);
( _3 R `* @( Q- C8 p Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行6 j3 W! J) G1 @7 `7 ?5 D
( g$ C7 {- A7 g, o, D actionGroup.createActionForEach$message(list, agentSel);; m& ~& I( |9 k4 X' T
actionGroup.createActionTo$message(this, swarmSel);
0 W$ r! p2 i) E7 ~" x: U! p schedule.at$createAction(0, actionGroup);8 q3 x: X( ?9 V8 n0 ^
schedule.at$createAction(1, actionGroup);
1 p/ @5 A8 K$ I: u% R1 D schedule.at$createAction(2, actionGroup);
% g+ p9 h& b' u* F7 ^$ O9 x+ H+ {& a6 t5 v/ \: g- p
} catch (Exception e) {
, \/ w2 O, c' l e.printStackTrace(System.err);
: ?9 u0 w6 |, x7 D/ ]1 X+ ~; I* g y //System.out.println(e);( |7 h5 Z# a. k8 Z( g# B+ ]/ r
System.exit(1);5 L* V9 `! Z1 _' ]' Q- q8 p1 [( P
}
# @( U8 D+ T5 W: h+ w8 G" Z6 g0 A, Z, V
& V( {/ f0 z" |: F( Z/ w# D
}0 @3 h. o& f0 h; X+ k: B
2 S; q. M% b" W: s5 V8 Z private void swarmSetp() {
# X- Q. b, d; K% P' L list.addLast(new Agent(Id));
# m3 F* v1 E4 O- p- y Id++;
5 p- `# o8 L/ f6 R( H& |: j. g }
8 F |# k9 S+ Y7 s+ \1 U4 z; Y* [0 n e& B- H
public Activity activateIn(Swarm context) {+ {/ @$ Q2 _" B' y8 e( Y6 g
super.activateIn(context);9 \6 w) d0 X' M/ L# Q
schedule.activateIn(this);
s9 L# M6 k* n& f# I$ q return getActivity();
+ _8 n9 A: b) f& K- [ }
% A+ Q- n# i4 ~
. p9 E4 A% i* _9 X4 q3 J public static void main(String[] args) {
3 y: i2 }( ^( D6 T6 f3 j a2 f$ Y Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
# L3 a3 [1 _' T. e& H) C+ ^$ z Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, y2 @6 O2 n% y9 \+ M b# ^ swarms.buildObjects(); J, Q% l( I5 H; w
swarms.buildActions();
( V- p) ]* K: q3 _$ Z swarms.activateIn(null).run();
! Q4 K- z3 R6 D$ s }) `1 K9 n* I4 }0 R5 J) W, ]
- A$ S/ e" z# T1 m} |
|