|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
9 I. |* z) E4 P6 l! ^7 i* h; {$ O3 x% d- |0 M0 n
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
3 t9 [! x0 B/ ~+ ?# |( V4 m1 n以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' h9 G+ G( L0 c6 V0 S. x Q
swarm.SignatureNotFoundException
; n" M& i0 ^. j at swarm.Selector.<init>(Selector.java:76)- i" u. \$ a$ L' l: }
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
- T# L- j6 \( z% R at ActionGroupDemo.main(ActionGroupDemo.java:67)! q8 w! K. A7 q0 _/ J
$ M5 y) n& A% J E r. k# C2 |" ^+ o
import swarm.objectbase.SwarmImpl;, q4 Y7 s# z' T8 n/ f b: W! R/ ]
import swarm.objectbase.Swarm;
2 v! P4 S7 T5 e/ eimport swarm.activity.ScheduleImpl;% E; J; Z, ^' o2 k* r4 [9 K
import swarm.activity.Activity;
* @. p0 g3 r8 |' zimport swarm.activity.ActionGroupImpl;! e, Q: Z# x( G: @$ f. X: I
import swarm.collections.ListImpl;8 U$ u8 D6 g( u0 ~% O6 e
import swarm.defobj.Zone;
. {. e u- V) Q1 l( o2 H2 dimport swarm.Globals;& o' R7 Z6 d1 D
import swarm.Selector;
' T- C7 |; I, m; o, B, y/ X7 cimport swarm.activity.ActionGroup; 8 z3 x& s; F: R" @1 [( ^# T
class Agent {4 h% _. B0 W* z$ o$ u' w+ D
char id;9 `! A$ [& a' j
2 I* k: W/ Y% C
Agent(char id) {
) Y4 i7 k: j, T# I' \9 a4 P this.id = id;7 k$ G2 y2 f/ m+ o( R. W9 L
}5 u; s7 @6 a" Z' h
]8 l& f; K! J( ]# Q4 _
public void agentStep() {, a% g0 c1 @% E9 P Y$ n$ b
System.out.println(id + ":" + Globals.env.getCurrentTime());
8 p; s% H$ I2 {! z5 n( L8 y V4 m }- Y- X! A D3 q; E4 V
}( u" [8 s, i: a4 e% ]8 {+ G7 `
' r9 x$ V3 E8 j/ \5 Apublic class ActionGroupDemo extends SwarmImpl {
3 w4 e$ a9 R, a" k" Y5 V0 T/ m( ? ScheduleImpl schedule;
( T1 X( T, w' g2 ^! F2 } ActionGroupImpl actionGroup;* H& |: ?$ X+ f# j. a
ListImpl list;) J8 b# _2 Y1 ?
char Id = 'a';$ ], O/ Y9 z+ Z6 ]3 y' q
9 d1 U0 \( E! c3 m ActionGroupDemo(Zone aZone) {
& M z( Q0 j# d& N! V- A super(aZone);
" t# x4 H- x5 e/ w G. A: z list = new ListImpl(aZone);
( O% ]0 Y! ~" u/ o ~+ G swarmSetp();! @7 W5 ?. r9 _: ]; m$ }2 A
actionGroup = new ActionGroupImpl(aZone);/ O# ^1 O0 f! D7 `5 q0 t3 E
schedule = new ScheduleImpl(aZone);
7 Z- A! _% ]4 Q+ {7 g try {
. g1 i6 |" x9 M- k4 \ x2 V Selector agentSel = new Selector(Agent.class, "agentStep", false);* g: V! ~# |1 g2 `7 l, z
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, d/ I; n9 y& h" }
: ]; t4 O I% P; d3 ? actionGroup.createActionForEach$message(list, agentSel);
9 y, J& Q! W. w! _ actionGroup.createActionTo$message(this, swarmSel);
9 F7 m0 b5 V9 @8 |! Z' Q' r schedule.at$createAction(0, actionGroup);' \. D' X3 E- O5 {/ ~, s6 R
schedule.at$createAction(1, actionGroup);8 [0 m9 c% y. U0 }& ^9 P
schedule.at$createAction(2, actionGroup);
$ F' n* |* O) B7 O, q: f9 J/ T! R' d$ V
} catch (Exception e) {+ [: G. S" M, Q$ L
e.printStackTrace(System.err);
# j' A0 k, A6 f0 U1 W2 G //System.out.println(e);, Q2 f/ |) ^' ^9 M$ a8 @& Y7 M
System.exit(1);3 F! f5 p+ S$ g5 U9 T
}
6 G) ^9 \4 G- R$ @! n M2 J c1 t6 ]$ ]. p( @/ f- J
8 J/ [( L5 X; M
}
- e3 I( S/ S0 W) ` h' t. y. ^' a/ R( N7 @ M6 w% U9 T& F
private void swarmSetp() {
2 |2 |. `/ C3 ^6 y list.addLast(new Agent(Id));: s( z, M ^( a" n' D
Id++;
. L4 o2 f+ a6 V9 }) l9 a4 \ }
6 C6 I9 a# V+ W$ }- t2 v5 d* Y( y4 M, @+ c
public Activity activateIn(Swarm context) {
4 f& r* \/ m& l" u% o) m$ N super.activateIn(context);. H5 H8 Z* G+ q' E4 U
schedule.activateIn(this);
% y( R5 x: z9 R; \ return getActivity();4 j2 m) R9 y/ t
}# z2 N$ t! u. |& r
# E# x8 k/ S( T) B4 W" o$ ]
public static void main(String[] args) {, t5 [6 `5 K& s& C. k; e$ C0 C
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);/ V/ L+ F9 c; l5 k
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);, N0 T+ R% @# S' Q6 T4 [
swarms.buildObjects();7 i# a p V. `
swarms.buildActions();
0 B: I5 R, h+ S/ X: G" i& A o swarms.activateIn(null).run();8 R" e' ? L7 J/ h1 m3 b
}, T% W+ |- h( h7 [2 l4 [* J6 \9 a( H. x
a- O% P# d: q7 x* j* z, ]} |
|