|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 h, Q9 v) F' @- F" @0 p, O! a5 G; }) w& U
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update218 b5 V" G% I2 d9 g
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
2 _- X0 S0 j9 t9 Aswarm.SignatureNotFoundException
8 v- Q! c0 Q+ M- J, a: c4 p7 W at swarm.Selector.<init>(Selector.java:76)
# @3 x2 v0 @+ \! M at ActionGroupDemo.<init>(ActionGroupDemo.java:37)5 {7 x. e1 K* |3 ^4 Q Q y @1 t( Q
at ActionGroupDemo.main(ActionGroupDemo.java:67)
* @7 q/ ]) x. u5 E5 k
" D- ?1 y7 U- j/ ?" v9 b) b- z+ x* X# b u8 Q
import swarm.objectbase.SwarmImpl;: D: a- M/ `( y9 `! b; w% \
import swarm.objectbase.Swarm;
+ E' u9 t" O6 Timport swarm.activity.ScheduleImpl;
$ r9 X3 x) W, jimport swarm.activity.Activity;, ?6 Q2 B1 E8 \! B- ~
import swarm.activity.ActionGroupImpl;
1 S0 _- g4 t6 V# {0 himport swarm.collections.ListImpl;
4 d7 V9 F4 ~+ K& s+ Kimport swarm.defobj.Zone; 3 E* h, }, X) D! q5 v9 |: s! i5 H: d
import swarm.Globals;. c R! X) f' {9 M3 N2 b+ k6 C; s) M
import swarm.Selector;8 r# `2 F" a# G$ x1 H( t! p, ~9 ~
import swarm.activity.ActionGroup; - J8 ~& F- V& X0 d
class Agent {+ L1 S! c; M& \- G" W
char id;1 o: V! X7 j2 u4 Z+ N' C0 a
- o* X$ f: q7 s& ~: j Agent(char id) {
) {, G& u8 T9 [. f this.id = id; ~3 Q# S' U9 t. \: u/ o) @
}
7 ?7 [1 L* @% p8 l& [. C+ [# D& |6 b
/ l* J3 \, J0 e1 e. z& q) @ public void agentStep() {- D1 k6 w- {/ D5 A7 q- ]
System.out.println(id + ":" + Globals.env.getCurrentTime());
8 m: R$ d" o$ ^( r3 \0 E } A9 o8 Z% J) I
}! B$ S v$ C. T3 G
* _ p4 d/ s( q4 F) j7 B+ k" e
public class ActionGroupDemo extends SwarmImpl {; |1 C8 Q* n8 Y0 |4 s* _# R
ScheduleImpl schedule;6 Z- |3 h- X, i( d- Q# ]
ActionGroupImpl actionGroup;# K- B6 l: }3 R1 A' M2 `* A% K
ListImpl list;
% |9 a5 U1 |8 Q+ ~ x5 O6 H+ e char Id = 'a';+ n9 h, C4 [1 E
) k; y" g X7 K! c ActionGroupDemo(Zone aZone) {
8 o( v3 n$ D; r2 J1 i3 |0 Y* r$ S# d super(aZone);7 Z" y; o- L* T. M$ S5 P( D( b- N6 Z
list = new ListImpl(aZone);% u6 { w& U# L' @* I$ T
swarmSetp();
2 M( O( G- {9 D! Q7 B, {: f* }3 G actionGroup = new ActionGroupImpl(aZone);
; ?( Q" H, ]5 x9 B9 L3 g/ ] schedule = new ScheduleImpl(aZone);: X7 W4 F+ R" A3 y9 o5 y% B
try {) U( n, \; h [2 f# P# _# B
Selector agentSel = new Selector(Agent.class, "agentStep", false);
; g* @( ^( I1 i3 j; |( v Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行6 }1 c7 v% ~8 V T5 j( J
2 I9 ~& I( m( R( {
actionGroup.createActionForEach$message(list, agentSel);
3 X5 x. R: P! B, e. G actionGroup.createActionTo$message(this, swarmSel);
1 t% S8 T) w: }8 R( V' j schedule.at$createAction(0, actionGroup);
$ c ^2 f5 w8 y8 @% n schedule.at$createAction(1, actionGroup); r1 W& b! y# K2 |, ^' ?
schedule.at$createAction(2, actionGroup);+ N |$ G" H0 _# M) B0 K1 L
" F1 h) W0 I6 o% y, m } catch (Exception e) {
$ {5 ]% D5 F( C4 _( N" l+ W& H# G e.printStackTrace(System.err);4 e5 o( H" z2 r `
//System.out.println(e);# w' n- s. F9 e1 U. o& k# b9 v
System.exit(1); @ {& y2 y5 F- x2 B' E
}
( A* n: J. n" K7 A8 v: Q- u0 i, ]9 ]& A% R) G! B
. \+ [7 U+ ]; c }3 d; d: d" o' o+ g: K/ q$ Y
& n6 N0 G/ `) U private void swarmSetp() {
e2 e% N2 P! r list.addLast(new Agent(Id));* V3 V1 v0 s( C/ i1 {/ `
Id++;
) b. b U7 }' i1 e }1 q7 A9 u2 l V/ Q: V* g4 Y
! [& d2 {: X- ^( ?8 O4 J: F public Activity activateIn(Swarm context) {
& G7 l( a& g7 C% n super.activateIn(context);
1 A, l) a9 N5 M6 O* c$ l. c/ D; _5 B: h schedule.activateIn(this);% @4 P% Y' y( O
return getActivity();2 L' [" Q$ e. i/ x* U% e
}* |( J( [' j2 p, B2 r2 e+ O9 x
+ T3 ]" G( K* _" x9 ]0 ^3 f) A) g
public static void main(String[] args) {
# Y# S o: w i, A6 k5 ]; i Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
u& Z3 c7 O; W1 W* A/ h( U Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
( O( [: f( Q& \ swarms.buildObjects();8 n; Z4 M* p0 `
swarms.buildActions();& j R' K* O7 o1 c; K7 ^7 ~
swarms.activateIn(null).run();
/ P( |: L) H& ]9 e }
" x, x0 a) Q$ h2 N; J9 R$ Q& \2 n+ O7 G* E8 \$ v1 n
} |
|