|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
, }9 G# s, B7 o: z& [+ ]
! @3 Z0 K; ?: j! e8 \- C本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; J9 G6 Z5 O. T8 m' j; W5 W
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." F' z" {" k* F. R2 Q- a
swarm.SignatureNotFoundException" S2 ?2 t. y% j$ A; T
at swarm.Selector.<init>(Selector.java:76)
: A. }( {2 D* X7 J at ActionGroupDemo.<init>(ActionGroupDemo.java:37)# ~% u, ^$ r0 d5 ^. G, m5 h
at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 z+ H' j9 B- o& T1 r, C" S+ z
* X/ \' N5 F Y* P4 A2 X8 R" g8 n# R7 v
# g B; q5 X; L- m+ m0 y. Zimport swarm.objectbase.SwarmImpl;* ?1 k$ j+ W3 j: B3 C$ a
import swarm.objectbase.Swarm;2 s) ^! @+ n9 t6 P8 ^5 z$ {: N/ |
import swarm.activity.ScheduleImpl;9 K, {; s) B( ~( V0 l" {# F
import swarm.activity.Activity;) ]" u7 a# r9 d% E" E" ~% i9 W
import swarm.activity.ActionGroupImpl;; z$ j, Y3 R! N! N* ~' V! R
import swarm.collections.ListImpl;+ `3 f5 ^( G4 T: g' A
import swarm.defobj.Zone;
Y2 V" t+ R- j( M5 ?: }* zimport swarm.Globals;, a; x: j4 k" x, L" n# F0 I |
import swarm.Selector;
/ N1 ?4 i8 f% @' nimport swarm.activity.ActionGroup;
6 y) d: q5 l" `+ v9 q: p: aclass Agent {, N( z* L6 M9 ~/ ^
char id;+ V* H {; u `" x2 _
- T! p* g& O/ b/ k# }) P! r
Agent(char id) {
8 P; Y* ?/ b% J# w' F" I: V$ Z7 c this.id = id;
* d: i/ P4 ^: ]5 ^. f }
5 S+ @. c8 T, n/ x( B
0 v' m9 s. r& Q+ B1 `4 N public void agentStep() {5 i$ b" C! t- K
System.out.println(id + ":" + Globals.env.getCurrentTime()); ]! e8 k! c3 g" M+ g
}6 v7 [1 L, l! S- I8 B
}
9 M) \3 }) @% v/ m6 x* V8 }
" c- k1 J4 T* H4 Spublic class ActionGroupDemo extends SwarmImpl { c4 i7 ~# Q! Q' S
ScheduleImpl schedule;: C" Z* W) [* O& [: p
ActionGroupImpl actionGroup;
/ i6 L/ n u* g% r* _. w ListImpl list;
+ z/ U3 H7 j+ n8 E& q0 ^1 R* a char Id = 'a';
% D) x- W1 J% Q& G8 q
a* M, X. U. a# V7 S* e/ `1 `* n# Z ActionGroupDemo(Zone aZone) {
; V; L3 K# C3 H" r1 P# P super(aZone);# c. ]( c* X, N% @7 f( S% f
list = new ListImpl(aZone);
$ N. B9 ?2 o) D1 t, l+ N: j swarmSetp();5 e1 N) m0 S" X% I. {2 w# _, R8 K
actionGroup = new ActionGroupImpl(aZone);; ?0 ^; s4 d# n! C- w& p9 Q+ U+ |
schedule = new ScheduleImpl(aZone);
+ q0 G$ r" w1 n) [) \ try {+ U+ C+ K2 S0 l7 a# m/ [
Selector agentSel = new Selector(Agent.class, "agentStep", false);% p9 L) `* L5 X
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行( B4 x# \& C; Q$ R: C. u* [
9 n' j7 P! M6 D# U, o) d$ w8 j h actionGroup.createActionForEach$message(list, agentSel);1 C/ w. k" h8 U% Q9 {
actionGroup.createActionTo$message(this, swarmSel);
) p& q2 B X$ M" V( B k" c schedule.at$createAction(0, actionGroup);
) c7 f0 E; k8 H' W, ^. ~ Y schedule.at$createAction(1, actionGroup);
8 i: b+ E* Y- x schedule.at$createAction(2, actionGroup);" s. e" l* y: r: l# W
" N$ I* x5 d y3 |% t1 R3 a; S
} catch (Exception e) {, q: Y' j8 l3 y& [# J
e.printStackTrace(System.err);7 }8 d0 X+ w) y' y1 D3 V% {
//System.out.println(e);
/ Q$ J; _$ H( @8 |1 X System.exit(1);
' [$ E6 h3 j( Q: V* e" V }
3 ~ O7 c3 i2 m( X
; w( c4 ?( h0 E9 z% J r; h5 l) i) m2 m, Z/ H1 |4 z
}
! e4 ]6 H! \; j
( B5 F5 _. D0 h0 ^) k' ~' _ private void swarmSetp() {
2 j' I5 `5 f$ D; r% o. ~ list.addLast(new Agent(Id));
. ]3 n- g! O7 A( Y8 G' l) ] Id++;
9 {" a) P; a3 V3 X& R2 f, r) z }
- d5 K( j5 J& y7 u- g, ]- ?; V3 Q8 J( e: O/ g
public Activity activateIn(Swarm context) {( | ]( k7 }/ h% X) a! y% \8 ?
super.activateIn(context);
8 _: {6 K' T0 L1 h% J- B schedule.activateIn(this);# r4 K( f- X! U& T3 ]1 z# B$ e& M
return getActivity();
; q% f8 `. w7 P9 Y! Y+ I0 M2 o, | }
; ~$ e! n0 S" s2 q# q7 |( l7 R
, P3 ^' e+ k, } public static void main(String[] args) {
$ Z2 @+ O9 h. `8 q- z Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);2 g7 Z3 ^* X1 X/ \
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);1 K0 ]6 U( }8 [% L0 }6 Q% ]9 o! ~9 {
swarms.buildObjects();
& d8 R/ p: L e) F swarms.buildActions();
7 C1 T, C" P# ^3 e% |* O% ?) f7 {0 Z swarms.activateIn(null).run();
8 e/ h0 p% K# |& s$ H8 S7 U }! l2 {- e" Y( @7 G' m! g
8 V C; `2 ^0 O9 E( p' r8 l
} |
|