|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* r% t$ h6 Y. C& u C4 U! D3 d, j9 X
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! m* G C- m, {4 n以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
$ V/ ^2 W; U# X9 w2 F6 Y% yswarm.SignatureNotFoundException$ g$ _: Z4 Z- j" r4 R3 S, d' j" ]4 M
at swarm.Selector.<init>(Selector.java:76)
# u- u" ]8 |7 z& {* ~( V* ] at ActionGroupDemo.<init>(ActionGroupDemo.java:37)7 s- R5 z. F/ n" B) l
at ActionGroupDemo.main(ActionGroupDemo.java:67)+ E- D5 d; Q, c
1 g/ ~( e2 X6 n$ Y, {
/ B8 @' y+ Y0 J& Zimport swarm.objectbase.SwarmImpl;' k3 ]6 I# P5 [$ c4 _! V
import swarm.objectbase.Swarm;6 q/ S5 v5 M6 V# w
import swarm.activity.ScheduleImpl;
/ Y8 F9 V2 z2 p# [( v5 [- J1 Fimport swarm.activity.Activity;9 Q: R# v2 A8 v( x7 K& j3 S
import swarm.activity.ActionGroupImpl;4 c" ~4 ]( b$ l. H% |# }
import swarm.collections.ListImpl;
! f- R9 V4 o+ L- H" A7 eimport swarm.defobj.Zone;
- e+ {7 R: h3 i) m/ p. i& F: pimport swarm.Globals;; z+ j- n' x1 ^ q- T/ c! a
import swarm.Selector;; t/ _& s+ O' X) @( _& B3 _
import swarm.activity.ActionGroup; 3 l6 x. V) Y& E3 C7 y1 V8 Y% @
class Agent {
' V" B+ K) M" [! S char id;) g3 b% X' k4 k( L( g! p
1 N7 O" p+ B* L+ U% {$ t
Agent(char id) {( I: ?; c" p2 c( y
this.id = id;
Z$ l* v- t- p/ H* l' D! O6 @ }
" _7 l# ^. z+ G4 G9 p/ [! z- A+ e* i
' a/ \+ {0 i- p public void agentStep() {, h+ v! ~! n; H; C
System.out.println(id + ":" + Globals.env.getCurrentTime());" F- E' X. U$ h
}! J, H' D+ w) Q3 L
}
. q; u9 ]0 ^; y3 s4 J/ `" {
P; Z) c5 G$ h6 _1 lpublic class ActionGroupDemo extends SwarmImpl {
' ` d9 [9 ~ E% w+ w ScheduleImpl schedule;
, O% Q" s( p) p5 O- W ActionGroupImpl actionGroup;1 T, Y/ |; S; @) c8 {0 X
ListImpl list;1 V) I) q+ E3 A1 }* f, h
char Id = 'a';! U& V! j+ P- i2 W( S- N' I
* D% @+ Z# K0 n5 L ActionGroupDemo(Zone aZone) {
2 Z5 Y7 E s+ O+ ]7 r+ j) ]9 ] w; ^9 W super(aZone);
, g6 K2 n2 H N! O list = new ListImpl(aZone);
6 Z G; n* D }. {6 f; w j. [2 l: e swarmSetp();0 i$ a+ V9 o6 h
actionGroup = new ActionGroupImpl(aZone);
+ `" N0 e- v8 b/ D+ R2 w! v6 ^ schedule = new ScheduleImpl(aZone);. c' I1 E8 A# {1 L& W) c
try {
0 ~1 I: Y8 U% C' L; h- }# F2 H$ G b4 M Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ V T8 k1 E0 C- Y Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; h, C6 W+ D, v0 Z* r
m" i6 C L% K; D: H7 s
actionGroup.createActionForEach$message(list, agentSel);
+ n& T$ f2 c9 j q actionGroup.createActionTo$message(this, swarmSel);
- v( t3 p8 I4 ]9 F0 q) w" g schedule.at$createAction(0, actionGroup);7 S- y) I8 V9 W# n1 @' q1 e5 Q
schedule.at$createAction(1, actionGroup);( @0 _: ?1 _1 O+ D
schedule.at$createAction(2, actionGroup);; `) l6 [4 z) r# |7 ]
9 j! @) Q/ V2 M( @6 l. o! s" z; ~ } catch (Exception e) {" X w* a! I7 q' y" P. l- F
e.printStackTrace(System.err);* |; @9 t- T, \& A; o
//System.out.println(e);3 \) ?5 e2 }+ F4 e& q$ t
System.exit(1);
4 [9 ?* S# m3 r; U. z' M* j }1 t8 y1 j+ e2 J3 L7 B
6 R- A% H; z2 J. J4 D* [3 X2 j: X* G% X9 b8 e: I. P. l5 p' n! L/ f* k& R
}
2 K; P6 {: p2 j0 J6 Z& B( N# u0 @, a8 |6 G; t+ u
private void swarmSetp() {
2 V( y) a, m7 K1 \ list.addLast(new Agent(Id));
: `) b7 T- V! ~! B Id++;
' @* r" \& A6 B( w/ l) E2 w/ t, I }
6 U( M1 N$ d4 I& ?! l3 j" ?4 I
) S7 \: g( L; z7 F2 i( p public Activity activateIn(Swarm context) {( p5 k) S: W7 E
super.activateIn(context);* ~& l3 [6 N' f6 A! ?' k8 z
schedule.activateIn(this);
, N& b3 |! u7 ?4 S: v/ D return getActivity();
( [0 f, \! b' F: W0 ^5 Z# t' d }; y( e/ f2 \5 t7 ^* I
8 K3 l/ ~0 z6 P2 S$ o2 l$ ` public static void main(String[] args) {# D! S) G9 P& r/ W4 ]
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 f' T# p! U% Q5 a. L6 U0 f
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);8 U0 T ]% E$ }: h. v3 f
swarms.buildObjects();+ Q6 |% j% r- o
swarms.buildActions();( W: k# ~1 k+ R
swarms.activateIn(null).run();$ K' ~: q# {5 h. k
} _8 t/ |7 M0 W
8 G2 V9 c" {# y n
} |
|