|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * x. C; e8 n) R' w0 W( i7 z
" k; T* r0 U. e- l本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
4 L4 K1 @) L2 a6 B8 O8 O1 A以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
* [2 e4 m* a' y: C1 g; ^3 Jswarm.SignatureNotFoundException' u4 I" E4 A( D1 n
at swarm.Selector.<init>(Selector.java:76)
5 a0 Y" A/ h% G( U5 ~, r7 } at ActionGroupDemo.<init>(ActionGroupDemo.java:37); Y$ H: V% j# g9 N
at ActionGroupDemo.main(ActionGroupDemo.java:67)* ? Q/ }2 P" j) k8 k7 l
1 F' ]; R: i; `$ P/ [) B5 w4 f: w. N" W9 s8 Q5 j5 W- s9 U" Q
import swarm.objectbase.SwarmImpl;* e- v( J. `6 k: P$ ?' k. F
import swarm.objectbase.Swarm;
" x% O4 P6 J4 M. vimport swarm.activity.ScheduleImpl;
3 l7 Q9 Y, n0 R! o3 G* F& rimport swarm.activity.Activity;
! ], Q5 F1 D6 R$ m Wimport swarm.activity.ActionGroupImpl;1 E( [2 o7 W( k4 _% e
import swarm.collections.ListImpl;- Q* P# D4 v$ {
import swarm.defobj.Zone; # [$ i; M# e8 f: M2 b# K( G8 I# z
import swarm.Globals;3 T9 l9 z* s; T9 q. G( u4 l
import swarm.Selector;
3 g K, t: P$ M- Q6 z) ximport swarm.activity.ActionGroup; / R! M0 f) d7 ~& B% u7 ]; y6 B5 ?4 U
class Agent {
4 r- i! s, c* Q' L9 W* Y; }1 C/ I char id;! G3 f& K: G& |4 R$ c+ ^
7 R( |- u0 ?% g& i4 O8 L
Agent(char id) {
# _/ |& F2 f9 A" Z this.id = id;
- G; o0 i/ T1 x2 C2 V6 w }
$ @8 ?, O# j5 l4 Q. b/ u4 W } A2 R4 D
public void agentStep() {
4 V5 n8 y6 x0 z% N System.out.println(id + ":" + Globals.env.getCurrentTime());
1 C+ p6 y! ]5 Q- A1 p( n }
5 t- |! k6 R6 t( z3 D( y# T}
: W1 I+ b' W0 d; F2 D! u+ g- b2 I( E' U3 ]# a% l& v
public class ActionGroupDemo extends SwarmImpl {# j/ S+ M+ E- t
ScheduleImpl schedule;
3 P* g% z: t& `4 w' ^# C$ q ActionGroupImpl actionGroup;
9 Y7 L- E! Y+ Q/ j( Y ListImpl list;5 e$ N; t+ L/ B* Q
char Id = 'a';
$ C4 v0 z' k4 q: x+ C; S
: K* y& z. v2 [$ y ActionGroupDemo(Zone aZone) {6 b- w" M* ~' P5 y! X% `2 g
super(aZone);, g2 W* e5 C, @3 m: D- Q4 c1 S
list = new ListImpl(aZone);) m4 V0 |; N! c6 y6 r* M8 y
swarmSetp();4 b# `, K, y; I; k/ }' q
actionGroup = new ActionGroupImpl(aZone);
( b' @$ R+ v2 a$ C* V/ I* M* b schedule = new ScheduleImpl(aZone);' Y& Z: \. C! R, U6 Q# E
try {( A( o: e8 F6 C$ k% J2 D
Selector agentSel = new Selector(Agent.class, "agentStep", false);9 O3 X/ K" y. V, D5 F4 |
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行3 G9 o: ?1 C( T7 b2 U2 W0 Q
7 l" @" T; b1 @( s; } actionGroup.createActionForEach$message(list, agentSel);
" d. }5 J2 n8 P: U actionGroup.createActionTo$message(this, swarmSel);
: m% K& e l, ?; Z' J2 z: z- ` schedule.at$createAction(0, actionGroup);% C' w9 s! @' u/ I" S! p
schedule.at$createAction(1, actionGroup);6 s3 k- B; P# z+ j4 R
schedule.at$createAction(2, actionGroup);
" u) b0 h& T/ _( Q, n" z
9 W" y. w; o4 }0 k% h } catch (Exception e) {
, c0 [* Y& X% T1 l e.printStackTrace(System.err);
6 C& o F7 b7 ^9 B2 e! f$ S/ w //System.out.println(e);6 S" G1 `# l1 m) ]. W% }
System.exit(1);
; s; A9 Z5 r$ n2 l' [ }
+ Z+ |8 }4 J2 B1 [" l1 l/ W
" M2 n. ~6 B" ~2 h* Q) i
% V( a/ W. P" Z( _& d }: `5 C4 {! ^& P9 j! g' G$ f
; l, j# f+ ^, ~, \$ M) p private void swarmSetp() {0 W9 S# @# E" ^3 K7 b9 `
list.addLast(new Agent(Id));/ ^2 n q. U8 L1 q" O
Id++;
, R( b5 u0 W6 u* L2 H }' {' f }$ r# Y* }# u' s- B3 \5 G4 |5 O
) z" y" |5 f/ T) W$ q6 j, Z$ N& {. ` public Activity activateIn(Swarm context) {, _. [6 P( ?# L0 ?5 f6 U
super.activateIn(context);; H# e9 l% @! Q% x% `" m
schedule.activateIn(this);% j' V' l+ I6 y& E3 \7 T+ P
return getActivity();1 m; }/ \0 J& R7 y. l* P- i
}
7 B/ B% f! e# s
0 W3 H% b4 H5 R' e) e+ T9 p) i& T m public static void main(String[] args) {
& x' G5 E1 ?$ f6 D Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
z8 u3 b9 |5 A+ @8 ` Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
5 M! H- o4 f" V( W6 I7 L: X* U( p# Z swarms.buildObjects();- z8 V9 i- K& _+ M* ]
swarms.buildActions();
! L5 X" u' M3 D/ `7 s! ]2 J7 y% k swarms.activateIn(null).run();
" W: W; Y% o. G1 i" W }% N: j% f' J# ]' t( ^ a( c
+ j6 V P( y$ ~ a7 Z: x} |
|