|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
5 S& @; A- [3 c
0 H$ h! g. @' b8 l本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
1 F- X' c* ~7 ]3 n7 R h1 s, {以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
. W* _+ ~/ v8 ]) R. ]1 M. X4 Sswarm.SignatureNotFoundException. w6 ^) m: i( z% z& w2 ^
at swarm.Selector.<init>(Selector.java:76)
6 u0 U7 ^5 p; f, R% u. @( D at ActionGroupDemo.<init>(ActionGroupDemo.java:37)/ g# T8 ]; z; s+ y; n/ ?3 m1 [) |
at ActionGroupDemo.main(ActionGroupDemo.java:67)
y. d5 s" R* |+ s6 c3 }# i2 E: e% j
. F/ Y. j# i( P4 p0 w" V, K& [7 P8 s( `6 o f% A* k
import swarm.objectbase.SwarmImpl;4 P& _9 n/ b/ H( |2 Z+ c
import swarm.objectbase.Swarm;
1 e) H) Y' t2 ` Y( |import swarm.activity.ScheduleImpl;! a R- X8 Q4 q! w$ f6 g
import swarm.activity.Activity;
% n/ G& ^" g" R X4 ~3 {( wimport swarm.activity.ActionGroupImpl;6 `9 G& `! ?5 X
import swarm.collections.ListImpl;
" J8 z9 d. r/ z1 T* f/ o2 [import swarm.defobj.Zone;
" I- S Q' ~7 t& z. t5 Timport swarm.Globals;! S' |5 F: e4 a
import swarm.Selector;
) B3 S j& w+ \4 g' t& eimport swarm.activity.ActionGroup; A6 A" x& o! z) }2 J
class Agent {2 t1 d# T7 R' I$ H
char id;
1 w9 B% Z' c% @
8 q5 V4 @: h( p, K" ?2 L5 S Agent(char id) {
" ~% n8 N8 [5 ^ this.id = id;( K; q9 ~5 z% r* ~- b
}
" E3 \% p! X0 q; z: F$ L
2 w- j E3 f5 v# w public void agentStep() {6 P; F0 \. n2 R3 V, t7 |/ m+ b
System.out.println(id + ":" + Globals.env.getCurrentTime());7 c5 r9 b* z5 t
}9 x* k" x; p! x7 W; y
}
- t& }, G# \& n( p5 P7 [) s& d/ e( w3 s1 S, k' m7 A
public class ActionGroupDemo extends SwarmImpl {; H5 q8 ^: Y# r5 @* N
ScheduleImpl schedule;* i- t& I F( X. D+ }5 U7 F. ^
ActionGroupImpl actionGroup;
1 j1 u% n# | C9 n ListImpl list;' H: I0 z% S& z0 B4 _3 w
char Id = 'a';6 H3 t3 A! S0 L4 p7 a1 O
# ~) ~, X8 W; M6 r' r ActionGroupDemo(Zone aZone) {
4 l- x* R4 r2 }" M! M9 a6 c+ H# C super(aZone);
0 B! e8 @. g+ I$ v; K' ]& {' b list = new ListImpl(aZone);
8 Y& |+ w8 Q9 ` swarmSetp();' }) ]5 g/ B4 n7 K' @# }+ X Y
actionGroup = new ActionGroupImpl(aZone);
( p' |" K- m" ? schedule = new ScheduleImpl(aZone);
' C9 D, Z) K0 `! k2 Z7 v6 r try {9 k' O- v/ F `: p/ c! C
Selector agentSel = new Selector(Agent.class, "agentStep", false);
# Q( s: j6 {: F. s6 M( K Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
- |" M- r: r w
/ ~" N3 R F5 B3 \- l# n* [) B actionGroup.createActionForEach$message(list, agentSel);& \- z; I5 Z3 }3 L. \
actionGroup.createActionTo$message(this, swarmSel);: p, M: \8 t3 ?2 c6 c& U: f: e+ \
schedule.at$createAction(0, actionGroup);! P0 s# P: |) E% Z& E
schedule.at$createAction(1, actionGroup);
, @/ O i2 q5 X& X7 l& W G3 B& L schedule.at$createAction(2, actionGroup);: l' W! h& `6 V; V) v8 T! X2 g
) w% y! @( }# _" L1 L: E
} catch (Exception e) {: Z2 ]8 w1 z# v5 c# Y
e.printStackTrace(System.err);0 @; ~/ z0 t, b
//System.out.println(e);. X* T( V8 s) N' c$ V4 j( R
System.exit(1);1 u1 F) e0 [4 j, c7 v a: x
}4 j7 P* j( C, w- {3 {. _% x0 o
0 W( t% m8 {! w- {3 ^6 Q9 n% r$ K2 j3 B& @ G1 t
}) i* |2 n; `4 D" J+ D! |3 g5 N
% R. A) x H+ b& x8 n( H% ]* `
private void swarmSetp() {! Q3 P0 N3 i7 {
list.addLast(new Agent(Id));
( M# b) ]& v. w P3 b" L Id++;% { {; [0 O% P/ d: d5 X0 f K
}
! Q! p" Y8 J+ {. k7 c; y# |4 P; w2 U' c7 S8 E/ |3 n8 `2 [
public Activity activateIn(Swarm context) {
5 H/ L: T4 S0 U' Q2 q0 C super.activateIn(context);
2 X4 Q% m6 v' A4 U, H$ H schedule.activateIn(this);
- J8 r0 v6 [& G/ e8 J, s/ S return getActivity();
( n u% ^, G" w. g9 m, L }
2 {1 e4 e* d7 V6 x0 Y
6 i" ]% C3 R" P" a; y public static void main(String[] args) {( _! H' l$ d/ G$ w8 J; X Q0 y3 W
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 l/ F0 F3 l3 d" t% q Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 t) {1 j, P( x& C) G8 a; G
swarms.buildObjects();7 {# ~4 H; Q) U$ |* Q8 J& L
swarms.buildActions();6 z1 {6 i/ \1 h8 `
swarms.activateIn(null).run();' e7 L9 a, _( L' n: @
}
& S+ ^ \8 Y2 ]/ c* U! O. x4 {* c0 u7 Q9 R
} |
|