|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
2 \ m$ x4 {# c% N- b' W$ G4 `: I, i3 O) `2 t
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
: K# d0 L" v0 i+ ~以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ p" _0 x; B; K
swarm.SignatureNotFoundException6 k7 O4 L8 \7 b q& `0 {4 |
at swarm.Selector.<init>(Selector.java:76)0 X; g& U1 g' @3 @% _
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
- e- T- `9 f& _ at ActionGroupDemo.main(ActionGroupDemo.java:67)
' J, I! F6 {5 Z: {, H" [3 a% V) o2 J9 {" ?8 V
) d) s8 n% t+ p+ a1 F' q% t+ j4 R% C. Kimport swarm.objectbase.SwarmImpl;
* m8 P/ p6 u8 y. b$ R! H- Iimport swarm.objectbase.Swarm;
7 ` s. J0 g9 o- P5 @, zimport swarm.activity.ScheduleImpl;) e9 p/ k5 b$ B' O7 L# l: x
import swarm.activity.Activity;7 V1 U, |4 Y5 X0 l* F+ u6 E& @- c, J
import swarm.activity.ActionGroupImpl;
( N% f: F# w: ~% _* vimport swarm.collections.ListImpl;3 }7 L4 j$ J9 Q
import swarm.defobj.Zone;
9 x3 V- _9 {2 mimport swarm.Globals;
% d2 x1 g5 v, l, X% f' timport swarm.Selector;' q% r5 n2 u: @3 z" Q) H2 Y; R
import swarm.activity.ActionGroup;
9 t) y; M4 q8 S+ D& h7 |class Agent {
- W2 l* A) X& k4 G G char id;
% Z/ v3 T, e9 v+ \: f$ F8 W% Y( N3 ]$ l) ]. U7 P5 O
Agent(char id) {
4 p0 d* ^5 w7 S' J$ c& P this.id = id;
; L% b+ a: T8 G* |9 D f1 e5 q }6 `: b" q M9 c$ s4 [
( A# c5 m3 X0 J3 {/ g
public void agentStep() {* x1 k; Y: z- ?% t! t! a0 f
System.out.println(id + ":" + Globals.env.getCurrentTime()); c6 I1 z# z* A
}
$ q8 f* _6 K% w# T3 M( @* ^5 S}
8 S+ b* E7 C$ O, `# |3 B0 \4 f
) } x. C+ M5 [4 Wpublic class ActionGroupDemo extends SwarmImpl {. f6 J& r& r8 \- C. t6 F
ScheduleImpl schedule;. x. I& I, g! S
ActionGroupImpl actionGroup;+ k- M7 o1 y n6 V# L, \
ListImpl list;
3 g9 M& W, h |$ D, D- _: h. I+ c char Id = 'a';
7 S1 s9 a# B" x" F* E: Y' y- Z8 D, E O! u
ActionGroupDemo(Zone aZone) {
% B" y. E/ L/ E) h; z; Q: K super(aZone);
+ ]3 c d. Q- n% Y* P& c2 D+ ^ list = new ListImpl(aZone);5 T1 w6 M* g. V( ^# ?, t& k
swarmSetp();! V5 l4 V1 W8 Y; S
actionGroup = new ActionGroupImpl(aZone);* h7 B4 Z7 W" _
schedule = new ScheduleImpl(aZone);! u+ H- e/ Z0 p# o u; _9 _9 r
try {8 ^2 I5 u( E+ }6 @& P
Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ Y: @2 r' w( T( h: \9 B. Y; Y Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行3 C- z6 N" T# u& q; @! A
9 \' I$ F: }+ A: k
actionGroup.createActionForEach$message(list, agentSel);
& ?, @4 X! \: R T4 Z2 H# r( E1 k$ U actionGroup.createActionTo$message(this, swarmSel);# t% p; T* |. U, C! H1 m
schedule.at$createAction(0, actionGroup);- @8 ?1 r; C; c% ?2 X
schedule.at$createAction(1, actionGroup);: V9 A7 H5 A" v. x' b. n5 r6 ~
schedule.at$createAction(2, actionGroup);
( @1 b! R/ i0 o% k; C/ i8 F& M, F3 i5 W w, P6 _
} catch (Exception e) {- a% e6 G" s7 U9 c, z) K' C. s' j8 t
e.printStackTrace(System.err);6 t# s, }5 @1 i/ I7 y6 v
//System.out.println(e);! l- [) M2 [* o
System.exit(1);
( |+ U2 }0 a5 v; z% C$ M0 v3 X5 | }
/ d% P+ Y6 @# w2 t8 g/ Y7 ~$ N2 C$ A1 O' `$ f2 q" f
3 l: N4 [% X0 V D }
& { I) u( V- M: p
- h) I7 p8 D6 N/ f! C8 Q private void swarmSetp() {* j* ~; L: Y+ {. x9 q7 r* y
list.addLast(new Agent(Id));! G' j$ l7 o! n F
Id++;4 c! u, [; E7 K) G4 ~
}0 ]- ~" L, o# ]$ S5 y
) ^+ x+ s% B/ b2 ^; Y4 e8 Z
public Activity activateIn(Swarm context) {" S6 Y U& s; B+ l% O# N. l$ ]
super.activateIn(context);& ?' S; h" e) G6 Z0 @% ]
schedule.activateIn(this);
* F/ ]8 m9 n1 @8 h' d return getActivity();8 \8 I5 c; b# v6 [& b9 u; K
}
$ l" f# z" P! {% ~3 A' F; R t5 P/ p8 }# k+ [
public static void main(String[] args) {
7 F- x6 C/ k6 h' P' X1 P Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
j" m" t' a v Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);8 x b6 B0 g1 B0 X$ u0 c. b. k. H
swarms.buildObjects();
. W9 j5 a% B" u- V! ] swarms.buildActions();
& G: W' F( a* U, |. \- J swarms.activateIn(null).run();
# E; k4 z) }; d' X3 a3 x) j }
1 U* M9 m8 Q! y8 d2 V* H$ A& X+ e& ]3 c9 }8 V+ E
} |
|