|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 / d3 y0 }5 W" w
6 l" [' l8 ~+ a& g" N. j8 d' A, Q本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! h7 V, k; F& S/ W
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 S9 D; {! [4 B s7 o, ]9 m5 G& X4 ]swarm.SignatureNotFoundException
2 n Q+ a6 c9 o# D9 ~- i at swarm.Selector.<init>(Selector.java:76)1 I9 y) `3 `7 o" G" k, J
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
g+ ?. O3 K- q m' n8 Z at ActionGroupDemo.main(ActionGroupDemo.java:67)
! [0 d! W- R$ t' L0 ^0 `% m9 l9 l" \& v/ l9 `$ |1 Z$ p
& t5 D) w! p$ k: [2 v# S7 G
import swarm.objectbase.SwarmImpl;
( ^( p2 Z& W2 y8 L# S, rimport swarm.objectbase.Swarm;
1 V/ b. R( ~# }7 O+ Iimport swarm.activity.ScheduleImpl;
9 G( T5 V! W6 S* E8 jimport swarm.activity.Activity;& e2 z# Z- G$ C. |" C
import swarm.activity.ActionGroupImpl;
3 C/ O3 S7 c0 g$ Oimport swarm.collections.ListImpl;
$ e+ b6 j; n7 Mimport swarm.defobj.Zone; 3 p8 c9 u2 x, w6 L
import swarm.Globals;
" B9 G4 q6 T$ c$ Dimport swarm.Selector;0 i8 `5 R6 H4 t" D. J, }- e# Y3 J
import swarm.activity.ActionGroup;
- A0 [6 S4 o* C% @0 C2 Jclass Agent {
% V+ ~. t X! c3 f- Y4 J7 k char id;, n$ m W' x' T1 u' \2 g. |
L3 B2 Q* T# D5 ?* c- e' d, D
Agent(char id) {; R3 u9 B+ U) b6 t9 D) i) F
this.id = id;
7 I2 l/ q" A+ T" w Z* U }
/ W9 H/ D/ z' F, e& Q8 a( q; _1 L
/ x- V$ j) r$ o5 [ public void agentStep() {( \# R9 N- D$ S" Y: h
System.out.println(id + ":" + Globals.env.getCurrentTime());
7 S' S. o+ k6 x0 U V0 K" F }
$ e7 H* C9 U8 ?2 T}
) y5 ^5 @ [* x$ P' x( |2 F" H
$ Z: V, S( }$ o* Q7 X, x& ^public class ActionGroupDemo extends SwarmImpl {
' l( J( k0 S% t ScheduleImpl schedule;; o9 j! F3 r: y/ F2 h0 T' j! H
ActionGroupImpl actionGroup;
% l+ e9 A o: P6 D. U ListImpl list;
3 w- Z9 L5 h$ ^: h1 Z/ e char Id = 'a';
: x/ R" E" n8 _' y9 {3 A r y+ f
) c. S7 s) b' O ActionGroupDemo(Zone aZone) {: x. D7 ?' l; R7 ` r* ` h
super(aZone);9 I7 P& m! a! Z0 }3 @& ]
list = new ListImpl(aZone);3 M* K- J/ Z6 v9 s3 E$ L$ o, e
swarmSetp();
+ q- H* m1 D! R t- @; e% ` actionGroup = new ActionGroupImpl(aZone);
: ^% L. ~9 O% `9 K9 q schedule = new ScheduleImpl(aZone);: L4 R5 m" Y- S+ x8 s5 }
try {9 B: M8 i/ k- Z V) x+ R2 @) q: X
Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ W) E$ | s( b5 _7 ] Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& m9 E' @5 L% O- f+ m1 D
7 [/ j# s3 J1 A( E( C actionGroup.createActionForEach$message(list, agentSel);
- m% G3 A2 t# a, W9 ~ actionGroup.createActionTo$message(this, swarmSel);
1 P# y( S0 n4 D* a5 ] schedule.at$createAction(0, actionGroup);
6 N* V5 ]/ `! g3 N# N8 @ schedule.at$createAction(1, actionGroup);
1 o! o u' i3 \! T3 J schedule.at$createAction(2, actionGroup);
$ F; `; D5 g4 K- ^/ _7 d6 P0 e" }) G
} catch (Exception e) {0 H4 k8 K/ R) j) m% y
e.printStackTrace(System.err);6 j- K: }# A7 r, o
//System.out.println(e);) a0 q1 E5 d) P% Z6 q% _
System.exit(1);
. G9 K% }. X) I2 |0 A }2 g+ h( M; q) P+ c
a1 W% [* N" P1 E) C9 V+ W
" v: G8 n0 ~2 ^4 l
}
/ _% `) ^5 q# J# w
" z7 m: [3 v9 l- L4 }) E7 |. k private void swarmSetp() {
7 H$ ~4 ~" C% ^. c list.addLast(new Agent(Id));# E' e6 \$ j C( }+ s' i+ j9 d
Id++;+ X, Q7 _! S# O
}5 x8 c9 T. N Q2 c1 K
/ {7 R& l4 e, ?# a public Activity activateIn(Swarm context) { a! F# v9 z7 R! w% C V' b' o
super.activateIn(context);
. Z0 g9 x7 c/ m" G schedule.activateIn(this);
' O5 f6 d. }. R& f& ^. P7 Q return getActivity();( \% R# \$ D: F- u* b
}
8 Z9 _3 p# I+ c, v+ y2 S
( E2 i& S* r7 ~" A public static void main(String[] args) {
* ]4 C- g% l/ N5 G* B Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
+ T$ o' l+ i( u# F# o Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
) R# Y9 F" P- \; ?6 e" t C swarms.buildObjects();1 Y5 E" ?9 s0 a- ^1 ?8 k' M
swarms.buildActions();
' [* O0 C9 w9 \( ?6 {( ~ swarms.activateIn(null).run();
: j& l) S, o7 t+ n: E }
! U& l7 z4 E w; p, D8 n% o/ X! ^6 U4 @: s' B* U! V
} |
|