|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
: S- }4 k3 u) y& P t8 j K* m& S2 @ E1 Z
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& U$ I) z1 y) B
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ e! P. ?( [5 w8 h5 }% Y
swarm.SignatureNotFoundException5 B2 M' M9 u S$ {+ Y
at swarm.Selector.<init>(Selector.java:76)& I9 q( p# I0 N2 X. |& r
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 U9 U7 U5 E- ?( j$ V& D9 n at ActionGroupDemo.main(ActionGroupDemo.java:67)$ ]* H$ \( B/ r
4 c# M$ O" ^, B+ X+ O$ @: i$ T. D7 U7 L
import swarm.objectbase.SwarmImpl;5 r, }6 _& d9 Q4 Z
import swarm.objectbase.Swarm;
9 ?0 t# c& p* W: t6 Y) C; _import swarm.activity.ScheduleImpl;, O. K- ?, k2 M
import swarm.activity.Activity;
6 y8 h8 b" o( k7 A7 Simport swarm.activity.ActionGroupImpl; k* P0 S% F' d e8 u" i
import swarm.collections.ListImpl; A- |1 f! { ]3 o5 I& y0 H2 A
import swarm.defobj.Zone;
" _# ` t6 a4 U' J bimport swarm.Globals;
- ?6 A0 U6 v- _ }/ P" @import swarm.Selector;% [/ {' T+ P; g& n' D, H! O2 b3 F2 a/ k, d9 \
import swarm.activity.ActionGroup;
+ R3 T2 |: ?7 _3 Z, J7 eclass Agent {
" [# m( l3 u7 ~/ q- a" c char id;
) t$ }2 X4 v9 `0 g2 A4 ]* D. ^/ b5 L# u5 n) D5 R! a
Agent(char id) {
) _& J P& g0 A& W" R+ e this.id = id;! K- u# ~4 n, u, O9 |; Q
}
4 w, m6 [+ p U+ q4 N3 T3 _/ } _1 k6 E5 X
public void agentStep() {
- o% D+ H7 G3 x$ y System.out.println(id + ":" + Globals.env.getCurrentTime());
! w5 o% s. ~0 N& |% u }% n; S, Z' o. B2 m, C
}
3 m. ~2 I- a( @; V; u( ]# b! J+ f' C/ n) h- \+ R
public class ActionGroupDemo extends SwarmImpl {7 |9 G8 f* t# L/ Z/ S8 M
ScheduleImpl schedule;& Q T. ^ k9 z( Q4 F& z: j
ActionGroupImpl actionGroup;- e- L' B! X+ O4 j, l8 u! ~& Y
ListImpl list;. k, q' A# E4 L/ I/ v- C
char Id = 'a';# f' r. Z7 T& {% U9 `( T' [
* E8 U( i8 X# ~/ z( B7 R8 z& ~
ActionGroupDemo(Zone aZone) {) I4 C- f$ X \/ e/ S& w2 Z
super(aZone);
( ]# ] g4 ?0 E) O" Z list = new ListImpl(aZone);
7 m/ m5 a% v6 q8 P swarmSetp();
/ [3 P; V# t, A U" U+ Y. }! W actionGroup = new ActionGroupImpl(aZone);
1 C- ^1 M& o, t8 s schedule = new ScheduleImpl(aZone);
2 M' i1 B8 v1 J/ p5 o2 z% [ try {# w1 [% X7 V/ O5 U* F$ N0 ~
Selector agentSel = new Selector(Agent.class, "agentStep", false);, T' R8 b! h6 P
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行6 w+ A$ B9 n& e6 R
1 G( {" e2 v! T7 t3 Z' Z
actionGroup.createActionForEach$message(list, agentSel);
4 H; T1 n9 P6 b0 D V actionGroup.createActionTo$message(this, swarmSel); S/ U' I* X0 w6 v4 {
schedule.at$createAction(0, actionGroup); H# d, F8 n/ H1 M1 ^
schedule.at$createAction(1, actionGroup);
7 h ]4 I. f! {' T, @ s5 X S8 j/ f1 _ schedule.at$createAction(2, actionGroup);3 j# U4 ]: a1 `) }: x
3 t: s3 H7 |. O6 L( {
} catch (Exception e) {5 L2 ^; |. u1 ]3 ]8 S. D
e.printStackTrace(System.err);7 E" T4 O8 w% v+ y) z/ o2 W* h
//System.out.println(e);
- N% x4 J( Q6 C System.exit(1);
; V- f1 h& T; }& m, y( ]% W" k }0 }) o% z3 j* b- ?
{- O+ b8 r- w6 y8 [, e- c# C( ~$ R' g* ?- r5 m0 Z8 r5 z
}
) j/ u( v" u* {* b/ a8 a. e$ L- O+ X0 R$ r
private void swarmSetp() {' S1 R) m6 n" C# Q+ g, @$ F l2 h
list.addLast(new Agent(Id));7 z; c* E1 e7 K* V+ H' R( w8 ^( H U
Id++;/ a6 l, F6 N8 D; P0 V. d! U
}
+ i: k" i' x1 V2 t
. L3 G; b" o8 m. S6 j public Activity activateIn(Swarm context) {
; Q7 I$ L/ l5 @2 }; c, x super.activateIn(context);
2 ?& }. Z; E( w* x8 c/ `9 B schedule.activateIn(this);
3 Q: S9 z0 N) _0 M3 N3 F U+ q return getActivity();& I7 N# S: {8 M! Y% i# w6 X ]
}
- U4 Y0 F# v' V9 G0 R% R" `
/ z5 p$ {% T* i public static void main(String[] args) {, ^( a0 k) x6 B4 ~
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
- Q' [) F; r! b9 S# R Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);' G/ \; I+ U# V# w
swarms.buildObjects();
# r! [* @" L2 G5 X7 c% s swarms.buildActions();3 x9 A8 C4 X1 D D% X% ~
swarms.activateIn(null).run();6 @5 g; z- `3 q
}# ~# x V0 B5 B/ z
- v7 E% L7 `* ?" z; E' A+ `. a) f} |
|