|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * x' K+ L [# c; M6 i e# d1 T
# @5 W8 R7 l8 v$ ^! A
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; Y+ Q' J9 D( q. _7 P/ X
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
! e8 y4 t: J" J1 dswarm.SignatureNotFoundException
" R( F( t/ m5 z9 S; _$ Z3 z+ ~ at swarm.Selector.<init>(Selector.java:76)$ i' ?+ C- i& W3 o4 V( r: r6 P; n
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)$ g4 M/ s8 w0 A* O! F" n8 z
at ActionGroupDemo.main(ActionGroupDemo.java:67)" F9 k: j. \ d: X, c- [ B: g
. U/ b: _! N3 A0 L/ Z0 P
% o" T0 l' P+ H
import swarm.objectbase.SwarmImpl;
% @) X/ U4 @* Yimport swarm.objectbase.Swarm;( ~3 i. I D4 m, {: a
import swarm.activity.ScheduleImpl;
& t2 `) I/ E/ L: W& jimport swarm.activity.Activity;. y' i* o9 R8 ^6 |
import swarm.activity.ActionGroupImpl;3 b" E( l: Y3 X* q
import swarm.collections.ListImpl;
; k5 U( [3 c% J+ v) m; |1 ~/ wimport swarm.defobj.Zone;
_5 H& q( d* V- ~. h, Y- Cimport swarm.Globals;4 x- J8 ^& d' o) a" M. N* L4 I
import swarm.Selector;
1 b& b8 M) W6 d) t. Uimport swarm.activity.ActionGroup;
+ s4 B9 B. n/ k p, n9 |* |class Agent {7 p3 p0 T& c9 L. t9 S
char id;2 {9 Y ~, l) U+ p& @8 X. h
, S- N/ b \& Z* z4 G+ m# e2 p5 s Agent(char id) {
+ l; C4 w% G8 N this.id = id;
/ h/ h+ J0 L3 E) N1 N }
/ x* T0 n; O- Z+ c
5 s+ w# O" n/ x public void agentStep() {
+ b8 ~ u8 M+ j- D# Y* \ System.out.println(id + ":" + Globals.env.getCurrentTime());
/ ? Y( i7 T1 F: @5 p( ?5 Z }
* ^5 o, I6 f: t; [, C [}/ [# X, C8 k& ^: T% t* _
$ V3 K) Y' V) O+ }) W
public class ActionGroupDemo extends SwarmImpl {& n; R6 d* t& Y' R: V4 m
ScheduleImpl schedule;, B; O D, S/ i8 z$ n5 S
ActionGroupImpl actionGroup;
( E3 f8 G! ?+ Y9 d9 U ListImpl list;# |& y+ F; _$ x% V1 v* ]# t1 c
char Id = 'a';
( v2 p4 G& V* M) C7 y, u; {
( t" ?7 P& |$ U1 g. R8 u4 z ActionGroupDemo(Zone aZone) {! Y) Z$ o1 u4 Z# \! J
super(aZone);
1 D. o( a) c" \ list = new ListImpl(aZone);
4 F1 X" p5 y( @8 N2 q' t' R" x swarmSetp();
( Y" G/ `5 R0 g9 t+ ~ actionGroup = new ActionGroupImpl(aZone); x$ s& O. S( M u! p! T
schedule = new ScheduleImpl(aZone);
- d; e5 D% P1 L [8 E try {
5 W. r9 X/ e8 b6 P+ G8 p5 J4 c Selector agentSel = new Selector(Agent.class, "agentStep", false);
. \ Z6 |! H* c$ A& P; f! J' t Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
7 x) R( w5 d2 X& w" ?3 i( Q
3 Q. p6 Q0 ?9 [ actionGroup.createActionForEach$message(list, agentSel);2 I- z0 Y! ^6 S1 \& t# I0 D
actionGroup.createActionTo$message(this, swarmSel);; V# m3 }! O4 m; w& z* T& P
schedule.at$createAction(0, actionGroup);
6 ^. A* ]0 X* M% T! E/ ]2 r schedule.at$createAction(1, actionGroup);
; `; v. Y1 U7 f3 Q) e; t schedule.at$createAction(2, actionGroup);
' _. q0 ]2 c' G L: r
8 d2 p3 k1 t- o c! q" r( \2 { } catch (Exception e) {9 b# ?% p5 p& o$ F8 x% C8 Q5 l
e.printStackTrace(System.err);1 p1 e, A: i/ |% s
//System.out.println(e);
1 U. m- l) g* f' d1 N9 N System.exit(1);' X, L# ~+ d! J( B
}
1 U- o3 q8 O+ _+ }( M6 f1 ^) X# W& F* a4 ^$ M/ g7 v& w
8 w0 @3 ~, M# V }
4 T+ Y3 v8 D8 r! G! y/ M
' L- S8 G$ f0 Y private void swarmSetp() {
& \; z3 o0 L8 x- W2 w- B list.addLast(new Agent(Id));
( F0 B! X; X7 M' O Id++;& K; P. g0 R, i( Z
}% Y4 j" l1 l. _
8 _: F3 C! g" J) R
public Activity activateIn(Swarm context) {
2 d+ ?3 t. T7 d" \+ t: K* L super.activateIn(context);
3 g) M+ X* g' [1 r. d( u) @9 W, w schedule.activateIn(this);
+ F/ r j9 g* m# y' s8 M return getActivity();
5 p3 L4 e {; W- A& b) e }
7 s; O; ]/ a6 v5 L# v! T. z, s6 S3 F, L7 R. ` f( t! K1 c
public static void main(String[] args) {; k6 u2 Q5 Z0 C/ ~- [
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 a9 Q- Y* v+ y( ]5 [ Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
5 w9 ~. q/ ]; C* V( \ t swarms.buildObjects();
3 U6 j! j1 L% ]3 H' G4 J swarms.buildActions();
K( n7 N! w( c9 g; p: E/ a swarms.activateIn(null).run();
& d+ r1 K5 a. O/ Z3 P1 K }
( |$ ]9 f$ A7 ?% H% `- i
0 Z9 s- g, ~8 \1 H5 ~7 I% I} |
|