|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
2 Z% A, B4 e3 K. }5 d2 a" K) n/ k( T/ o% }# z
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
7 h$ }( O: P" q& r+ C; c以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* n4 Z3 ]3 R, u; l4 H
swarm.SignatureNotFoundException7 D" V& L t1 J1 S; n6 f8 h9 u1 X
at swarm.Selector.<init>(Selector.java:76)" r* w6 f& H3 G- _6 `5 M
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
. h, E: b/ T ]9 j at ActionGroupDemo.main(ActionGroupDemo.java:67)
. G/ s/ G; n# B/ h5 ^3 D# X. e
2 _! P% r& l$ ?2 V$ N! l, J6 R6 _
, X( {1 C6 V; w5 L; |import swarm.objectbase.SwarmImpl;
& e2 S" r8 |8 K, Mimport swarm.objectbase.Swarm;, s& C' L3 K, I+ Y1 m: |0 j
import swarm.activity.ScheduleImpl;0 q& ~9 t' j" O! a7 B4 p+ g
import swarm.activity.Activity;
& C4 A' [& C$ ?5 iimport swarm.activity.ActionGroupImpl;3 Q% O( R: y& m# E/ f
import swarm.collections.ListImpl;* Y K6 o3 T; q' Q1 t" v6 D; o
import swarm.defobj.Zone;
0 _5 w- k, y3 [1 r4 _import swarm.Globals;
0 h9 ^; L5 {: c* G6 P' nimport swarm.Selector;' h" p" s7 R0 }1 n
import swarm.activity.ActionGroup; ) K7 U8 s) q" E6 {& r/ f' Q
class Agent {
1 r6 \9 @# T0 q& P5 k7 z+ { char id;! w3 U! i" y' c# {
# v, q$ t1 j5 F; Z
Agent(char id) {" @6 d/ P- k: ^0 e. s
this.id = id;. P/ S3 `5 y9 c# y
}
- X$ M% F6 Y& Z& J, q/ {% p2 n- l3 ~: b8 d( b( \
public void agentStep() {/ a6 t* N$ M$ E2 i3 W. Y* G
System.out.println(id + ":" + Globals.env.getCurrentTime());
% [3 n, ]7 @: r& m }
8 q. ^+ h) b4 {0 q& |- Q8 c}
* p* Y E0 o' \) ]3 o* H" J- s1 p i6 d+ i
public class ActionGroupDemo extends SwarmImpl {
( J+ L, G! h4 H1 f6 ?7 P ScheduleImpl schedule;5 ]3 v/ S* |. a8 C4 W' |
ActionGroupImpl actionGroup;- c+ W: N9 l, l( U# ?
ListImpl list;
v/ o( R3 T5 q* b ^ char Id = 'a';
Q |* i/ i' t+ N5 \
) z' b/ f0 ^: r. R ActionGroupDemo(Zone aZone) {
- q' k7 O0 F, Z4 d' L5 c" X& X super(aZone);
7 U) S, f; {1 Z+ l8 g) ~6 u$ G% ^ C list = new ListImpl(aZone);
2 R4 I8 \0 `8 f$ {6 c swarmSetp();* m5 L- T# r, Z" N$ Q9 g
actionGroup = new ActionGroupImpl(aZone);$ f3 F, y; g% o' I+ M9 A& D
schedule = new ScheduleImpl(aZone);0 [1 }/ o, l$ w Y
try {
. k( I/ C8 u; l6 [ Selector agentSel = new Selector(Agent.class, "agentStep", false);1 R* b3 N) c( ^
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
9 T8 P' B ]5 D: T" P
( e1 Q! `/ _3 U* M" C actionGroup.createActionForEach$message(list, agentSel);
6 ?; y" f: i8 M/ S7 e1 v actionGroup.createActionTo$message(this, swarmSel);1 q1 q& Y# y+ F# E3 S; r
schedule.at$createAction(0, actionGroup);( Z2 U( @- e$ o3 O
schedule.at$createAction(1, actionGroup);$ K( O0 ~: C5 r, K7 q; u
schedule.at$createAction(2, actionGroup);
. V) ]" `3 K6 ^- ]( y, k' ]1 Z9 F( m/ Y
} catch (Exception e) {
& R3 N: Z) V- G9 t0 q- O e.printStackTrace(System.err);
4 y0 g( V9 B% E% ]# j' o+ M9 Y4 L1 q //System.out.println(e);
' v7 ?, T; n1 Z9 L+ d System.exit(1);' z8 Y; S; [. w! U1 n) b( ~$ g
}2 s, s) D/ t8 c- C9 `% x! [
! z$ A$ R6 b+ S. N; V3 c
6 o \7 V6 z* I& J; a* w
}, T7 p o W$ A5 R
" ?; v' n; u7 J9 L& G' R0 t private void swarmSetp() {
: C8 p9 A, O% c# c, o* \ i list.addLast(new Agent(Id));
* y6 x: J+ _ O# | Id++;. r A$ b! `' d' A$ b2 X
}
% ]9 W3 ]/ j+ V: D# T4 f: ?5 P: N: z
! ^# [( p+ q& |1 K B4 P# _ public Activity activateIn(Swarm context) {
% y) C, j0 {* L# \ super.activateIn(context);
# F4 Y+ _+ O4 w" |7 Q7 O schedule.activateIn(this);
" N( Z2 s7 L6 d$ a5 T$ P return getActivity();; q$ F$ |% W9 x; g( L
}
: {) u4 J' g. D/ k' ~/ c
5 N% p$ U9 \! ? H2 V& M public static void main(String[] args) {: H6 z1 X, e' Y! i
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
9 n. X( t0 ]1 {7 \" b F2 J Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
1 s: r0 Y2 J5 v* r swarms.buildObjects();
$ M& M/ A5 R, A3 v+ M swarms.buildActions();4 F5 Y* b: L1 G* L7 l( W+ g
swarms.activateIn(null).run();$ q/ X( x t0 X1 c
}. H, V& O$ Y! }, |2 m# a
1 f2 Z( `" x3 t7 ?8 d" Y7 [8 s
} |
|