|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ) X% o3 J) b) z& ]( w. r j
1 j8 |9 n: k d) b: ~本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) ]7 ~/ j& C$ K
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
* h: C% e+ _6 @) g( g; y+ l2 Qswarm.SignatureNotFoundException8 \) |% D* H% w8 w7 c
at swarm.Selector.<init>(Selector.java:76)2 V+ Q3 B' [* m& `
at ActionGroupDemo.<init>(ActionGroupDemo.java:37) Q5 U6 j3 |) p/ @. m3 a# Y
at ActionGroupDemo.main(ActionGroupDemo.java:67), G+ z1 Q8 w4 n; U* z
# s8 q1 q% X0 H. f0 v+ Q2 L) M' y# P
import swarm.objectbase.SwarmImpl;1 {: @, s q. g# @7 J
import swarm.objectbase.Swarm;/ h+ h2 `1 E0 i7 v
import swarm.activity.ScheduleImpl;/ Z. J# N7 K$ e. |; W
import swarm.activity.Activity;
' j) U5 Y ?+ l8 C& Dimport swarm.activity.ActionGroupImpl;. Z8 O& l) s1 g$ c- v
import swarm.collections.ListImpl;
0 _$ c! ?/ A& S7 P) ~$ I2 F3 i5 h# iimport swarm.defobj.Zone;
4 S8 j+ `1 H4 X1 O, gimport swarm.Globals;7 p7 ^" o2 v" x
import swarm.Selector; q: y. t0 _0 R; Y7 K
import swarm.activity.ActionGroup;
8 n+ w4 O, N$ x, R& J- L+ fclass Agent {- m" [* p4 d! _, ~
char id;
0 k% m" F- k: |2 y* S$ S6 D& a4 N3 P/ k& s9 b1 K7 \5 e1 W4 p
Agent(char id) {
+ T) N. v3 |! k! n& L& [; d this.id = id;
, L2 s2 c* F$ H u% z$ B0 A }
7 H/ f. D0 h& c. W9 f3 T! b# ], v, A1 E( i
public void agentStep() {
" @& H2 u4 s8 Q& R' i# w: L/ [* m7 u. L System.out.println(id + ":" + Globals.env.getCurrentTime());2 \& l9 t. y+ ^! j' a: N
}% Z9 E5 Q) e* S6 K. [
}
* L5 o0 @* ^& `( q2 V1 w0 S. y8 M+ }1 M! f7 K' @
public class ActionGroupDemo extends SwarmImpl {
) P. u7 r7 a1 x* f# t- q: S ScheduleImpl schedule;2 Q0 f, O* J1 H5 G, B
ActionGroupImpl actionGroup;
, C ^ O9 w: B, [. C ListImpl list;
9 V. K( H% I& S3 [: m3 X) } T9 D) ] char Id = 'a';
' p6 h0 P8 C9 w
3 W5 Z) h' F' b/ a; m, t, _ ActionGroupDemo(Zone aZone) {8 t' K, \5 u* S) G) ~5 K
super(aZone);/ O6 V0 K7 B* G
list = new ListImpl(aZone);& t8 x7 H# {1 K; m* Q4 ]
swarmSetp();
+ {- `4 x0 v- C' C5 P4 N% ^9 g' `# s actionGroup = new ActionGroupImpl(aZone);( }0 X; _' c) T( s4 i
schedule = new ScheduleImpl(aZone);+ ` H q, ^5 t5 u. }
try {
, S7 Z- ?) S, m1 x/ C- H5 W Selector agentSel = new Selector(Agent.class, "agentStep", false);
. x& H9 Y& y- t0 Q. J Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ Q$ Q ?0 Y, j8 c) x4 C
; d* A6 r0 s* {) @7 E+ l
actionGroup.createActionForEach$message(list, agentSel);
! I" X- m0 S) I& _ actionGroup.createActionTo$message(this, swarmSel);: n, Z& A; k1 U1 t8 q
schedule.at$createAction(0, actionGroup);* k2 j+ c" S% W4 `
schedule.at$createAction(1, actionGroup);
0 _( p9 {2 [8 k! x2 I f% k, B( ` schedule.at$createAction(2, actionGroup);9 |( @5 F. Z% ^9 q
# t. E6 i: B* j! m% Z } catch (Exception e) {4 r+ B4 M9 y* c6 N0 g
e.printStackTrace(System.err);5 n) B5 u, ~, I; g
//System.out.println(e);
6 B4 {( P# f7 q: f& _0 G System.exit(1);
, [1 i" H# u! f5 |) P1 O }0 X c; `, R# o [; ?
$ s5 {8 d7 J2 F4 X% y
; ^+ n4 x W/ K2 L6 u x
}& l- F7 q. c2 ~0 I0 A6 c
' ?+ U5 S: U7 f, ~0 z, {# a7 i2 }
private void swarmSetp() {
( R3 S/ @% s2 V# L; b5 o list.addLast(new Agent(Id));
8 m" J% u. C( N$ C0 Y( _# W: U Id++;+ k" w/ A$ V/ x0 |
}
( m* R3 x2 ^# x8 @( \
# }! G4 i' {1 W" t& P public Activity activateIn(Swarm context) {9 _# W8 y8 ~' |7 V) w
super.activateIn(context);/ V3 e/ } g+ R6 |
schedule.activateIn(this);
' M3 w3 I4 c, @+ g, O return getActivity();8 r7 m6 Z( x) \5 q
}/ h, [# A5 g# m5 R' R5 Z T& m
$ \: a6 a H5 S
public static void main(String[] args) {
* K% L! V' q/ j- r) e+ e" F7 v" b Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);, ~6 k( p& z N- y+ L0 r
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
5 S8 l7 A+ ~7 i# @, R8 J! C3 q swarms.buildObjects();$ |% L$ x$ v; Z& }7 A
swarms.buildActions();8 G6 h) ^+ S6 R. ^
swarms.activateIn(null).run();
( V6 h9 B% R ^5 Z2 o }: H0 r! r9 }% q! `" T
( u3 K0 Y" D( {1 x7 U} |
|