|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 6 n/ T* V1 F" v3 |# j" x) I
3 e8 I+ B* I: b
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. i& `: b) b. }; V( J% S/ ^1 g
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
0 M4 [& f. b+ C/ A/ Pswarm.SignatureNotFoundException
- n) w+ c( b% K) @6 c p at swarm.Selector.<init>(Selector.java:76)0 X4 v% ^) H6 c2 x
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
( R+ M& P7 Q$ w, j3 s at ActionGroupDemo.main(ActionGroupDemo.java:67)
" n$ U S) |5 n0 d$ ^2 p( ~6 j( @4 {! Q$ O
( v! u+ g4 x" y
import swarm.objectbase.SwarmImpl;" @; T2 f6 _- R9 M2 ?' R
import swarm.objectbase.Swarm;8 K+ t( X! k, ?/ B* Y3 b
import swarm.activity.ScheduleImpl;
% J2 x/ C9 {8 e [# Q' V8 j& Mimport swarm.activity.Activity;; I- p! _2 u( l+ A2 i( B' r9 ?
import swarm.activity.ActionGroupImpl;5 _; D- {2 q" {# Z
import swarm.collections.ListImpl;9 D% r' f; ~. r* n4 m
import swarm.defobj.Zone;
& N0 Y a, w( F5 K3 ximport swarm.Globals;9 D8 p3 t$ t% e& s1 W8 J& [- O8 e
import swarm.Selector;0 z/ c$ ]2 `& [& k
import swarm.activity.ActionGroup; 2 ?% R! [& i3 k' J* ^* O( n, b
class Agent {0 N5 P; Q6 G7 x, e+ B/ ^$ f
char id;
* X1 G4 p1 y1 W: @, \6 _$ s# ^: \8 ~) m
Agent(char id) {
) e: [; N8 L9 ~$ |8 y this.id = id;3 f: K8 e- ?- R
}8 q0 p6 o2 x$ {% t% W4 T$ J
1 u: W. \4 O- B( H% }
public void agentStep() {" ?- z0 m+ N& `9 e- X
System.out.println(id + ":" + Globals.env.getCurrentTime());$ r2 A b0 |: {0 Y% S6 b, I" m9 F
}+ ?. G# y6 d% M! L' s$ R f
}
% Y, o0 _9 I( o% [. ^0 Y1 ]4 o9 _! P" b7 d; i$ Q. M
public class ActionGroupDemo extends SwarmImpl {
1 y- R/ m: X! I! ^% i, v+ d) y0 G ScheduleImpl schedule;
7 ~# P$ L/ [. [5 ^) h ActionGroupImpl actionGroup;
" ~" i" t+ J8 |2 U" D( L) j ListImpl list;7 G: s& T0 @) U Z% K5 q+ y+ l
char Id = 'a';. P7 y0 y* @$ y- X. k2 V% w( t
: f- y# ]$ r1 J% G ActionGroupDemo(Zone aZone) {
2 U0 O) e L& s$ P7 _) {, u3 t super(aZone);
! y- ]" J) j; E+ O* V8 t list = new ListImpl(aZone);. ^7 z. _0 c# B; \
swarmSetp();
/ H% c" H$ R; [7 P% m, y actionGroup = new ActionGroupImpl(aZone);
+ f3 M- z+ b* F+ A schedule = new ScheduleImpl(aZone);: ?8 K3 i% R8 l% w) S8 X; L# m( r% Q
try {9 R/ y) b5 J3 B) M# B
Selector agentSel = new Selector(Agent.class, "agentStep", false);# m. ~) a( l3 d# w8 F- ?
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
: j3 c8 w: L6 i, N4 x/ H U
: d* H; o3 u4 }3 Q0 v4 {9 [% y: x/ W actionGroup.createActionForEach$message(list, agentSel);( {1 M4 F% u9 k+ {- ^
actionGroup.createActionTo$message(this, swarmSel);
# F% Z/ x2 e9 `1 |; P schedule.at$createAction(0, actionGroup);
1 Z4 X! U# Z7 C& c4 H schedule.at$createAction(1, actionGroup);5 f7 U4 ]1 i+ g4 P8 M/ u% \
schedule.at$createAction(2, actionGroup);9 ?- Y r+ n9 ]# O: k& K
& F5 }- `1 W) p, N
} catch (Exception e) {% Z, o( d' x3 K# K0 j4 F9 {
e.printStackTrace(System.err);
. T( T; V$ P1 @3 S5 g! h //System.out.println(e);
& G1 {6 x5 d2 V. Z; \% p System.exit(1);
- Y& z8 f, v+ m7 | }3 l7 [3 u8 r: |" J! y
+ } w5 ~: I8 B6 ?7 g) `6 D
" e* V: s& \2 `% W }
7 S: m) ]- N; }6 p+ I& _1 r& D. M* ~4 r' L1 _: H, y
private void swarmSetp() {
$ e5 B4 k$ t3 B' W, `" ^ list.addLast(new Agent(Id));$ f2 S. x% n2 Y4 H2 {- W. q
Id++;' J: |, N9 s- Y" D9 L
}
2 u+ b6 F) ]8 p h4 B. a7 U$ u/ c, F# c& F9 P0 x1 d0 v( q6 N
public Activity activateIn(Swarm context) {! z# J9 q5 W& e2 g! x
super.activateIn(context);2 l8 z/ i/ |3 B4 Y2 C
schedule.activateIn(this);0 K/ a1 V; F' ~( S
return getActivity();
H$ {: Q& g# f/ Q }
' ~. S& ?0 U# x$ A6 c- d
$ R5 z5 s3 y" Y" m1 ? public static void main(String[] args) {8 _) o( q) u" ^* I4 t Z( |
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 A# f0 h4 Q3 e& H' R: r' ` p% R Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
+ a. ?: A& U' B5 R+ U! Y& T swarms.buildObjects();
4 `, @9 `5 u/ `" a- P. g swarms.buildActions();
) J7 X' X K2 e; J7 o swarms.activateIn(null).run();
* ?6 L3 r! C5 H }1 Q) U; f9 N9 y# X) e- Y; O8 D
& i* [. ?( w1 b m/ T+ G! R} |
|