|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 7 |. Q! `( I# l; w% R; h
: w4 t1 N) d8 C: ]本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, j/ H! @/ D3 W8 k$ k" i; v
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
+ F5 {" Z* l8 [% X7 vswarm.SignatureNotFoundException
; C F n; e) u$ t9 j at swarm.Selector.<init>(Selector.java:76)* l5 v) k* O) M) K
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)* u/ G5 K# o* V' d g% c- O+ H' s
at ActionGroupDemo.main(ActionGroupDemo.java:67)
% Z9 f4 E4 t. ?- x0 n3 M% s) I, d& p5 L- V) R% F% @+ o2 c
@) Q5 a: ?& x1 F2 d* simport swarm.objectbase.SwarmImpl;
; v7 {! j9 a3 z% [8 i! t: _import swarm.objectbase.Swarm;
) A% [. t Q: x4 pimport swarm.activity.ScheduleImpl;
+ A6 {9 e7 a2 @, Y7 Nimport swarm.activity.Activity;
: Z0 S) @) o, c' \import swarm.activity.ActionGroupImpl;3 R# _) h9 x; a# W2 R
import swarm.collections.ListImpl;, P+ S2 ^. I% s
import swarm.defobj.Zone;
" S! c @8 ?0 W0 C" rimport swarm.Globals;
, f6 r6 _! D$ ]import swarm.Selector;
/ T. R. @9 u5 U. K- Pimport swarm.activity.ActionGroup;
: i, Z& u, b9 F2 _% Nclass Agent {# K( D* B% w9 o# {$ V
char id;
# z# V6 Q/ X( V% o/ V
: [0 Z2 |! W3 M' l( T Agent(char id) {- T+ w+ x( j+ f( j1 G' U
this.id = id;
; {2 S6 E& j. W, w& q' l; T. K }
( ]3 Y' L- v. R8 c+ [( N/ _# Y. c, _* p4 L4 J' [; y5 |5 z' U
public void agentStep() {+ ?/ g* r# d( b+ o) ]" ?
System.out.println(id + ":" + Globals.env.getCurrentTime());
9 K [3 b+ Y+ N/ b0 p) u" v, t7 ? }
6 e6 X6 Y, u @% ?1 ?. }}
1 s, J, d6 ~* q* e$ n& a* a W% D* l
: g) C' { v1 f' ppublic class ActionGroupDemo extends SwarmImpl {
. W/ L, X( a6 h) d! M: P+ ^2 ? ScheduleImpl schedule;1 J1 C3 T Q( I- r2 k
ActionGroupImpl actionGroup;2 P% \/ [1 p( _
ListImpl list;
2 g% _/ D1 k7 ^ char Id = 'a';2 w7 u9 v; L. T! r0 g
+ W# V4 |# ^- h; K9 L ActionGroupDemo(Zone aZone) {$ F, \ M' P* @$ y. ~
super(aZone);
7 r5 p7 `$ H- O! X# \/ j list = new ListImpl(aZone);0 _5 _0 K1 y- _9 a1 [* Y# i( n
swarmSetp();
) |: \; i1 A. ~" @4 b: c# q6 `7 ~' m actionGroup = new ActionGroupImpl(aZone);$ a) K" T- q4 y" S% b/ I3 R
schedule = new ScheduleImpl(aZone);+ p% t& G' v( V: Z' Q$ N
try {
1 Y) a3 N1 a, Z5 V& o8 z Selector agentSel = new Selector(Agent.class, "agentStep", false);
: W+ W5 \) p3 A/ \, ^ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
2 \( w+ M) G1 d' M3 U : U5 Y: j3 q. V" J/ s
actionGroup.createActionForEach$message(list, agentSel);6 a. T, D3 E+ R6 m& c7 Z/ t
actionGroup.createActionTo$message(this, swarmSel);
2 M5 v z0 {& ~* E$ s& T schedule.at$createAction(0, actionGroup);
9 ~6 s2 f$ d" q0 i m: u schedule.at$createAction(1, actionGroup);/ y% ~' Y, o8 c0 P7 j$ F
schedule.at$createAction(2, actionGroup);
! t* j, e" n: h) P; @/ b1 }* w- a" |4 H. r( D: G3 A
} catch (Exception e) {
3 y/ m% Q# `4 a+ O, q6 ^; a: s e.printStackTrace(System.err);
S! x7 t4 x4 J5 b- T& R //System.out.println(e);5 x( @/ M' }0 Y4 Z. F( O1 B9 f9 o
System.exit(1);0 u# a: l; D% W5 f/ s V# a
}
7 J& l {- b6 ~5 ~$ v) C7 x |4 K) U
o& K. C; ]2 I& X: T
}* I% V S2 t3 P# Y1 O
8 K+ }) g+ ]" k0 e private void swarmSetp() {
' o. A* j1 J+ w3 x; R list.addLast(new Agent(Id));9 m: K( Y1 O( j6 F- t
Id++;3 b; T. N- A, s+ C! G6 I
}7 ^0 ?3 ^* N, h" R0 }
: d; s* G9 y6 C public Activity activateIn(Swarm context) {
' z' [: J- \9 h, H! r) } super.activateIn(context);4 _. r9 W$ }- U. r1 ~
schedule.activateIn(this);
^7 U$ U: p/ Y' q w9 c return getActivity();, j- j$ D" ~* t% S( S; {/ Q, t$ J
}8 f! O$ @: S1 `' z
4 C" R4 K% ?) Y# f; ]# @% m6 M
public static void main(String[] args) {
% Y/ U o4 Q8 |6 [" p# c Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 K; O8 M8 M: _2 s5 p& ? Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
! O0 l4 e- {) k8 u swarms.buildObjects();7 N- D6 O" e. _4 Q( \9 \$ z1 ^
swarms.buildActions();
$ [. [! h- d$ u; J" f swarms.activateIn(null).run();* i) |/ l$ p5 J
}0 J. f1 Z) j' S9 b6 O# i+ p5 }
3 C# m& {' `( e% x5 Z+ Q} |
|