|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 8 C. N! J$ X$ _/ _* k
4 n8 j! U+ w$ N* d7 V0 w6 P
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
2 d3 `( r2 g4 S9 N& g: A3 a# w以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
9 N8 z) ^ Y" w1 @( j9 ^swarm.SignatureNotFoundException! [! P* M8 k; P( V) W
at swarm.Selector.<init>(Selector.java:76)" r& r: A. m6 h; x' {. _% J
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
( W H, {+ Q" n' N at ActionGroupDemo.main(ActionGroupDemo.java:67)) ^5 T d& c3 ?, g
# q* b2 l: c1 _- J; N! p- o: j r" o1 C! r) w
import swarm.objectbase.SwarmImpl;
* U9 b% K+ I8 O7 f( ~& oimport swarm.objectbase.Swarm;3 G1 b* Z$ Z }1 }* v1 y; G8 i
import swarm.activity.ScheduleImpl;. y* m( z; R2 _+ p
import swarm.activity.Activity;
. V: i: E: Q1 N+ Nimport swarm.activity.ActionGroupImpl;
6 s2 u. o1 I1 Z; x' a/ Uimport swarm.collections.ListImpl;0 S8 D5 R- C' k: W
import swarm.defobj.Zone;
- d: ~$ M( M) N% D/ b" J, \) ~import swarm.Globals;' v5 }5 S. C) G: K% U
import swarm.Selector;
+ F8 t; h1 J M2 |8 pimport swarm.activity.ActionGroup; ) i+ d' ?' u6 u( }$ @
class Agent {3 |/ R3 _. U3 ^$ ^# J" A
char id;5 E$ y# x8 }' D& p& i9 ~
$ J6 w) ]6 O% E3 q& N- `, l Agent(char id) {
! V2 `4 G) V& D! o0 K; e6 T$ t this.id = id;/ W) W- x- T1 K0 }9 l& q
}- W" f- a! A- `! y3 h0 Q/ E
; f* F: C* n ]- s, Q8 \ public void agentStep() {
6 F7 E4 `" P1 a System.out.println(id + ":" + Globals.env.getCurrentTime());
& B+ h! S' j& X7 @) s9 L5 L }2 N, o; x3 Z, |6 J2 j
}
4 n, N( U4 `$ i+ |/ ^& d4 h1 W' Q6 ?; W% \: Y* N
public class ActionGroupDemo extends SwarmImpl {
$ A2 x/ Y6 Z Y( j% `6 f ScheduleImpl schedule;& |0 R# ?! J2 e
ActionGroupImpl actionGroup;# l* d4 a) X9 h7 j7 U4 E
ListImpl list;/ s, d$ b6 H8 a5 m2 `' w
char Id = 'a';
" d' o- |( [ ~; f: q0 p2 Z3 `+ P6 k8 u
ActionGroupDemo(Zone aZone) {' V) M3 k: ?5 c: ^7 c6 ^- O C
super(aZone);8 M1 q( T! N) ^( F
list = new ListImpl(aZone);6 f* R4 q6 J+ P8 x8 v4 x, P
swarmSetp();! P. G, {3 ]! w$ j) s( H( A
actionGroup = new ActionGroupImpl(aZone);
7 S# F, b+ W& r schedule = new ScheduleImpl(aZone);
4 T6 K5 ]( ?+ w2 ` try {
& b5 G/ R4 f/ l5 _ ^; y" } Selector agentSel = new Selector(Agent.class, "agentStep", false);- O& ?) J1 n9 ]- A" F/ L# Z* b
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行- c( s0 t% N, I& x
4 @( ]! W- |. `- _
actionGroup.createActionForEach$message(list, agentSel);
) k8 k; P% l. t$ S" C( O* Y9 k actionGroup.createActionTo$message(this, swarmSel);& N. K' f _3 h! r. o6 Y
schedule.at$createAction(0, actionGroup);
2 z* j1 A3 M/ I) R, Q d! k schedule.at$createAction(1, actionGroup);
' r- f' m# H! J' X% ^' Z schedule.at$createAction(2, actionGroup);
# U0 f* R: T' l* d) @1 z' i3 B5 r ^2 e
} catch (Exception e) {* Q9 [5 k+ g. d1 z( C. | y
e.printStackTrace(System.err);# }: i! x: J: G! u6 k( z
//System.out.println(e);. O+ l3 y1 h9 T% v
System.exit(1);
0 t& m0 M; P2 o1 P- G8 } }
9 D, U: c5 V# `1 r7 S' Q0 X2 n- j+ l
6 b p4 H( z3 l/ P }
4 @7 D1 i6 Y$ j- i/ K
8 C' d! b3 d* q; Y0 M private void swarmSetp() {
! a% \/ X: ^# [5 K4 h3 M9 a) ^% ?/ U list.addLast(new Agent(Id));+ T, v! H. @% R3 y: Y, i; X
Id++;
% @2 s" h. {/ E: t# i+ O% W }
% y5 W: ~3 K, V0 i# T- z: e& o, N' N- M
public Activity activateIn(Swarm context) {+ m+ W$ W! f" I; u: B: H
super.activateIn(context);1 K) N- l- @: x8 w* L7 Y6 u
schedule.activateIn(this);, @/ u- f9 m- q' e0 ?
return getActivity();5 `3 t+ ~; O7 b! X: ]
}
' {+ h2 x$ H. g! u' \4 l: P2 _* n) Q5 g1 D0 x
public static void main(String[] args) {$ d+ G) f e& U
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
3 X; K+ q* `* Q2 q ? Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);: ]+ {6 M/ g0 G1 b
swarms.buildObjects();
* x2 h; u4 e1 \( {; L+ q+ Q5 G$ u- H swarms.buildActions();4 M1 v8 G% f7 r
swarms.activateIn(null).run();
- V) L6 |: ~! j }
0 L& ~" h" N4 D) X: i6 ^& S# G, ?! B' ?* d V3 A
} |
|