|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 }4 Z1 T& X8 j* }& a* J( l, ]6 p2 [
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; t8 F$ x0 e# ?. G' u3 A8 ^
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
! R0 j* H4 L' }+ c; r8 V x8 f! `swarm.SignatureNotFoundException
8 _. }5 l8 _$ q1 d' D* @0 B0 S at swarm.Selector.<init>(Selector.java:76)
6 C. m7 y/ G- K+ w# Y at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, f; x. ^; z/ N& J5 I at ActionGroupDemo.main(ActionGroupDemo.java:67) t& q. D* p5 W# v, R
" M: q' |& S% P$ m3 Z) s
5 J+ n; Z: W( ~! F9 C* b3 X/ ~: Ximport swarm.objectbase.SwarmImpl;) u; l1 ]2 H, _/ O$ F' P
import swarm.objectbase.Swarm;
& m: Q1 Q1 j& Wimport swarm.activity.ScheduleImpl;: E* l# \6 H- O6 e
import swarm.activity.Activity;$ P! W) I Y: o: b' ?
import swarm.activity.ActionGroupImpl;
: e4 d8 {4 ]; U* |0 D" a9 y2 |: Cimport swarm.collections.ListImpl;
- \ R L6 i! [! i0 @$ v4 himport swarm.defobj.Zone;
1 Q& F) ?2 q+ `& ?- x& j, i dimport swarm.Globals;
! R$ M( d* M* @/ G8 gimport swarm.Selector;2 W' ~' F0 D; P/ T0 p2 f
import swarm.activity.ActionGroup; " s/ ?/ c% X9 f" h/ V& y
class Agent {
& a5 }0 `: a; j% F char id;9 h7 Q# i# ^$ _7 I8 Z) g
( v& f$ q7 ^1 Q" b7 s Agent(char id) {
: H$ z$ @4 P4 Y' l& t+ X1 } this.id = id;
& V8 l- U- S7 I2 | }$ ~# Z5 H; m& Y
4 E) c' T0 K# o3 p( J; _ public void agentStep() {/ w& Q7 ~& e& G7 I0 s/ F
System.out.println(id + ":" + Globals.env.getCurrentTime());
" y: X. g# G5 D1 p7 | }) K: G' ]9 X9 g0 C! m) M; ~
}
6 Z* t! u/ d5 d4 c$ R* l7 s' E0 i8 \7 T0 V
public class ActionGroupDemo extends SwarmImpl {
! W, }- c) X5 @' G! ?% G ScheduleImpl schedule;
% G- a) i7 U5 o% T' g ActionGroupImpl actionGroup;
$ s. K* O/ h& d- T ListImpl list; P! ^3 p1 m% ?- Z
char Id = 'a';# J, r/ f, j1 \8 Q
7 L' }* v, m; I9 ~ ActionGroupDemo(Zone aZone) {
- q3 G' \- e4 V super(aZone);
& ?+ h, k" S5 q7 p list = new ListImpl(aZone);
* [8 U' S. S. R, K+ F- x. F' q swarmSetp();
{! z$ ~1 z( e, J" L8 G actionGroup = new ActionGroupImpl(aZone);
- B6 {1 s/ E& Y* V* P7 V3 }9 S; a8 c schedule = new ScheduleImpl(aZone);( {0 [. Z+ c8 E* Q( t
try {
! |9 O# T: R; q Selector agentSel = new Selector(Agent.class, "agentStep", false);
4 C2 A) |1 T: m3 q5 [1 t2 o S Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; [9 H, c: |5 L) G
7 J) S; G' p8 ~+ q+ _ actionGroup.createActionForEach$message(list, agentSel);
1 F6 M; f1 u. U! w actionGroup.createActionTo$message(this, swarmSel);# Y2 e7 L3 ~* v
schedule.at$createAction(0, actionGroup);
0 E8 O$ \* o7 p0 z" e0 W( ]# j; S schedule.at$createAction(1, actionGroup);& ~% B2 |8 p9 E+ D% J' R6 k
schedule.at$createAction(2, actionGroup);
) P+ w# ^- b' M9 M1 O; j" k- {
' l. z( A5 ]6 L- \+ { } catch (Exception e) {8 f# n/ b# m" X
e.printStackTrace(System.err);- U+ h8 D* P V* Y* d
//System.out.println(e);
% n: O; g* h' j$ b" N4 i; t System.exit(1);' ?# t5 R K3 z5 i2 X1 q
}9 v$ C0 j) n- t0 k
3 I, F- W8 O( M) a3 B4 x- T9 Y
. W+ `4 _4 G) ~6 [ }
- z6 P! O L2 N4 q! B1 d/ p' i
' ]9 X7 i" L, M: @/ o private void swarmSetp() {
$ v( `" w) o' X$ F# ? s3 s list.addLast(new Agent(Id));
M* o& l I, h Id++;% U/ M; j( d/ |2 {3 ^
}
8 Y) f& u; Q4 P- C7 v# N& h" Y Q" d0 x, `. m" D
public Activity activateIn(Swarm context) {7 A& u* r k- v' v4 s
super.activateIn(context);
# L0 e3 Q* H3 L7 G3 t% I6 Z schedule.activateIn(this);
; B; |; l3 G+ A, b' t! o: J return getActivity();
* C$ @. Z2 j& ~ D6 U7 ~1 _) u8 [ }/ _4 X- H5 T4 d, d1 l
9 K' K. G$ j7 p6 G) b: o1 l" \ public static void main(String[] args) {
, E3 P, e s- b7 t% I6 l2 J Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);3 n& M; j4 a0 S
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);; u0 o) K. d9 o5 T6 x: L2 l
swarms.buildObjects();
, q( L+ U3 R2 Q/ C' c swarms.buildActions();
- ]" ?8 ?! A& Q( G- X' N( c swarms.activateIn(null).run();
8 G, ]& A1 z9 [3 ^( s. i5 V1 [ }5 t u( U Y# A4 [/ E) S) ~5 W
. B* r. G6 l! Z( j7 f/ C! o
} |
|