|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
' K* P d1 x9 A8 P) C4 `1 ]) G! ~- i+ V( g$ R- ~( n
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update218 A6 t5 V( j+ S$ N( y: H
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
6 q X6 |/ F9 v% F9 \' |) X8 Hswarm.SignatureNotFoundException
. t/ A; H1 l W8 G at swarm.Selector.<init>(Selector.java:76)! ?8 [' t" s. ?
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 F- E+ O0 d. P6 }% C# ?5 P. e, O- P
at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 a* d% ]( ]2 b. N' U' q/ y8 U. F, K/ o, B
, t" K) E2 \( A8 K0 c4 ~
import swarm.objectbase.SwarmImpl;
8 z) R! |" V, D* a/ i4 kimport swarm.objectbase.Swarm;
# y; u8 @7 \1 l! m2 N& _import swarm.activity.ScheduleImpl;5 k. c# R( {+ Q; A+ P
import swarm.activity.Activity;
# R6 V6 r' }) G0 Eimport swarm.activity.ActionGroupImpl;& G) k3 X& t3 v' Z( |9 U
import swarm.collections.ListImpl;
. b1 w! ?+ e+ h" v! f3 Timport swarm.defobj.Zone;
% A! ]/ W, A. ^! H2 Fimport swarm.Globals;5 G0 u/ W ]4 H9 \$ g/ H
import swarm.Selector;
) t4 R5 @8 g9 s ?0 S7 Y3 G# Aimport swarm.activity.ActionGroup; 8 O3 ^" ]: s5 |
class Agent {
2 C6 M5 W# G4 b; o1 v3 x4 ]$ j char id;9 h& J. b. H1 k g4 Q4 n2 M# U$ I- V
$ u% N, y& h# p' }% ] Agent(char id) {% g$ C7 o3 g+ M6 n5 n$ U& |# \/ r' {
this.id = id;
7 _4 c8 L% u. m' c }
- a/ z/ _; g' D- ?7 t) g+ U5 Y7 @9 _+ D& m9 b
public void agentStep() {
+ c1 {, z! r& f. H8 X% E } System.out.println(id + ":" + Globals.env.getCurrentTime());
3 Y9 P8 g) X* N% X$ q- X4 e }
3 v( ?* Y& m; b7 \}
. e' u% V" F) x
1 g- j# E( f6 w$ s0 O2 Z/ Cpublic class ActionGroupDemo extends SwarmImpl {
* w5 |" @. B' C, U2 L; ], b ScheduleImpl schedule;. ^ Z- d: R, f0 J1 k& Z
ActionGroupImpl actionGroup;: b: N/ z! {; j' s+ K& g: f) L
ListImpl list;
" y$ x, d6 P: d: C: x; ? char Id = 'a';
1 y" A' @+ f2 l+ O
: R( E- `* `. r5 t4 {: u# S% P ActionGroupDemo(Zone aZone) {
& E2 _ k* g/ G% }1 y! ] super(aZone);
2 s# \; Y) _' u* b7 U0 z list = new ListImpl(aZone);
2 g1 b8 n$ ~1 L4 ?) j swarmSetp();
: o" Z' t6 V. u actionGroup = new ActionGroupImpl(aZone);4 G6 n6 j0 X+ L
schedule = new ScheduleImpl(aZone);
; J6 G, O+ U$ }+ q try {. `4 s* X5 _: ]2 z8 Y* K
Selector agentSel = new Selector(Agent.class, "agentStep", false);$ L q( u1 r3 _0 R3 E
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) Z$ Q) Z5 n. ? ) x4 @) G* p* f
actionGroup.createActionForEach$message(list, agentSel);
+ G. T% e9 r( l/ k8 f5 m" ~ actionGroup.createActionTo$message(this, swarmSel);
7 e$ |3 p) G$ \/ c. h schedule.at$createAction(0, actionGroup);
3 {! }3 T+ R8 h4 T" d7 A/ K schedule.at$createAction(1, actionGroup);6 G% E+ {% p6 F1 [/ u0 l. W. P
schedule.at$createAction(2, actionGroup);$ D1 `7 T* d) L7 J; w/ E
$ A h1 x5 w7 w; z
} catch (Exception e) {. k v- e9 {' Q
e.printStackTrace(System.err);
: h* {% q! ~5 A) v9 Y' m9 p5 P9 s0 J" A" J //System.out.println(e);
2 W5 O7 U+ I @7 | System.exit(1);
4 S1 [3 }4 W" \. U( j' \ }) J- L7 V+ H# a% i% ^8 ?, V$ T1 r
]. J# H* ~0 h7 o
0 J, d0 Q, g' }/ n! N }
) v1 ? _8 k/ w0 O: b, k- v! R4 u% \6 g f, L8 H# f4 w2 c6 x
private void swarmSetp() {
. _8 x/ R" X; _) L list.addLast(new Agent(Id));
0 ^4 Q; G5 i! I$ D) r u Id++;: e$ C3 z+ J1 Z- {8 s; |' T& O
}1 t$ Z4 G2 s' d/ o0 k, \, _
% p% Y0 Q! {1 W# B. d3 Z. }) o
public Activity activateIn(Swarm context) {
" F5 E q- D( P3 R7 o; r% \ super.activateIn(context);! c% p9 K2 _: f1 n% ~9 ]+ q( I! F% b
schedule.activateIn(this);- h6 j3 M4 ?3 q1 i2 H
return getActivity();
' g0 X& g7 m* w- B7 W# k }# H2 ^# d& c; \" V2 B ]
" i7 i# ~# \* h: t- j public static void main(String[] args) {
/ S5 S1 [' k0 y( X Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
* k& I* U% @+ Z- c3 [( O Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; N- m' p1 L$ h' d3 Q& I% h swarms.buildObjects();% V7 q& ^+ _) T- s! [% U
swarms.buildActions();
5 a A$ q( o& c7 E/ A7 p+ X M swarms.activateIn(null).run();
/ d% q5 P$ [2 f8 m }' `8 ?. W2 z: G6 p* @
6 w, `2 J0 D2 n4 q. |
} |
|