|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
$ v2 n3 l+ o& I. m! p# q0 E( ^ M# o3 C) B, R( g
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21- k" g! U. O1 S9 K/ K, G
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.6 B8 O9 [% y$ I+ v2 ?
swarm.SignatureNotFoundException
! T4 S/ f( g' y" S8 u at swarm.Selector.<init>(Selector.java:76)' Q" l; M: {' J' C+ m) ?
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
5 j! Z' N7 T2 ]- y at ActionGroupDemo.main(ActionGroupDemo.java:67)
( m) @4 q& \+ S: l4 k* g3 [. P8 O2 X3 ]+ u+ c( w" z: o" `
& A& x" l/ W: c3 y2 N, bimport swarm.objectbase.SwarmImpl;1 {4 g% Y0 d9 V- C
import swarm.objectbase.Swarm;$ o! u: @/ ?% R* ?! r) \: @
import swarm.activity.ScheduleImpl; K7 g/ K) T c7 H& }
import swarm.activity.Activity;
2 W! c; s, c$ z: n* c; H% qimport swarm.activity.ActionGroupImpl;
+ k. H8 w% {2 Y4 p. H- E4 F) L1 A8 aimport swarm.collections.ListImpl;' Y. E5 K+ o+ H1 t2 u. n: t
import swarm.defobj.Zone; 8 Z! a5 q- Q5 b; [
import swarm.Globals;
! m8 e6 F# G5 j' k. \import swarm.Selector;. V: K# b7 p' E+ x0 |8 e8 I) C4 q
import swarm.activity.ActionGroup; 5 k# e. ]9 ]) ~1 [# l
class Agent {' n9 n* ^& N) ^& k6 X3 f% C) d
char id;1 Z2 |' o, O$ N9 q1 H& \1 }+ D" X
. r6 N4 m) d( k, W$ @ y p( A b% Q2 \ Agent(char id) {
/ n1 ~6 L ^- @ this.id = id;( S6 B' B/ _& R! F( y$ V3 V E; }
}
* v9 `; \+ c( G$ @! I) C2 ]: W" D9 l. e9 K# E
public void agentStep() {9 D/ k& m r" m
System.out.println(id + ":" + Globals.env.getCurrentTime());8 p% h8 I4 _" H6 b2 ~1 a* t( |8 d
}; [: o2 g' Z- b/ s
}9 w% i# f- p, q4 m5 E L
9 L {! K% ~& Q+ ]0 j, l+ \ epublic class ActionGroupDemo extends SwarmImpl {
4 w8 u2 q5 v" ]- P$ @ ScheduleImpl schedule;
% ]7 [/ f6 S& [5 [ ActionGroupImpl actionGroup;
! m5 B" ]9 G5 n0 Z3 O' p ListImpl list;) f9 E5 b9 a v4 K' d0 T
char Id = 'a';
9 w5 s2 ?9 L* m
8 l7 y5 | ? K; M5 X ActionGroupDemo(Zone aZone) {; A! ~/ s( m o
super(aZone);6 g) R) W# t& T
list = new ListImpl(aZone);
( d4 i" g0 h" D8 v0 X7 L swarmSetp();: T) s- D; `# R3 Z6 i' E
actionGroup = new ActionGroupImpl(aZone);/ {4 f9 m) i" b
schedule = new ScheduleImpl(aZone);
) R9 ?( t0 L1 I( l9 M. \3 O try {
7 o/ F6 @( ~% r& f4 e% k Selector agentSel = new Selector(Agent.class, "agentStep", false);" R) f% q( X1 H. H4 w; I8 I, d
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; E7 a& M; ?9 @ {; P0 X
1 z V& [) g( J( O8 r, A& L
actionGroup.createActionForEach$message(list, agentSel); A. k& g4 D/ W& [
actionGroup.createActionTo$message(this, swarmSel);
+ k' ^: K9 @" B! y9 D: U schedule.at$createAction(0, actionGroup);
. w0 A8 W8 a" m. D7 L6 V8 y schedule.at$createAction(1, actionGroup);7 ]3 ], U4 G/ \2 }' {7 g2 @
schedule.at$createAction(2, actionGroup);6 k/ n" D: i) W" x( E3 c3 i
8 {( l% a7 O! `5 Y. m9 e# w } catch (Exception e) {
+ R- l1 x. c! f e.printStackTrace(System.err);% X# T) o# i# K0 ~* D( h
//System.out.println(e);
8 `7 W+ X. N1 g" s5 t System.exit(1);# G3 O: U) h7 y! G8 t( S/ s
}
3 @; p( \( q+ \! r! |4 v' d. }' v
) j/ o; V+ ~& k
0 ~1 D! C4 g; P' z6 F }
6 B: z( y/ y n( S3 Y4 g8 P2 ~. e& e+ D7 ~( e* X+ o
private void swarmSetp() {
7 Y2 v+ w0 r' R0 R list.addLast(new Agent(Id));
& u. Q# s2 c4 a- M7 G3 u Id++;; b [; p$ r/ z' f
}3 k$ R7 G3 r2 T0 G% f
4 T3 ?% r9 h& P' I8 h) N l$ [
public Activity activateIn(Swarm context) {+ Q; f; `, J( \: T0 D. R1 w
super.activateIn(context);2 e, g, W. J1 Z( s5 y/ m* e
schedule.activateIn(this);8 \% t. }3 {. ~6 r2 r
return getActivity();
& W/ S# O: }0 n9 v/ @' H }
+ b7 P9 H! ~5 e! z: c3 n
. `- q6 b. |4 v2 M7 N$ h9 B" f public static void main(String[] args) {7 `2 s( F F9 M9 q
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
( R2 X2 q& b9 Q' } Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
. H" f2 ~% |4 P1 o8 b+ U swarms.buildObjects();: x. o ^* p/ ]2 q0 k
swarms.buildActions();
. Y4 m( B" X$ |& I swarms.activateIn(null).run();7 F+ V0 O5 ?- x7 |0 |$ p
}6 D, M9 @' n B3 o2 d3 S$ z
9 z) e$ K/ B0 g1 U$ D
} |
|