|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * M2 q9 f3 {: G4 l: a3 Y& {3 ]- _
1 Q5 f- f: b2 U
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
, ]" b) R2 u1 d以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ ~: a' Z) n2 H4 D' h* ~
swarm.SignatureNotFoundException
6 `* L% {) R0 l; C2 i at swarm.Selector.<init>(Selector.java:76)
$ P/ W- D: e3 L( u( m9 g% M7 @ at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
6 N3 Q3 e$ ~& G* I at ActionGroupDemo.main(ActionGroupDemo.java:67)5 x9 ]. m3 ?( U* A/ F& d( U+ p
1 S- J& g' l/ f; \& T7 U( b
8 S9 W8 G0 b2 {import swarm.objectbase.SwarmImpl;
9 E, l3 ^, ^8 y4 @& s( L2 yimport swarm.objectbase.Swarm;9 n2 `7 `4 o N: U
import swarm.activity.ScheduleImpl;) l3 u" o0 K6 A; B" F. o. \
import swarm.activity.Activity;+ p! U0 o1 T; B: J
import swarm.activity.ActionGroupImpl;
* U; c7 r6 ?5 v7 q1 c! [import swarm.collections.ListImpl;
: { C6 O4 f8 N v2 R( }, y. d" I, ^; Wimport swarm.defobj.Zone;
% [# b3 x6 Z6 o0 `9 u: bimport swarm.Globals;, t8 L; Y5 |% }, ]
import swarm.Selector;5 r8 m9 S& y, j6 b
import swarm.activity.ActionGroup;
. T; O7 Y6 K; ?3 o1 e9 hclass Agent {, Y: S- @7 u: L4 w* p6 Z9 h* _9 f1 f
char id;; p9 q @$ {+ Z, T6 R+ T2 \
' Y, s: D6 c1 P" Q* S3 C# N Agent(char id) {
5 X; P" f, N% D9 {3 }# _ this.id = id;* D% }2 @! c) i" g
}( R; y. N }& t; \3 h
: R0 D% Q" C/ l* T! a% o. a" ]
public void agentStep() {
- j) M1 d8 e- r9 D$ o$ S System.out.println(id + ":" + Globals.env.getCurrentTime());/ L$ i, [& z, \* f+ ?
}
" f O V$ ~) A# ^3 D; s, |}
3 L% C+ }0 ~# ~- \
. N# y- k; o7 g& `6 ~public class ActionGroupDemo extends SwarmImpl {
- P! w# I- R% I; X ScheduleImpl schedule;
* l/ S7 R; @0 d& o ActionGroupImpl actionGroup;& @. T- w* ?1 e G
ListImpl list;
' _8 f1 q5 n6 z, q! m0 y$ G char Id = 'a';2 B _* q9 @3 {* e$ W, Z
\8 M6 |" B4 K1 C/ V: k
ActionGroupDemo(Zone aZone) { D0 c& U0 M0 E; m, ]* Y2 |* F; X
super(aZone);" A0 x. E( [3 x9 o0 i. J, @- v
list = new ListImpl(aZone);
$ R6 t3 d( m: w5 @3 G swarmSetp();8 s: h- c% u3 R* ]% E
actionGroup = new ActionGroupImpl(aZone);: i$ }8 D( j S }
schedule = new ScheduleImpl(aZone);
3 d% t- y, l% `) } try {
% a9 p6 v- p( }& s5 K Selector agentSel = new Selector(Agent.class, "agentStep", false);+ ]9 A$ H6 R5 O, T
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. i/ {, L: I. B( H3 S# p) @1 `8 Z
* t. K4 {) e. l& |7 H. [- C actionGroup.createActionForEach$message(list, agentSel);
' n5 P# S* N! _% u# x actionGroup.createActionTo$message(this, swarmSel);5 Q3 u: A# T X% y4 W: ^1 E
schedule.at$createAction(0, actionGroup);
2 e% V$ X' ^6 s0 p# {4 _ schedule.at$createAction(1, actionGroup);9 o' X0 P6 E, V% L8 P9 Z" l/ L7 C8 V
schedule.at$createAction(2, actionGroup);
1 R" t8 M) p' a1 t- P+ O( P9 M. j0 j: ?. G" A
} catch (Exception e) {
* S7 Z7 G) S: ]1 B* T6 F6 n. e e.printStackTrace(System.err);
c" h/ ^ _: N2 D# z8 o/ T2 a //System.out.println(e);7 l( K% w# Q7 e# ?. x7 p% M
System.exit(1);
: T6 M' l: e) e- o0 o( y' w0 ^. p }
`5 h; s# d- u* Z& K
: y) c# M% e6 c6 ~" ^0 m
: l% i4 ~# T! ]5 y; A2 C! w; p$ B }, B3 p5 M- A% ]$ `, i* B
) J( y2 q5 f7 T, F7 ?
private void swarmSetp() {# M0 i! S+ Y( _; v$ X
list.addLast(new Agent(Id));, f$ V5 N+ k D
Id++;
+ j8 L, d; Z( _8 s }
5 E% ^' v% [- f
& k. T& }$ U% W public Activity activateIn(Swarm context) {
8 b! E2 j( |/ O1 w" U super.activateIn(context);
' Q- O) o+ a' ]' p) e schedule.activateIn(this);
0 \7 s8 E8 j, Q" ? return getActivity();/ U7 t- A. a6 K6 U; \* s! `- J$ i
}
0 | z+ n/ y) \8 t7 P
" N) S' ` A: ^ public static void main(String[] args) {
1 U i6 V) d8 K3 N4 _" x, Q Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
' E" r9 O I, d Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 z8 h9 q ]. F2 l
swarms.buildObjects();1 {3 H! c( J }* Y
swarms.buildActions();2 |4 Q& O' _3 O
swarms.activateIn(null).run();
[9 \3 F N) h8 @: j }
8 L' o! k6 f( z5 U/ q+ p
- o- L; S9 |0 ]} |
|