|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
3 d, _- f" y' V! f$ r7 p8 P5 A. a# `$ f6 K
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( _" j2 m p7 W8 P以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ H- p+ [( Q; m# F2 E
swarm.SignatureNotFoundException
* `- N4 x& G U0 ^% ^6 h3 ` at swarm.Selector.<init>(Selector.java:76)
: I# s5 L- n7 U' O9 J0 f! P# h at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( n9 X" c% k! U. V }
at ActionGroupDemo.main(ActionGroupDemo.java:67)
' u9 a% j& F4 o/ o0 L9 n/ P4 a- Y3 c$ ]7 Q1 h; ~
$ N# z6 T% v" m) i; |! x; t% b
import swarm.objectbase.SwarmImpl;2 ]. I3 V- n2 V0 }
import swarm.objectbase.Swarm;
, n' G8 n8 Y4 F ^0 nimport swarm.activity.ScheduleImpl;% i3 D: |1 I0 T2 @$ X: Q& ]( f
import swarm.activity.Activity;0 v# O6 T( X8 `( h0 U
import swarm.activity.ActionGroupImpl;! U) b9 w' R, r) v# Z
import swarm.collections.ListImpl;1 T) K7 O% ^" I
import swarm.defobj.Zone;
% t- J2 q2 W% x. `3 @' Kimport swarm.Globals;
- P0 v0 V6 R k/ M8 D. N2 b) V' iimport swarm.Selector;
% [/ B4 F4 g& l0 a/ uimport swarm.activity.ActionGroup;
3 M8 @0 f3 k' Q& v! R6 k/ J9 Tclass Agent {
M5 U9 o) f9 S! D) s0 C% I: f char id;
. C2 p; `' T# r+ C y. ]
" x' \+ @; ~: ] Agent(char id) {
2 D/ m" P/ L L1 w: g this.id = id; U! b* E: [2 k c2 Q) @
}
# Q+ [5 `5 s$ `% G t$ X0 d: C6 v1 ^% @7 k ~# c8 h
public void agentStep() {
" B+ y& q9 t- }! p$ r6 z System.out.println(id + ":" + Globals.env.getCurrentTime());
7 X8 P6 k5 c# g) E" h% g% q# i4 _ }3 ^# J3 M3 h% \$ l! k
}
- L9 ^) x7 S8 H: S4 ?: V6 V8 t) S1 r& b6 j, k D! Q
public class ActionGroupDemo extends SwarmImpl {0 t. [- _ c5 [
ScheduleImpl schedule;) a9 b" K$ k3 Q
ActionGroupImpl actionGroup;
- s; ]9 I1 b- D9 {' ^1 r9 l ListImpl list;
1 S- ]8 i; B9 }2 R5 C8 V- T0 W char Id = 'a';) u3 ~; u; y* W; J9 S A+ _$ {8 e' s
* n i: W8 x2 V' \$ h! P
ActionGroupDemo(Zone aZone) {
1 q4 e! ~: s4 F9 G9 X" G3 f8 f9 X# U super(aZone);
4 B3 W$ d$ Y7 x list = new ListImpl(aZone);
; E3 r0 H2 |7 Y: b" W; H swarmSetp();& d2 b5 S: k5 t5 V& I3 n' w
actionGroup = new ActionGroupImpl(aZone);$ j' w0 H0 C$ u9 h
schedule = new ScheduleImpl(aZone);
3 q9 ^8 b8 [/ y. C try {. |: W0 |: E( j) w
Selector agentSel = new Selector(Agent.class, "agentStep", false);* Z) T& M5 W# o: P% [9 q: d# K
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行3 a' C0 q4 M; A6 b
2 M4 f( Y# s7 \; m8 o
actionGroup.createActionForEach$message(list, agentSel);1 k& P4 ~% Y) p$ X
actionGroup.createActionTo$message(this, swarmSel);3 j, x5 s1 G% D& E; z9 [( U5 x6 M- N
schedule.at$createAction(0, actionGroup);
: Y' q8 R9 G! @7 R7 o schedule.at$createAction(1, actionGroup);
" x2 r+ w7 `2 B% K# _ schedule.at$createAction(2, actionGroup);3 q# \ |6 T4 ~ g& H
: }2 C3 \7 A6 p, e, X) C, B } catch (Exception e) {
& H6 T0 N' N: l a" x e.printStackTrace(System.err);
3 p/ p9 H6 R n, d: q: O V //System.out.println(e);
7 {+ u* v, U8 r, `8 S System.exit(1);5 u) ^6 o: q' ]: M
}
; e8 m' z( E' R/ _1 v) r/ n1 B; Q) A& w3 D
# ?8 u$ Y/ N7 L# c" Q0 y( X3 o8 F [
}+ ]8 e9 k- c& L) g! o
% n" z, u3 ]6 A: i1 D private void swarmSetp() {; a& i) e f: n7 m+ F
list.addLast(new Agent(Id));
. B8 z G d5 y5 i5 _. _# T Id++;
! ^- m; E5 @* Y# z# s4 H1 D5 w5 \) l- ] }
6 U7 Q7 [1 p" `' k/ |
# n; \! i- t/ t% \& c& l public Activity activateIn(Swarm context) {
" g k" L9 K5 W8 R$ F$ U super.activateIn(context);' @' S0 f+ `2 ^9 ~$ \) N) s
schedule.activateIn(this);; p9 [6 ]" O; L& F; T- C1 N6 E% q
return getActivity();
, y& C! Y" D7 ], \; s7 c3 h: y }" a& `0 W: S$ O& r, K; G( Q
$ C! q; w0 z- c public static void main(String[] args) {* B0 T' p( y- a" w7 A/ A# L7 Q
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
5 n* J( h$ w( i Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);, V; a1 _) m% s- W: m
swarms.buildObjects();
9 F% ~% h# ~: ], d( s2 h! J swarms.buildActions();
/ v3 e6 R' j3 q5 A" v swarms.activateIn(null).run();
* j0 z) V: N4 q3 F9 x }
9 r% R3 V- ]" i& z, Q3 T' t$ z# b- A8 W& @7 F4 H" X% w! V4 _4 j
} |
|