|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 6 m6 ]$ x6 t+ T7 Q
' o/ R+ Q7 j9 C8 B. R( d! E
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
9 }" Z* a9 n; d, u; p, _8 M" \以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
+ Q) L; a6 X, K" Z* l5 Wswarm.SignatureNotFoundException6 P7 f9 O2 `. ~& j$ v" H
at swarm.Selector.<init>(Selector.java:76), I# K, O8 y4 d
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)2 R* c3 T! ~- x2 q# o; e, {* ^, @
at ActionGroupDemo.main(ActionGroupDemo.java:67)% H3 d S& h9 U4 h. S6 n
# k: D0 |0 W; j1 N( U9 Y( [2 K% Y! V8 B/ E6 K8 ~- s) D/ ^
import swarm.objectbase.SwarmImpl;0 b1 V+ X. R; h/ ?
import swarm.objectbase.Swarm;
" E; q$ D9 H0 N I3 @import swarm.activity.ScheduleImpl;
/ v$ z2 B# x* l; Yimport swarm.activity.Activity;6 G% ?. [( @( t( i1 D; o# X& p' q, _
import swarm.activity.ActionGroupImpl;. D4 l6 I1 w% ^; B
import swarm.collections.ListImpl;
( e6 }( Z* D! Q" D& vimport swarm.defobj.Zone; " Z" a0 I- @( m" B
import swarm.Globals;2 V: Z5 e: z7 Q- |0 x' b5 b+ d
import swarm.Selector;
8 @% C6 I+ h1 o; N" dimport swarm.activity.ActionGroup; : h) T0 T& K! o' d) N. r
class Agent {2 Q2 q: @- M( X( a$ A) T
char id;
# I: r' y- G) R( Y" C) j! O! D2 S! `, d1 d3 ?
Agent(char id) {
8 l0 U" g! D' C9 L8 T this.id = id;
2 e3 H9 |3 D1 d$ b6 F/ V }
0 d W+ E- \3 L5 g& L, s+ M4 `& G4 R1 p" u7 L* }: s1 L
public void agentStep() {6 t0 v( p5 C# B x; w1 R
System.out.println(id + ":" + Globals.env.getCurrentTime());( ?$ z5 p9 O) V* i
}
/ n, {, T( S' z2 h6 i5 D! D4 C- B q}
; }7 f$ X! K7 x4 ^& n6 }9 f# v- m) l6 e5 c" [. Q
public class ActionGroupDemo extends SwarmImpl {; W$ l4 ^2 `5 a3 ?# \! g2 ~5 ~
ScheduleImpl schedule;- n/ V' h. d2 V5 q* Y
ActionGroupImpl actionGroup;
& S3 `3 L: C+ G* o# h! R ListImpl list;4 C8 g7 g6 |- C$ f6 f8 |* E4 W& l
char Id = 'a';
: N& b$ x$ l. m) M0 u1 W* z/ K; z
ActionGroupDemo(Zone aZone) {
; z3 w# ]) S* G9 Y+ T$ J super(aZone);, S2 O) \9 B9 m/ f5 j7 Y0 h9 @
list = new ListImpl(aZone);9 A% ?+ M! o8 b' J6 Z
swarmSetp();6 w9 f) Y _! w) p% i) a& E8 M
actionGroup = new ActionGroupImpl(aZone); O: O& l; K0 c; X2 |
schedule = new ScheduleImpl(aZone);
* t2 L0 m2 N# M! q3 C E try {' a7 u* e& D; j" N8 ]
Selector agentSel = new Selector(Agent.class, "agentStep", false);$ [- m. R) k# {. J
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ i/ k* X/ c5 l4 e A' Z
0 W5 V* G3 `# U actionGroup.createActionForEach$message(list, agentSel);# \9 d3 v, @0 M1 N1 V( v
actionGroup.createActionTo$message(this, swarmSel);- G% L' B6 E5 }5 L6 @9 T
schedule.at$createAction(0, actionGroup);
" E z$ B Q( {7 U& q7 g5 q( |4 [ schedule.at$createAction(1, actionGroup);
8 ^2 V* }) r8 j9 R# X schedule.at$createAction(2, actionGroup);
7 O5 y8 C4 @0 n7 x5 Z1 p* ]9 K* N% r5 \
2 \+ @% U0 x5 n \. b" S8 ^ } catch (Exception e) {3 X! u) U/ L5 x4 ]$ H( g* c- M9 D
e.printStackTrace(System.err);+ J& X1 B8 M# K7 V+ E! |
//System.out.println(e);
u/ G) o, j b# N System.exit(1);/ z* r, M# C; c
}
% r& i' S- [- L# ]$ ]
* l/ j/ e8 o$ K8 F8 W. t
7 W8 S) ~/ S# G" Q$ z }' X. @' n& X1 O3 W! x) y
9 L, P4 ?8 f4 R5 @5 v+ i private void swarmSetp() {
. l) u" `1 O8 x7 ^$ u" h list.addLast(new Agent(Id));7 q1 w8 o4 s1 y' q+ i7 D+ Z
Id++;
; C7 ~: E, D) `( E) b }
, C0 d" j J" I( Y4 F% N: |0 U% s. v& z. u
public Activity activateIn(Swarm context) {& R, i2 s+ U2 P3 Q2 }
super.activateIn(context);0 ~$ x9 P1 ~) j$ F2 b+ t4 B
schedule.activateIn(this);7 f( Q# Z% T0 w7 P- _4 m; G' X
return getActivity();
3 ~: A- e! M; C. @7 } }
+ Z4 \; `: z0 x5 u* P! a0 N1 |/ r
public static void main(String[] args) {
1 y6 b" W {3 u1 ?1 p: k. T Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);3 P2 x; E/ K& W- Q
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( W7 x6 R* X. e. D
swarms.buildObjects();
3 L; {9 D" s5 y* C" X" J a swarms.buildActions();
! W" C% i5 _9 Q8 V1 l swarms.activateIn(null).run();
8 o j: r- K# u" n+ i7 n) e0 q }5 ^/ N$ K) g- T* e% T+ {$ y1 ^
1 _- U: S( T' g! z4 `9 Q
} |
|