设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5800|回复: 1

[求助] 总是出现swarm.SignatureNotFoundException错误

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 & m* \: x: a$ [5 q7 R
* b* f; ~; }- y9 o, b
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update218 R! U+ L  F  S( x/ S
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ D2 J, [) A, R8 p3 D# P+ u
swarm.SignatureNotFoundException" b9 i1 D% r; A/ t# D! Y
        at swarm.Selector.<init>(Selector.java:76)! _5 f3 l. H: z" c) k  M
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)8 o. N$ ^" j0 _: O: v0 B
        at ActionGroupDemo.main(ActionGroupDemo.java:67)8 O4 i, a% G8 V, S/ G0 b: ^9 P
+ ^: [- U* j. W

- b4 y+ y1 b: }5 N3 Yimport swarm.objectbase.SwarmImpl;
2 G: i. ?9 r0 i4 v1 Zimport swarm.objectbase.Swarm;: J' M$ R; V6 m2 ]3 r! T; ?1 `
import swarm.activity.ScheduleImpl;
% u  O3 q0 q2 z* himport swarm.activity.Activity;- ^# X& ]" [# U* p2 i
import swarm.activity.ActionGroupImpl;
& V& o+ c& G7 s! R; I% ?# `import swarm.collections.ListImpl;' X; Z. V5 y4 e. A0 f/ A- v# x
import swarm.defobj.Zone;
+ ~  {- ~4 @+ ]& M$ ^  Iimport swarm.Globals;" L0 B; |$ y# b* n2 ?7 L
import swarm.Selector;, d8 ~1 j0 \( F2 R. n5 `5 f
import swarm.activity.ActionGroup; 1 e3 j" v% }8 A
class Agent {, Z7 L, X2 G* a$ f! p6 p
        char id;' W/ N6 G! _; X! q" u
4 S5 \: u8 p: @; X
        Agent(char id) {
9 F. _2 G6 I0 a$ a1 r. U                this.id = id;
! `. G4 R0 d) m) k. N* p        }
; F0 x" m& I4 W% r: _# @" H% U# U$ j7 C7 M
        public void agentStep() {: T) i; N- a1 U9 R: }
                System.out.println(id + ":" + Globals.env.getCurrentTime());
- }" M; O1 w8 b% G; v        }' h9 ?) j5 d6 ~9 T9 v8 h. ?1 D
}
+ e7 P# |! G8 L/ c# |; [4 n* O' d! w. J* a5 W$ W: Z
public class ActionGroupDemo extends SwarmImpl {
# j  m& z% ?; w1 U        ScheduleImpl schedule;
; l; w9 r0 }6 F4 Q# j- J  T% k: d        ActionGroupImpl actionGroup;: h# C0 Z* a/ P- g3 ~3 o
        ListImpl list;  W' N  N; S+ `# o
        char Id = 'a';! ]. S$ R1 j+ x

7 }- R3 |5 y# `* v8 E1 h- E        ActionGroupDemo(Zone aZone) {. y2 a9 \2 A! M) K* ]4 v
                super(aZone);
, `! C* C9 g, e) s! B                list = new ListImpl(aZone);
% K) p: @0 S' x5 K  K% [% j2 N                swarmSetp();
  r" P) a' W! v                actionGroup = new ActionGroupImpl(aZone);
; M2 m: y9 A$ E                schedule = new ScheduleImpl(aZone);
7 k" i3 r8 a, q; P7 k. J                try {' P# s5 i4 F6 w+ q. B
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);8 A5 [7 ^) G7 Z
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) ]9 e1 F6 i5 |' U: q4 u' v                        $ w4 _/ U1 u) s. e( e
                        actionGroup.createActionForEach$message(list, agentSel);7 u: D& U5 A- G
                        actionGroup.createActionTo$message(this, swarmSel);4 N$ P, m0 ]+ o
                        schedule.at$createAction(0, actionGroup);
. K) J# B% O. P  _* M/ u                        schedule.at$createAction(1, actionGroup);9 H% J+ c6 m$ P% L! R$ n* q. z3 I
                        schedule.at$createAction(2, actionGroup);
/ x' k& ~+ R) M# T& `6 u
5 Q" E' m  E4 T+ |0 i& G                } catch (Exception e) {+ ?9 O7 U; X' u. ?' d! G
                        e.printStackTrace(System.err);
% m+ S9 q, h3 M* L; a  ^# P                        //System.out.println(e);2 P( [( P" E# l1 [$ p. U2 g5 @
                        System.exit(1);
0 u8 r: d& ^, [3 B% T) I8 X- I                }% F" E/ L% M  A

7 v! c/ A0 Z, A9 e! A0 l; }
" H4 {  b9 W6 c, M2 _7 p        }
# h3 ^1 c# k9 L: T$ S7 K. Y6 J2 ]1 ^" V# i  k0 d  B
        private void swarmSetp() {
; n9 C' l4 c& O5 ?8 f0 U/ ~) C# a" t) s                list.addLast(new Agent(Id));$ y! k4 \& s2 y$ i& H) V# L! S
                Id++;6 r5 g6 a) ?8 T# i& z
        }! Y- w) j4 V* S8 j  q
- C5 i( X* f9 s
        public Activity activateIn(Swarm context) {
) V; F8 \' V+ a                super.activateIn(context);2 b' [; S% y$ K
                schedule.activateIn(this);8 k4 z5 N' }6 X8 Z6 s) t6 O9 P
                return getActivity();2 O7 e- V& m& ]0 Z
        }
% o0 v9 M5 B% B  R# z9 \/ u2 J  X5 H# V
        public static void main(String[] args) {
7 _' K9 ?' h% i/ z2 Z2 u                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 D8 y9 A  d! y2 c# D  n1 F0 Z                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, X7 _6 j7 A) k" `7 ]' T# H                swarms.buildObjects();
3 l! k$ S1 O/ ]$ g1 j( X! c  p  B                swarms.buildActions();9 k* U! g0 t* t, A- [7 H! ~9 `! {
                swarms.activateIn(null).run();
' z; g" [5 j' q' K* S  q: G! k7 H        }3 X" l9 B! I! }8 w

  z4 y) ^  Q0 Y- F}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2025-12-27 15:14 , Processed in 0.019354 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表