|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - W R+ s4 `' Y
* U2 ^- W/ O% B& c6 f3 h本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, k$ A0 I8 \3 b) i
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
: l5 q' G% j* N$ W* vswarm.SignatureNotFoundException: N( ?& k5 g" d: O( |
at swarm.Selector.<init>(Selector.java:76)% m' j% ? C: t t; H
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
) o* M7 L4 c: o1 E at ActionGroupDemo.main(ActionGroupDemo.java:67)
/ F9 T" o0 E" s, s1 i" b5 O3 s1 |
m( _! E$ F* J# ?( Y3 V+ S
import swarm.objectbase.SwarmImpl;( N! `) K. a+ M/ k. a" a) y
import swarm.objectbase.Swarm;
' H Z6 d* g( G9 V' jimport swarm.activity.ScheduleImpl;
) U& e3 h4 [5 T) Vimport swarm.activity.Activity;
7 I2 |6 N3 Y: y# x+ h& e+ Nimport swarm.activity.ActionGroupImpl;$ q! X$ k9 [) _( T9 m
import swarm.collections.ListImpl;, F7 L4 x! d \
import swarm.defobj.Zone; 2 @) ?2 ~, Y1 d$ Z- b! g
import swarm.Globals;
& M+ b) k9 h: {8 C ]import swarm.Selector;
6 T- m% y: J( V. P- iimport swarm.activity.ActionGroup; ! X. f0 f' ]* S6 @
class Agent {. _' I g& K4 G, v/ _4 U
char id;$ T7 C; u3 x! n8 m, `: w2 j
1 Z2 j9 ]2 U) }6 V Agent(char id) {
5 O0 |& l" {' A8 q% A. F this.id = id;
; `: A! y& ?- i0 D" M) ? }
, I6 j6 y# F' E% V4 h
5 K7 k K) n: `5 s+ u public void agentStep() {
6 C) r+ B' p2 h8 ~6 O6 H5 B# s/ P System.out.println(id + ":" + Globals.env.getCurrentTime());
# j4 h- z( m8 J `( d3 \ }/ F8 q+ P' [/ T
}
7 D7 e9 r4 [9 g2 I' r1 ^8 k( A6 A3 O0 ~$ z+ K
public class ActionGroupDemo extends SwarmImpl {7 q& `/ Q2 a# ^; m
ScheduleImpl schedule;% C% y! C2 y$ m6 i3 ~% _
ActionGroupImpl actionGroup;
: V) f2 Y% ]7 Z+ o ListImpl list;
& V) N- q1 M+ G/ ^- O: }7 \ char Id = 'a';
8 s7 V8 p! h: h3 s* S$ _6 O6 a/ X2 c$ y5 Q" }: Z
ActionGroupDemo(Zone aZone) {
3 M7 C" u; o8 K; U super(aZone);
( v; n& Y( R. z/ n# U/ C list = new ListImpl(aZone);
: P$ q R# c/ w, b# |- g swarmSetp();2 V6 j$ A9 ]* u/ \
actionGroup = new ActionGroupImpl(aZone);% v! t$ q5 P- j
schedule = new ScheduleImpl(aZone); I5 H. G: r- V+ C* ~: L! b& M
try {
! y+ z, ^$ m0 s1 W, P2 [2 Y* A- L Selector agentSel = new Selector(Agent.class, "agentStep", false);
* d$ d1 r, p& [ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
: p* z A4 e* H0 j 7 ^* x: B4 L. M4 r3 b* E% l9 B3 u
actionGroup.createActionForEach$message(list, agentSel);) Y4 W0 V4 C! o% g& Z5 K
actionGroup.createActionTo$message(this, swarmSel);3 Q5 l f) E9 l( n0 E6 \
schedule.at$createAction(0, actionGroup);
) Z+ t, s! A0 P; R1 N schedule.at$createAction(1, actionGroup);
1 T) [ q/ V. U1 E! _ d. Z0 z' d+ r/ ] schedule.at$createAction(2, actionGroup);
2 a" ?. ~- E; f) b
3 [& C2 h+ U# p# { } catch (Exception e) {$ x4 A3 k; n! I1 Q" G9 k& Q- T
e.printStackTrace(System.err); n; U& r4 M* S% N( V, W, o
//System.out.println(e);0 F3 m5 E) F0 j4 c7 L/ B8 K
System.exit(1);% I+ |' u, J; l0 M7 ?2 x$ a W) a8 ?
}
( x; S+ p/ f z6 X2 S0 n8 \
- b' {9 `( \5 U6 \
1 X r! a+ V! M @ }0 t% n; z% ^3 C$ c# Y
8 B. X$ g$ S* G( g* K/ N1 T private void swarmSetp() {0 s1 h' w3 \3 @
list.addLast(new Agent(Id));- n% v& n; z6 ~& E9 r2 C. F6 y. M
Id++; x; M( [3 q. n! j# ~% O
}
4 A9 s2 j0 N Q4 c( K3 V; u) q- I, b, b# m; f5 K/ O. Q$ I9 L
public Activity activateIn(Swarm context) {
. m9 B% l5 z* l' K2 L super.activateIn(context);
H3 m* ~& x+ I, g$ D! W$ d' S# e' I schedule.activateIn(this);
h8 z) o4 v: Z+ v6 Z return getActivity();# _9 I1 M7 \! H, }
}
+ p/ W; K; W S* x# | [' a- }/ F# Z* m
public static void main(String[] args) {
0 `1 m6 s. Y- V: K# J0 b* m2 i- {7 t Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
+ h' O! L5 p1 ^! M+ C Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: c3 v# J5 Z; G6 k+ @ swarms.buildObjects();
* z! F4 I2 c) q+ d# W! L* J swarms.buildActions();
. A9 M. T5 u- v swarms.activateIn(null).run();1 q+ D3 g; p) r4 v( m/ g3 O
}9 M# a0 E8 W1 c9 p/ K; Q: `1 E
: R3 r" O% G2 X( u" K8 q5 J} |
|