|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
' E' y# h+ N* X3 Y) N3 O! T8 C$ l0 I: V" @* R( S$ L' V
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
1 o6 O! L7 z& K+ o7 I9 o5 M以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ v" W- h8 G/ ?! W
swarm.SignatureNotFoundException
( q8 M* c+ d5 }; E: i at swarm.Selector.<init>(Selector.java:76)- f! m' r( I6 X" e3 @$ x2 n, Z
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)% Q# Y$ t( n8 ^) ]
at ActionGroupDemo.main(ActionGroupDemo.java:67)& j$ ~% h- \1 _: R) {
1 q3 H& E2 n& v/ n
# o" B; @5 o9 M( |2 }
import swarm.objectbase.SwarmImpl;) h% E8 D( ~- y/ S n9 a
import swarm.objectbase.Swarm;4 r- o, q% k9 S& M* ?5 v- o8 D* [- L! C
import swarm.activity.ScheduleImpl;& v0 v+ I3 M4 B+ ^& @ C$ C6 J: g9 f& @
import swarm.activity.Activity;3 D* y+ Z2 y2 f0 z+ g3 S
import swarm.activity.ActionGroupImpl;; k: r' g/ e6 [0 u9 [, U! a
import swarm.collections.ListImpl;6 x6 D% a E) C; I
import swarm.defobj.Zone; ) ~7 d3 L m. E, a6 s6 l! [3 s; \# G3 w
import swarm.Globals;) m J1 T4 |6 L# }2 v
import swarm.Selector;6 J* P, s5 I" c& {
import swarm.activity.ActionGroup; 9 o3 e- q, X7 @; Z" A/ V/ H2 w# m
class Agent {$ _) _2 Q6 [+ L9 R# e. z3 `
char id;
3 X) \+ Z7 q1 {) q! ]
! [) e L5 G( Y7 X) s# d' j Agent(char id) {
$ P# S' F- q. \" e! a# `: O& }* } this.id = id;
- \4 i. Q1 K+ o; X: d+ d5 W }
# ]/ [% z0 g. Y& o/ K* O( }9 e7 b4 V. u9 d, g! P* B
public void agentStep() {6 b7 s: n( H( h3 F4 C
System.out.println(id + ":" + Globals.env.getCurrentTime());; J: V1 q+ F0 B
}
, R2 l9 ^1 g, y( w% D: w}
9 R' Z! b$ O% k( O& o' ^/ _6 {" V; h1 O: `. M4 I& ]1 Q( B
public class ActionGroupDemo extends SwarmImpl {
+ w' S: f' V9 I5 @ ScheduleImpl schedule;1 J+ ]$ g0 e" s( V9 t1 Q2 S& F
ActionGroupImpl actionGroup;
* b4 w5 w' h( u" J! ] ListImpl list;5 W0 d1 x- I1 q) X- E) h, p
char Id = 'a';; o/ n7 B3 z0 {& b' |. y
- o+ v2 X3 l5 J& [8 s- S! @8 s$ t ActionGroupDemo(Zone aZone) {
0 N/ T; u9 p3 b$ s# k super(aZone);6 c, o0 J1 l( S! E
list = new ListImpl(aZone);
) U$ V ~+ a) ?0 I) A swarmSetp();2 ]8 P. ]0 K) J, |
actionGroup = new ActionGroupImpl(aZone);. q+ o7 v9 g4 |" k% `+ A. T% b
schedule = new ScheduleImpl(aZone);8 c! T8 O4 P' w5 |% o1 Z0 I
try {$ I1 P6 N- g0 C9 V* A
Selector agentSel = new Selector(Agent.class, "agentStep", false);1 D* D4 T3 c" c8 ?
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行7 q5 N4 a, E( p: \: G
9 k$ p. E! O& j$ }' r actionGroup.createActionForEach$message(list, agentSel);
% R5 c1 F! w, J P- H7 W actionGroup.createActionTo$message(this, swarmSel);
7 e0 H6 p5 `' J: y: _3 A/ O E schedule.at$createAction(0, actionGroup);
a, c2 q9 b( D; i# [* j schedule.at$createAction(1, actionGroup);# U! i: `3 E- G, t& m
schedule.at$createAction(2, actionGroup);6 T, P- Z. h8 F/ C) I
6 V) X# L1 `4 x6 f7 V6 [( p
} catch (Exception e) {
$ V- q1 q$ P$ n) c$ A2 I, p( G e.printStackTrace(System.err);# K* U+ n5 x1 T" T9 E, e
//System.out.println(e);: p6 @9 o0 t4 q. w/ m9 ~; _
System.exit(1);" w6 M9 n+ m' s
}
( E- y6 K, G9 x2 M {3 x: e+ G5 w3 r. b
+ w" u0 Y! x* V& W: x }8 \4 P8 R/ a2 E T4 I
! f3 q* y4 z6 U# T# n1 D private void swarmSetp() {
2 ?+ J' W( U @ list.addLast(new Agent(Id));8 u/ o2 P! J/ t
Id++;
5 X( I7 J5 S8 z }9 i2 w$ D3 u3 E( l' ]8 o
6 P2 g; ^4 R* s# }+ _: D
public Activity activateIn(Swarm context) {
7 Y. r# _: V( M r8 l6 t& S- p% D super.activateIn(context);- V" `6 r9 W2 G% r7 S5 r
schedule.activateIn(this);
+ P& i" k6 @; t) [' U return getActivity();3 D& D' y& G3 P% J
}$ w8 G0 I$ y! u( x. l8 u% Z
8 [0 d6 ?$ d' t/ F- s public static void main(String[] args) {3 o# r& w Q, I; U ]! B
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
) W& y; A) r2 S! E& \7 Y Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
5 X: q8 \1 T( u& _) ^% F9 M8 g swarms.buildObjects();
^0 g+ }! h% c5 ? swarms.buildActions();
5 N4 o9 D% Y' a3 H swarms.activateIn(null).run();
# X7 Q0 H: ^9 ^7 D5 n% r$ p }5 j1 P* U+ v0 s' @
+ U$ I5 T5 ?1 p- ?$ \} |
|