|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 8 n4 J! Y4 E z; B2 Q: r
" [' f8 y, @7 O( C) E
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21 B+ P, U7 n4 M+ v( z$ V7 B
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* w% Y" b. I2 J5 i
swarm.SignatureNotFoundException
% {4 h C# D5 K) P at swarm.Selector.<init>(Selector.java:76)0 c$ ]5 b7 b; J, p% w# | ]
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
0 a& i4 u% L% r. O8 ~' z5 I9 Z* e at ActionGroupDemo.main(ActionGroupDemo.java:67), x! R! S3 d4 S( z/ E$ B
* ~1 L1 f( K3 T* i$ w# c
) l: v- _: e8 k$ V
import swarm.objectbase.SwarmImpl;
! U5 h! u' M& `& J# Mimport swarm.objectbase.Swarm;' I% _& j1 Z, v' Q$ x6 P) w9 z
import swarm.activity.ScheduleImpl;
! `! s2 D+ j$ i( mimport swarm.activity.Activity;
- z2 y+ z* g5 e' j6 _0 e2 b. x0 \" I) ]import swarm.activity.ActionGroupImpl;
# q5 ?2 u H/ M: b% A7 y, ~8 `import swarm.collections.ListImpl;
% q7 w, C6 T; Z; v1 Uimport swarm.defobj.Zone;
8 E6 o: V: P7 K4 ~# S" I; j8 qimport swarm.Globals;# ?" f8 s% x+ o9 ~& f7 L; W: t& C
import swarm.Selector;
& e" c" e( _& V& _& iimport swarm.activity.ActionGroup; $ l" ~# K4 v* h: B
class Agent {/ K; P- q7 ]" \+ \" u6 P
char id;* F; l' j" U _4 a8 X
( E' k4 l; \2 o& h
Agent(char id) {
1 O8 t% I( k9 h8 C) Q5 D this.id = id;; l. C7 B9 {( `; d* Z& @" L/ @$ c
}
/ Q* I1 b8 i! d. p/ N$ C% Y; v/ d8 m6 c- r6 e. o. z
public void agentStep() {) {0 R, o$ _' W5 @! z4 `, K8 i
System.out.println(id + ":" + Globals.env.getCurrentTime());
3 d8 C& z0 Y9 i5 z; W) I4 { } R. D: H2 h- ~" @
}& @6 J- A* f# g/ t
* L; t8 U4 X3 ^" A3 \9 u" i" R. Ipublic class ActionGroupDemo extends SwarmImpl {
* H- i% l; v) P! R/ O# H ScheduleImpl schedule;
n8 ?8 p2 h3 T% D7 F% m! i ActionGroupImpl actionGroup;
4 f$ S1 G. e# X$ G ListImpl list;7 K2 X' C2 y3 B2 L
char Id = 'a';
" `: F) p1 K {& h5 E, W
9 W) d3 M6 w( F/ F6 N" y ActionGroupDemo(Zone aZone) {/ J6 [+ j# O" n
super(aZone);
5 D' h# \$ j8 L5 @2 I0 F0 `- w8 j list = new ListImpl(aZone);
; |2 Y* o( H. ^& B$ K, ~ swarmSetp();
7 B& k5 i4 e8 b& i actionGroup = new ActionGroupImpl(aZone);
3 _! X" I5 e" `( n# S# k4 a+ _ schedule = new ScheduleImpl(aZone);
. @9 |" U/ r! k; f1 h9 A; c% r try {1 Z/ _% l! G8 F- N9 N0 t$ b
Selector agentSel = new Selector(Agent.class, "agentStep", false);2 \3 _9 X) E- g. X
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, f) j4 i. Y, z3 l& j5 L
4 k9 _; W8 R. X M( n actionGroup.createActionForEach$message(list, agentSel);+ }4 D, Q/ @0 y- F/ C+ |5 M8 r I: F
actionGroup.createActionTo$message(this, swarmSel);
+ N: f) G% e- O9 R schedule.at$createAction(0, actionGroup);5 N9 w) N% o- ?0 ~7 n: t
schedule.at$createAction(1, actionGroup);. C9 t1 ?; o; U8 A) S
schedule.at$createAction(2, actionGroup);
% N5 o/ }, Z) o+ Z! F! D# w$ _& H* b. K( Z( u% \( s9 Y
} catch (Exception e) {
2 E+ a+ _2 P) R- o+ m2 t& {% W3 R e.printStackTrace(System.err);2 u4 B5 {0 _3 v9 s2 N6 A
//System.out.println(e);
) A6 Y8 v8 O) s8 u- h" \# Z System.exit(1);
! y. z! Y- K& E* a* ~ }; b2 g( i; F8 r& L( D4 q8 l% Q
9 U- b# c- `/ N) M/ H* W
+ y9 U7 f+ V6 }# C( L! N5 e( x& e. w
}4 s% ~" w( ?# b
- Z1 w1 X0 T" d. } private void swarmSetp() {* e" @( K5 x/ l X- C
list.addLast(new Agent(Id));
Q9 W0 X5 F8 p* F& O Id++;
( P/ o% O+ f( X" {1 F6 p: ~ }( y' [5 }' L% f, @+ ~1 [0 U$ N7 V# m
) d* d6 N) Q; s
public Activity activateIn(Swarm context) {
" E/ n* c$ A' d/ h0 u) [ super.activateIn(context);. V! Q6 g4 i9 G- n ^' M2 A2 ^
schedule.activateIn(this);5 E2 X) L0 H" j$ z+ b8 a2 `( P
return getActivity();
- k5 ^8 h' k3 t; s$ T( H! @ }8 B6 K- [) U# @2 o8 |3 F
; O1 V5 e% f$ J4 G* ~
public static void main(String[] args) {
2 N( O7 I% t$ P4 `( V& c C* [( f Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);! @, A0 i- X2 `5 i& J
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: U' a1 e! [/ I( F swarms.buildObjects();( G& ~) u! u x( Q1 ]
swarms.buildActions();4 v& w( i5 g W, z, j
swarms.activateIn(null).run();
! r. p+ G8 M( s+ `/ B: R- I }0 T* a F( K- E |# `
0 W+ k+ ]% ^0 |8 X4 K" u} |
|