|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % [7 |' ^1 w2 P2 Z- ^% G
; Q6 p1 ~$ {3 j/ T* [+ ?& q
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update216 z6 l. B8 Q( M5 ]: n/ }7 k4 i. i
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.) W0 Y! Z) A! q( v4 J! \/ o( @
swarm.SignatureNotFoundException) \; [- e- _* l7 T6 Y: A
at swarm.Selector.<init>(Selector.java:76)( N5 ]" {" k* U- {
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
1 D3 q* X4 K$ H8 p! I. ~' J at ActionGroupDemo.main(ActionGroupDemo.java:67) f4 z- a4 H/ A- J
/ G: A" c1 @' p/ L) E
* ]; o: y8 g" }0 G. a
import swarm.objectbase.SwarmImpl;: ^ g J4 Z2 t; x4 I6 J+ J2 W
import swarm.objectbase.Swarm;5 e2 n" C& U' R' l* w/ w
import swarm.activity.ScheduleImpl;
) V. q+ s* { R+ U" X8 B- Himport swarm.activity.Activity;
1 K6 C' j- M1 e# I0 h& i$ |import swarm.activity.ActionGroupImpl;2 O" }0 C* l5 N M- d( }8 h0 g
import swarm.collections.ListImpl;
$ `& D# @/ Z' E- w; _ Aimport swarm.defobj.Zone;
) C5 ?. X n- Q' z: d& N) J- B7 Rimport swarm.Globals;$ S) k5 l- S }, B( w6 ?
import swarm.Selector;3 U9 A: o1 ]# j
import swarm.activity.ActionGroup; . _* M8 |8 U6 s) q' U# x
class Agent {- W! b* \2 P' q, n% ~6 X: h( t
char id;. @$ e C' _( ~4 v! u: c( r
3 ~+ s* S# R9 G Agent(char id) {
% H+ h* ?9 c1 ?! b( g this.id = id; l* @8 U+ I i! Z' n
}2 |: k7 ?2 ?; i3 p& [
, ^9 l! c( b5 Z x/ y
public void agentStep() {# Z; q8 d, {1 H2 q* z$ }/ s3 P. W
System.out.println(id + ":" + Globals.env.getCurrentTime());
. }) K d$ |1 f0 `3 z: M& |: | }
4 P# M* l& k# @6 Q7 \}
$ u1 ?5 h! J+ B. g( ]1 J# C& E( C3 T5 K' n R
public class ActionGroupDemo extends SwarmImpl {; F/ P+ S( @+ `! b. W, ?, l% C7 E2 H3 g
ScheduleImpl schedule;' p5 q# B: Y. p; N' X4 y
ActionGroupImpl actionGroup;
8 i( H2 e- {/ n( s! _, ? ListImpl list;8 M3 P# t: a& Q' y3 [3 g
char Id = 'a';
+ F9 e N1 h/ E- c6 J& M& W
9 m. W' c, }9 E9 C% J3 J ActionGroupDemo(Zone aZone) {7 j* v A0 }- B% K. _0 C# o
super(aZone);
; R# b/ W5 s2 y list = new ListImpl(aZone);
) L2 k' P4 O+ d% [# M* p' l4 ` swarmSetp();
# I( I- H a- h3 s' u actionGroup = new ActionGroupImpl(aZone);
1 }& P6 o; u ~7 M6 v* s% _0 @, r schedule = new ScheduleImpl(aZone);' e a0 [; r! E
try {
& z% @5 a, I7 i [$ X, g Selector agentSel = new Selector(Agent.class, "agentStep", false);
( C# B. H- _0 g/ i1 a/ i Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行1 ^3 q. S$ i9 {& _$ s1 m& w
, @- n7 h) x; z" S- _6 o% _ actionGroup.createActionForEach$message(list, agentSel);
6 Z% N$ u1 R2 {4 m8 J actionGroup.createActionTo$message(this, swarmSel);
+ f' `; w2 v' s& d2 {- G Y schedule.at$createAction(0, actionGroup);4 ` r- l$ p/ u0 y" j+ k
schedule.at$createAction(1, actionGroup);# \ u( V% H Q# x* a
schedule.at$createAction(2, actionGroup);+ \$ w; k7 U) d
. {, @; _3 M8 [3 W
} catch (Exception e) {1 M8 g% g( `' n$ h8 k2 n
e.printStackTrace(System.err);
% q) F! a. c& X* f //System.out.println(e);2 r0 c& E* J4 F4 @5 \* ~
System.exit(1);
) }4 o; [8 d) d4 F' E3 j }
( V4 C% B9 N7 m" I* u6 I# P1 _* p- Z3 j% ]( ~9 A- a
8 y5 a/ u& j$ m+ X& a9 u9 K
}3 P) Q# B1 T. ?/ ]: _
6 r7 h/ [9 M# |& i* \4 ^3 { private void swarmSetp() {
2 q+ t% q( j1 k) M list.addLast(new Agent(Id));
3 E @0 r4 A9 a. M# E Id++;
/ G6 w# |7 f4 }' T1 w8 ? }
# n; K5 |- y/ C; s! |4 d0 W. U% R1 b# u9 y. `7 Q
public Activity activateIn(Swarm context) {
. X3 ^& }' a* v super.activateIn(context);# h0 a- b7 ]) |4 B. N% R
schedule.activateIn(this);
$ ?9 @6 T U3 F7 V return getActivity();/ n5 n: q! Z. C* B' T" v0 T1 t6 ^, L
}1 \; l5 D6 K+ X& _2 F
/ A3 a+ r: h9 _2 L5 |; f
public static void main(String[] args) {
s9 b6 V5 B, ?- \5 g( w# b Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
" M! H( c- h0 U Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);+ v' d5 ^ K( V8 z# r- h; Z% o, B
swarms.buildObjects();
1 ^9 p% D. M3 C( R; B swarms.buildActions();
; v% H+ M" H: ^2 w1 |( p5 @ swarms.activateIn(null).run();
" T0 @9 k+ D5 l* n }! X2 A3 }% I. x5 s
~/ U/ ?$ h `' X
} |
|