|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 $ g4 U% B) g$ N+ p
5 p8 u; V: j- y7 g' r8 V1 a( _本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
5 q3 [+ ?4 D. k: {( @! S以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
5 a/ k i( U6 E6 b( D/ W) X$ |swarm.SignatureNotFoundException- B+ `. ?" A+ \2 S9 n
at swarm.Selector.<init>(Selector.java:76)2 [7 w/ S1 R2 [
at ActionGroupDemo.<init>(ActionGroupDemo.java:37), H, C0 [1 D" K* i" `7 J
at ActionGroupDemo.main(ActionGroupDemo.java:67)& T z& m7 {; ~5 F* _
) T% z4 d. g9 L+ b8 `4 R1 A0 z2 h% S6 ]# d
import swarm.objectbase.SwarmImpl;1 y& P, s& _- B7 r
import swarm.objectbase.Swarm;
% m( {! t% U) q6 \: C! s% Pimport swarm.activity.ScheduleImpl;7 _: U6 A+ K, w9 G& V) X( i: L7 [
import swarm.activity.Activity;
+ T2 s/ Z) }/ Kimport swarm.activity.ActionGroupImpl;& Z7 i1 W: c) }. f- f
import swarm.collections.ListImpl;
( i7 X, P' E( I# Vimport swarm.defobj.Zone; ! y$ U3 v+ s% B8 m9 R
import swarm.Globals;- |9 t* ~1 d, }4 {+ \
import swarm.Selector;
3 a* j- V" I$ J3 Pimport swarm.activity.ActionGroup; 7 @; v5 _' D" s9 T: L5 U% k, @
class Agent {
0 w R* n, T! y8 S2 } char id;
" x: _# L: t6 P: H+ c! L1 Y, M$ ^
Agent(char id) {+ E! }* W" Y1 @; H
this.id = id;9 ^% Q5 _6 m( @4 J& T/ C: X
}/ C7 G) }% @0 u a# `8 W# I$ R
- Z5 j$ V1 S1 @0 Y. v/ M
public void agentStep() {( V1 |4 D4 Z/ b( W3 Z
System.out.println(id + ":" + Globals.env.getCurrentTime());: Z1 V# N) _0 ]9 ~" i
}
- k8 w! p' ?& n& g2 Q8 N}
" |; D! | j7 _( J W0 C {, n8 D2 T+ o
public class ActionGroupDemo extends SwarmImpl {. x8 S- y; k' X! L \! D
ScheduleImpl schedule;3 O0 R% W! l. p* m7 E
ActionGroupImpl actionGroup;' m1 c3 R. M" n5 x% Z
ListImpl list;
# S) x3 M8 G; z) L char Id = 'a';9 L( j# Y: {/ Z `; V5 M" u
. u' F) T K$ C+ A1 y* p8 M
ActionGroupDemo(Zone aZone) {
: Q$ i$ ~ u4 y( C0 h! B& I5 {: ^ super(aZone);% W8 k1 O/ D% v" `1 T
list = new ListImpl(aZone);& V# u* f- P0 g
swarmSetp();
6 r. d' Q4 V( ?2 Z$ `, U& ]9 i, C actionGroup = new ActionGroupImpl(aZone);" s2 g! a3 X' L5 R9 C
schedule = new ScheduleImpl(aZone);
! J# Z! Y" B) Q0 P5 E/ | try {6 \# t9 W' W, P/ a D6 l- s, H
Selector agentSel = new Selector(Agent.class, "agentStep", false);! L* [1 ^) ?1 }
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
1 M3 Q# a4 N; \+ k : Y# ^6 N9 H! B' l: |
actionGroup.createActionForEach$message(list, agentSel);1 p* W. j7 r$ @2 i
actionGroup.createActionTo$message(this, swarmSel);
& R/ ~4 f. q7 J6 l! S" Y schedule.at$createAction(0, actionGroup);
" [* [# `; n- C) Z. N, y3 F schedule.at$createAction(1, actionGroup);$ X# @8 Z4 T* M4 K% l
schedule.at$createAction(2, actionGroup);
8 L: L% W& g! w' u
% [2 Q' g! F) `8 V } catch (Exception e) {
@/ Q* H7 B4 d L$ ?# h e.printStackTrace(System.err);
1 E7 O# R. p6 B- U% x //System.out.println(e);
4 Y7 [ D* }5 W) s2 F System.exit(1);
" @2 C T6 H5 Y/ v- R- H% B }$ {4 j& Q5 @7 {6 k$ E) C$ Y* A
% S3 T6 R& r4 `, s8 ^
) W# k0 I' m9 f5 T# Z, ` }
' G8 g6 R' r( G" g3 @' i* Z7 O3 y9 N5 `( s$ f3 d
private void swarmSetp() {, `3 r. }) @( A9 H H" h
list.addLast(new Agent(Id));
) z& a4 D: x/ M$ `. d2 h Id++;5 Q+ E5 Q9 J6 w/ d
}7 S5 z& x; G. R+ |
6 E- F& B6 T' w, {
public Activity activateIn(Swarm context) {# I, I+ |& i3 n+ k$ g. s5 ~
super.activateIn(context);
" x2 v% l3 G! S) L; }" [ schedule.activateIn(this);
d( @3 e3 N! L1 z2 @ v1 y+ ^ return getActivity();
% G' a% Q0 z0 Q$ I }( ~3 @! ^2 }: ~% |" b c, @1 q
) U" c1 k! b9 a- i public static void main(String[] args) {& n% r8 L& q$ b4 }! ^* I
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);% {5 T) ~: Z& S7 S( D5 H7 l
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);6 ]$ w. ]' O# S3 R' O+ y
swarms.buildObjects();. j4 @+ O+ q: [/ v
swarms.buildActions();
7 J" w9 N5 N7 b# i7 L- T' _ swarms.activateIn(null).run();
9 [0 S, V( [4 f1 N* [& n- V }
9 {7 [+ w+ S# q& Q; E# d+ i. B% F
5 J' J j( \& k. p" I X- w* @} |
|