|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
: _, X/ B2 V8 x- n) p1 M; N
" g" L: d2 W9 M4 F; @, O8 W本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21( O, P0 s, H% [9 j
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
, v; N; P4 B8 m- E8 [swarm.SignatureNotFoundException. R9 E5 v0 B1 k a' Z s
at swarm.Selector.<init>(Selector.java:76)& f) ?! _- a% A7 e$ f( ?9 J% x
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
+ r& Q L. t3 f at ActionGroupDemo.main(ActionGroupDemo.java:67)) V+ ~( i& N) z' ~, t$ g
. {( ~% k& V1 x' \* u# u3 X+ f: Z2 m. z% {; d
import swarm.objectbase.SwarmImpl;: F. B7 H% f* p" u0 Q% v
import swarm.objectbase.Swarm;
; @1 b( h! e# C% g* H2 J3 v* limport swarm.activity.ScheduleImpl;9 F' x6 d0 t8 R$ C. v
import swarm.activity.Activity;
3 }7 q1 H, M2 Nimport swarm.activity.ActionGroupImpl;- f: A+ t7 w' t5 j" O. z! D
import swarm.collections.ListImpl;
6 s- z2 g3 x7 Cimport swarm.defobj.Zone; , e7 p7 B) d6 o
import swarm.Globals;
, W1 R! @- ?0 @6 z. x3 d& D( Himport swarm.Selector;
4 L# d, m9 T" D5 Timport swarm.activity.ActionGroup; 3 ?" n8 X+ a) H$ n8 ?
class Agent {* \( L- W( ?3 U& ^8 l; r
char id;$ N4 i1 e- ^, ]% ]
( M* ~1 F& h& Y" L: {/ D+ ^$ h8 K. p, _
Agent(char id) {
, z' [( Q$ n4 L# Y& T- `2 Q this.id = id;
- o, d, ]' E2 F6 } }
7 S }" W( I l9 \; E6 j" w+ u8 |# [
public void agentStep() {9 ^! z5 w' j6 }: s1 E, X3 P
System.out.println(id + ":" + Globals.env.getCurrentTime());" n% h. L' H/ C$ i/ [6 N/ T/ s
}
+ V8 e6 C8 M+ A* n# r4 b5 x6 n}! b+ A) n X/ E' C4 g) }1 j
: w6 ?2 ?# N$ u) \- p& L# kpublic class ActionGroupDemo extends SwarmImpl {
! K' G/ E. x5 J ScheduleImpl schedule;9 }4 S0 g j2 b3 b8 M, p& e- q, p
ActionGroupImpl actionGroup;4 t5 Y! b$ Y; M. [
ListImpl list;- c& \* c9 T* H2 S
char Id = 'a';
3 m, L0 ]! e9 n/ D2 m/ D8 V: _% {& @1 ]) x
ActionGroupDemo(Zone aZone) {! e" b& G6 }; \" D. i/ {4 E. T/ r
super(aZone);, @+ C6 [# H$ U, B1 e
list = new ListImpl(aZone);9 i. _) F- N' q+ ^8 ^( V
swarmSetp();! p; x8 A& {. J% I: j7 x j$ J
actionGroup = new ActionGroupImpl(aZone);
8 g" F# u/ F J+ u# l+ ] schedule = new ScheduleImpl(aZone);. Y9 F% i7 J5 y# U* c& A$ t1 h; f6 t
try {
$ ^4 m \5 `% m3 a' I+ n7 q. ^; R Selector agentSel = new Selector(Agent.class, "agentStep", false);) r- x+ v$ A1 T2 q- O* v( R, G! A& P
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
* t9 o+ ^5 G y* v: P
0 _- C. C) {4 ~, B& b actionGroup.createActionForEach$message(list, agentSel);
# O, r- B& ~3 c7 N actionGroup.createActionTo$message(this, swarmSel);! N# V/ @3 a. j% E" |% A
schedule.at$createAction(0, actionGroup);
0 G9 i- W2 t. z, {. a schedule.at$createAction(1, actionGroup);( Y) v3 A3 g& N! t; q, z4 N- p3 f& J
schedule.at$createAction(2, actionGroup);8 F: `6 j% c/ R* O5 }
L& e; X4 J' w2 i+ Y } catch (Exception e) {* [5 v9 ]: J3 s5 g
e.printStackTrace(System.err);( H9 L4 _5 f2 H' K3 d' C
//System.out.println(e);0 J0 g# z( Q0 ~
System.exit(1);1 z% X9 I- A6 q2 \, G
}2 w1 p, O8 L4 ^! n X! c# O3 \- n
: [/ P' N) @" ~8 ~' ]! {/ J0 c* c6 Q! w
/ |9 o# J& L% b& D) s; K }
5 w! l: E' u# d+ R- b0 a3 n1 L8 i2 I5 L/ {2 d. Y& h+ X
private void swarmSetp() {
4 P' U& \5 D; E5 @ list.addLast(new Agent(Id));
/ z4 O' c, q7 K8 W Id++;8 \0 j M! e6 ^+ R! T6 ?
}
T) f V; V' n& g7 Q, r# i* T. s0 @5 Y+ J; E, f0 L% e3 C4 u' J
public Activity activateIn(Swarm context) {
: Z5 [3 I4 Z: v3 Z7 O: C super.activateIn(context);1 g2 [3 [6 g7 n2 P
schedule.activateIn(this);3 _5 t* @" W" O5 s, P
return getActivity();# i/ n: n% l5 z
}) H. l" z+ Y3 X/ e! e; W
- n6 S L; q5 ~; ]
public static void main(String[] args) {/ G: G+ ?: P9 O3 O9 ]; X0 C
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);& v" {4 ?) q* J; s# Y& ]) J
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
]4 P2 t- }; M% j# V# ^9 h swarms.buildObjects();! {, T+ q: E n* @
swarms.buildActions();5 G' S' H. F) A3 j4 n: \
swarms.activateIn(null).run();1 ]4 u9 ~ ]; n& {: u/ d. @5 o) W
}
& M* ^( O8 [7 ^# ?
a+ }5 e5 J5 O5 u. Z} |
|