|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; Q3 }* A) N+ r2 X0 a
4 u7 Q9 H0 o: j. l4 ^本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21( B0 o) k! d% I+ K' r& @
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 k& v2 z6 b# Q @0 o
swarm.SignatureNotFoundException
6 D; v' b1 w& _4 K at swarm.Selector.<init>(Selector.java:76)
; T1 D7 y% V0 t+ M8 T# l' m at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
4 Q& h$ `1 a) S% ?7 H1 g at ActionGroupDemo.main(ActionGroupDemo.java:67)
( l( q% X* x' Z6 \$ {2 a; T5 T
, c: T# I/ `- h3 ?+ G) ]+ {( C) X1 I% R' K/ n, W4 l
import swarm.objectbase.SwarmImpl;
7 U* b7 L( X# J2 k$ Q1 T `) O1 mimport swarm.objectbase.Swarm;
9 f8 D$ L. }. w9 h$ j+ ]import swarm.activity.ScheduleImpl;. d# ~& c8 t0 W4 H# P
import swarm.activity.Activity;( `" f: Q: |* J" v0 q! d x$ o x- F
import swarm.activity.ActionGroupImpl;
1 e/ N& U; I# [8 Y# Simport swarm.collections.ListImpl;$ n; F4 q9 t8 u3 Y7 f' Z
import swarm.defobj.Zone;
! K( q, d: B6 f+ jimport swarm.Globals;
8 ^- h O6 i/ j# x C/ Eimport swarm.Selector;
' \' p8 x# B0 t: s5 x o( gimport swarm.activity.ActionGroup; 7 |- R6 ~& s: O+ c/ P
class Agent {
" a/ R: J% k: J+ B char id;5 H) o* l$ |! {" Z! N' @
: M% L( c' l8 R+ F- m
Agent(char id) {/ p8 {' a( H$ [* q# t* m
this.id = id;% A2 Z, Z) I Q' z% H
}) R- ?, U# ~1 a8 c& l/ X2 y: N' t
2 h; c. n0 ]$ k; e# H: s8 O! F
public void agentStep() {
5 c5 F! G8 [; n- x% _ System.out.println(id + ":" + Globals.env.getCurrentTime());
4 ]! h$ g D t9 T1 P- T }
4 [3 S3 k, p: F! C6 O @}0 u1 R8 E) g5 U7 H
$ C- E# j% l" d, J# I2 _- y& fpublic class ActionGroupDemo extends SwarmImpl {& u+ @% {# C6 Y! w0 b0 U, y! I
ScheduleImpl schedule;2 Z) |4 R7 k3 G: N! z9 B
ActionGroupImpl actionGroup;( g! l( P1 t7 F: \2 r+ K; Q- B
ListImpl list;) d" N9 q9 s' D- M, q
char Id = 'a';
p" {5 y( o6 I" T! j: @: c1 j$ x, N
5 c ~" T6 a8 x& ~, d ActionGroupDemo(Zone aZone) { K7 r! H" v& G; C& j1 p5 Q+ [
super(aZone);
8 \9 v, C) k( j& `- R. T list = new ListImpl(aZone);$ a9 a. x3 u$ ^
swarmSetp();( h) ]" Y1 ]. | a6 T
actionGroup = new ActionGroupImpl(aZone);
4 U, m3 z; w/ s9 X1 S$ W, j" f schedule = new ScheduleImpl(aZone);
* J% a( Z/ j U/ ^ e) M& h try {
3 i; L& Q1 G+ G, ] Selector agentSel = new Selector(Agent.class, "agentStep", false);) M( Q( H/ p6 b- \& N
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行3 P ?# W W1 ?# ^! t. k3 K
7 N! K1 C+ ^1 r8 B3 E actionGroup.createActionForEach$message(list, agentSel);
' a# P' n5 ?: \8 Q' a2 Q2 I actionGroup.createActionTo$message(this, swarmSel);
8 v, r+ o6 M. h* w& k2 k schedule.at$createAction(0, actionGroup);
0 Y7 j1 ?5 `; }0 C* h/ k7 O schedule.at$createAction(1, actionGroup);! \/ E: M2 ]) F6 a2 f) u% ~
schedule.at$createAction(2, actionGroup);% Y" i/ a% N/ o& }* F' J) r3 d/ B
. r: F# ~7 H5 W: z" B
} catch (Exception e) {! c: r3 T# b% J4 m! }1 d/ \! @- f6 h/ A
e.printStackTrace(System.err);6 N# \0 G, ]- f
//System.out.println(e);8 v7 f' S# G6 l& Z( z# E
System.exit(1);7 R9 c2 ?$ R: E3 t' F
}
3 I. A, j/ c4 n; ?! X3 b' N" M1 u4 O. k+ P
: `# F4 s+ e' ^. o7 F7 q
}
6 N: O; b5 @1 I- L* l# h: v$ G) T' a- W
private void swarmSetp() {0 [2 T: x$ b9 O2 `
list.addLast(new Agent(Id)); s5 R& O: c# f+ {: n
Id++;
$ ^2 B- ?; g& R' ? }
7 ]& r! U& I0 e% L6 x7 \4 c
( w, E9 U2 h& P( F1 ] public Activity activateIn(Swarm context) {
. S1 \) o0 Q) p8 {# Q4 h super.activateIn(context);. N+ `9 Y4 Y1 Q
schedule.activateIn(this);
# G0 }# E/ z; m) @# O2 x" ?( M return getActivity();
: Q+ a9 E/ {2 d* q# R }5 u. J( _5 R: O$ F) g4 ?/ E0 b5 R
+ a7 g( R' U$ @
public static void main(String[] args) {* T2 C8 J) S1 H; T) J t, P) h
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);8 {) ~' C3 X& w+ Q% |4 p
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
3 z: _% J% R- M/ I$ @- ~ swarms.buildObjects();
6 i9 N9 V/ ]3 O @. A; y7 b swarms.buildActions();1 K8 o6 P+ V+ x& p- o2 T5 J
swarms.activateIn(null).run();- }8 l5 ], i6 x: M4 F
}7 _7 F8 N' h% E) S) I3 r9 x& l
3 }- Q% i9 b0 \% }
} |
|