|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
0 p' g$ i/ `9 S( I: ^1 ]- ?! Y( r. G8 O. Y8 l
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. C# ]0 X- v# q; F# F8 z( d* L
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ j' D: X9 h t8 z# k
swarm.SignatureNotFoundException3 _' ?1 w; S% y7 Y. k0 ?9 E H
at swarm.Selector.<init>(Selector.java:76)
% Q; m1 b* M, |$ `* e$ Q' \ at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
N' h- v ]" o# f; r at ActionGroupDemo.main(ActionGroupDemo.java:67)
- g/ Q6 V$ Z4 m7 c
# G, _1 M! g/ k: I0 ~1 ?) d8 m9 N Q
import swarm.objectbase.SwarmImpl;
, S( ? _! N4 H2 j& kimport swarm.objectbase.Swarm;2 [! C" n0 ?2 m, B
import swarm.activity.ScheduleImpl;
- [. c- m% ~; D3 kimport swarm.activity.Activity;
0 M( C0 Y7 Q# w W# Z/ {import swarm.activity.ActionGroupImpl;4 F( W3 F: V- ^; P
import swarm.collections.ListImpl;
6 F8 O5 V# M: N: E0 d! }0 T3 Z. }import swarm.defobj.Zone; - V0 d* ^+ y5 X4 W
import swarm.Globals;
* i$ r# v6 t' [import swarm.Selector;
. k2 m. Y! F p# x" {, ]import swarm.activity.ActionGroup; " k% j$ A) b/ E: M7 X' q
class Agent {6 c, u7 [! N @ u! O+ G6 B
char id;
4 N, |* c& @% I1 ? D$ r1 V8 d* l' q# V# ?
Agent(char id) {4 T3 y7 i4 I3 o% G# z
this.id = id;9 N, j' D) I- V; @( c- z0 E4 f
}
4 q4 E( r) G [! v" S8 O. W) F- f' S2 n% C+ Z' w
public void agentStep() {
( q: k4 M- v1 u+ u* q% p System.out.println(id + ":" + Globals.env.getCurrentTime());
$ g" f( j7 ^; @7 ]( o, D% k }
$ V- }6 E' N7 |$ A} [# R( E) F. E8 d
$ h |! |! H R1 Q0 F% opublic class ActionGroupDemo extends SwarmImpl {
( {3 P5 F) x- p# x+ s* x A ScheduleImpl schedule;' b# F4 g5 i3 Y! x G8 [2 W) f1 ?+ y
ActionGroupImpl actionGroup;" @# e" z: U2 J' O7 { m6 A1 ~
ListImpl list;8 b1 o! d1 y- j
char Id = 'a';, [7 i- X8 m* K4 d# W! Z. T
, t7 | v4 V0 V1 Q5 I- I3 s ActionGroupDemo(Zone aZone) {
# z# F! Z+ y0 E, V; t2 t4 n super(aZone);
0 B8 s# J! V M O) q list = new ListImpl(aZone);
( I$ @ q' q4 A1 j swarmSetp();, x% W) i5 I" A$ R I9 v3 r- N7 w
actionGroup = new ActionGroupImpl(aZone);! r8 l, k& |9 T- R& l
schedule = new ScheduleImpl(aZone); K1 o# j/ l* b4 n' J- J
try {
. e T+ _9 R( |7 ]+ r Selector agentSel = new Selector(Agent.class, "agentStep", false);
( @5 ?" J# E9 ~ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& T, I8 v! o% P" E
3 G3 Q. q/ m. ?$ f. i3 i& X actionGroup.createActionForEach$message(list, agentSel);
4 |0 [( g2 D1 D+ i7 s& Q actionGroup.createActionTo$message(this, swarmSel);
, v1 T! A( T. T `: x# h" q- H8 ~ schedule.at$createAction(0, actionGroup); X' Y; Y/ N- |0 @7 l! t/ Y
schedule.at$createAction(1, actionGroup);& Y+ l& w0 T+ i/ F9 ?* f$ \. I0 E1 e
schedule.at$createAction(2, actionGroup);4 Q8 D& w, v% b6 W' Q& q+ m- M
2 T0 }* [* T% i; ~ } catch (Exception e) {
2 n& h8 H: [! R, O e.printStackTrace(System.err);
9 q. i \6 M, O* f8 g* V0 ?+ W //System.out.println(e);; b. ?) ]/ b c* Q3 c4 Y
System.exit(1);9 P) L) w' X0 O8 F3 w
}4 V2 p' m& f& ?9 R* q% @
( ^5 O" z8 m9 y, G& a$ Q( \2 Y$ g8 L) p! ~
}
, x" C6 P4 o0 x
[" Q* `( y* @& Z; |% g/ E6 a private void swarmSetp() {
: G" h! U q8 j0 E list.addLast(new Agent(Id));
; W! y, |" @( c O& d1 g Id++;/ W0 ~' x& h) j$ ^
}
5 ?+ f$ e! e6 _# i8 k! Q) o! D! }: [% E5 z# k S
public Activity activateIn(Swarm context) {) U! W) q3 P5 ^' l. o3 `+ L- p
super.activateIn(context);! [6 v; X' I4 X- o+ p3 a5 _
schedule.activateIn(this);: ?! s% Z2 p, L- ?, R1 ]
return getActivity();+ {3 H* h5 q8 i, N! d$ Q; O! A
}
" K \- R1 d4 ]' V p3 b+ v8 _# O% p9 [6 ~+ |8 L' _% h% x1 f" h
public static void main(String[] args) {( Z$ P Y* f- F* H9 b
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);9 R6 ~" A$ S: _+ x4 G& c. C1 |
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
& w# O/ K+ k/ @8 o+ }: I swarms.buildObjects();
9 l* M) H8 ?2 N2 K8 N2 F swarms.buildActions();
& o0 }( E( K2 u8 |+ ] swarms.activateIn(null).run();, b/ H( {0 d6 w+ f* [
}
9 L9 ?4 |0 G1 ^7 i* g6 ^# a( o/ p/ ?# `) P) ^) B/ o3 d8 j
} |
|