|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; x' j+ P8 A- S1 Z' }2 E( p8 l$ ^; M- Q# C- {3 [$ @/ h
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21 m6 [" g) ?/ \: j6 h
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." _' |7 p' e, i
swarm.SignatureNotFoundException8 A/ T: e. X$ N a3 F3 z
at swarm.Selector.<init>(Selector.java:76)
4 j5 f K6 b% @0 ]2 F% \ at ActionGroupDemo.<init>(ActionGroupDemo.java:37), ~5 T8 g+ x V' V: B
at ActionGroupDemo.main(ActionGroupDemo.java:67)7 a9 @: G" [2 ~5 W* i1 p
; @9 o, l$ d0 f5 B# Y
$ r2 e4 Q% I4 D t$ u$ v
import swarm.objectbase.SwarmImpl;0 \7 W! ?- P$ A/ p; P$ n6 ` k
import swarm.objectbase.Swarm;) N1 y* B7 G/ G1 X7 f
import swarm.activity.ScheduleImpl;5 O! b: B2 Y1 Q# |3 W/ |+ I/ d
import swarm.activity.Activity;
. p Z' L/ {- H5 Iimport swarm.activity.ActionGroupImpl;
& ~# z1 a( g% w' ?& ]& _4 Timport swarm.collections.ListImpl;
" e) i- b; n% J' W9 j6 A1 J7 I. @import swarm.defobj.Zone; ' M/ _4 \+ V% ^3 `& e% L* G
import swarm.Globals;5 W4 K; z( x, m" B) m, `$ d
import swarm.Selector;8 j( H8 ]% L5 e' `- o
import swarm.activity.ActionGroup; & F" }' `: N% ~) ]( C; q5 W# D
class Agent {$ `3 O- P+ c: f% C! X$ P3 N
char id;
- i$ c1 K n* w j! [+ W4 c# U+ r2 E+ {& M
Agent(char id) {
& g& w, K0 R& c" z& k this.id = id;
5 N7 ?3 e% g' U }
?5 f6 G+ p9 q* k6 ~0 N% v" J! y
* U! j/ z1 Z7 a4 Q2 C3 |/ R. W. T public void agentStep() {& O* W1 a! W/ O' ?/ Q" a; g3 a
System.out.println(id + ":" + Globals.env.getCurrentTime());) F( P1 X+ K- v. m
}* t. f' Z& ]) m; x1 F
}, v' v5 W" D* o
5 ~9 e, v+ ]" Q* R6 g+ F
public class ActionGroupDemo extends SwarmImpl {
9 D7 B. m* s$ w! E7 l ScheduleImpl schedule;. G _. V# M% C
ActionGroupImpl actionGroup;5 b( g; ?9 O! K" T0 }
ListImpl list;$ @) u0 X% k0 ?$ \5 D3 S& s6 m K
char Id = 'a';1 H( b2 X+ C# ^2 j9 d
( F6 b& n/ U s+ R: i9 M
ActionGroupDemo(Zone aZone) {
2 O( b$ O4 Y' F$ ~( J3 s6 H super(aZone);
1 z. j0 y7 w- r7 N1 h5 Y list = new ListImpl(aZone);; I* G. e0 p @ e- I
swarmSetp();
% ~! z( e8 j; c8 J actionGroup = new ActionGroupImpl(aZone);9 u' I# Z* {, M* G+ d' a/ b
schedule = new ScheduleImpl(aZone);4 H9 e, D, h: g' B" u" H- n' h
try {
4 D' `) r' C9 y( L8 H3 ]7 V5 F Selector agentSel = new Selector(Agent.class, "agentStep", false);; _9 h. | W' k0 M6 J j! G! k
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% w$ P2 ^ M% B; u& r - q: C0 w$ H" d2 A1 h
actionGroup.createActionForEach$message(list, agentSel);
5 ]1 F. g% E! e actionGroup.createActionTo$message(this, swarmSel);
) y% I8 j. t4 p9 J schedule.at$createAction(0, actionGroup);
# o( z0 D$ j [1 z" k9 _" L7 n schedule.at$createAction(1, actionGroup);% }* R$ ~4 {0 u) D
schedule.at$createAction(2, actionGroup);
- s+ l, K% y. f! T4 H! X+ {* g
7 w- Z9 z* N5 ^ } catch (Exception e) {. o) ^" C5 v% T2 Y
e.printStackTrace(System.err);4 D6 g6 o, C: k. Y4 |; N# e5 i* q# Y
//System.out.println(e);
# W1 b( o2 q( e o! ] System.exit(1);
9 a! s# E" y5 Q* \% c1 g }3 K0 a2 k+ G$ X
# I: z2 i: h: C7 J4 N: ~* S& ?
/ h5 `) b0 h7 T: m! k# ], z }1 ]3 T) p2 |! d* y& Q* }' |
5 @/ L) M7 k. E) V/ |/ Q
private void swarmSetp() {1 W3 x* g4 u( x3 u
list.addLast(new Agent(Id));4 |! N7 Q4 p) H( @" k. o
Id++;
) V# p% U4 i3 c- I }
8 q8 v; A4 f# h5 ]2 K c' Y9 N1 C0 |8 z/ I5 G {8 C
public Activity activateIn(Swarm context) {
/ [1 F8 o6 S/ d9 c5 f: \+ I super.activateIn(context);
$ E0 f8 W5 q$ D schedule.activateIn(this);
f6 Q6 W- @: ? J# E4 Z return getActivity();# x8 M7 H x; S+ L0 o, a: B$ X
}: ?4 a' K6 X. a+ D# J: B5 l; @+ G
9 _, |* _+ N" Y2 K) e: D( F) q public static void main(String[] args) {- L# x+ {4 R$ [- H* H7 H
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, i9 b/ @3 B! b) P+ z Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ K0 {) l: a: u) c swarms.buildObjects();
! A* h6 l1 J2 ^- o swarms.buildActions();
5 V$ Q! ^" s" B/ \ swarms.activateIn(null).run(); e* n% W+ J: z; x z
}
4 x9 j0 }0 v1 @( O( E8 ]
1 z7 G c. R' J% n6 @# i} |
|