设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10900|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 6 J: I0 C+ b5 _7 \. Q  ^

" n* z+ d1 Q) c" o) @, d本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. p9 I9 U+ ]7 |0 ^
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.9 Z$ c9 `; o3 k8 ?! |
swarm.SignatureNotFoundException
, N. H, D. {1 J4 \7 H        at swarm.Selector.<init>(Selector.java:76)
' ?) E3 P7 ?9 B+ c        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)/ v9 t, `7 x- y# I. T/ p0 G
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
' ?* |. P. z& d+ t3 f; \/ M/ k
9 o7 H  o3 \6 ]2 _8 @0 k) V$ n1 P! i/ h# L8 X
import swarm.objectbase.SwarmImpl;! h1 y" l/ _/ d6 @% N
import swarm.objectbase.Swarm;: f% d9 C0 X! N1 r7 W
import swarm.activity.ScheduleImpl;
- G& G4 \6 j* gimport swarm.activity.Activity;
$ H+ H3 c1 Y. m/ E4 @$ a4 timport swarm.activity.ActionGroupImpl;
; p4 F$ C+ T- z, zimport swarm.collections.ListImpl;
  i3 [1 L. _9 K' y/ Yimport swarm.defobj.Zone;
1 c2 O7 c  F( m8 S. m7 Cimport swarm.Globals;
3 ?( A3 C: C5 simport swarm.Selector;
, L# @7 M# {/ k- H7 `& himport swarm.activity.ActionGroup;
) Y7 ?( E" g. b- f, p0 `7 vclass Agent {9 f! I% j7 s# I$ w  F, P% U: n$ w
        char id;
$ [: x+ {2 p' Z( ?) X  S# Y# g9 G4 w( A/ p2 b2 _& r' i
        Agent(char id) {
  E3 \, n$ H* h8 v                this.id = id;5 Y/ H3 Y8 W3 K- ?9 g. v9 D2 h
        }
/ v- O+ J4 C2 w  C* u
2 H7 ^- M' e; H2 ?/ S5 ~        public void agentStep() {8 _: J; f1 U9 T, w& i( f
                System.out.println(id + ":" + Globals.env.getCurrentTime());5 H$ s/ O, k4 r, q- M5 x& v, L
        }
) N* h+ y( q! z8 I0 ]! ?3 w}* \, |& ?3 ]" k# E9 M

  U6 P' |+ e6 R: h- z) K  Ipublic class ActionGroupDemo extends SwarmImpl {
% k( g4 Y5 a- L: D: \0 C/ H        ScheduleImpl schedule;
% o6 A  F' }" C) v2 j        ActionGroupImpl actionGroup;- m8 s! b: R+ u
        ListImpl list;3 j) q; Y6 ]- [% o9 p- d0 D4 Q
        char Id = 'a';
2 x, E3 o$ w: {" z
: ?0 B& H( d3 O8 v* m1 B* v        ActionGroupDemo(Zone aZone) {+ S% X, p+ v) j+ Y7 B. f* d8 D
                super(aZone);2 ^9 c; e; N: z) E
                list = new ListImpl(aZone);
) ~% y& f4 d0 s- J) K. }                swarmSetp();
3 d; s- w2 C" w7 P9 C: i# h- b! m                actionGroup = new ActionGroupImpl(aZone);
0 A* p& _' }7 T3 I- j                schedule = new ScheduleImpl(aZone);
4 M* ^; m  s) p! l+ P4 c9 n                try {
1 w7 c* f1 ?+ U  i/ ^$ [! y6 W                        Selector agentSel = new Selector(Agent.class, "agentStep", false);9 U+ I  e, f: f% K
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ {3 D! T. w9 G# O; l* @' z* H
                        8 T# u( o% t0 @- S* ~
                        actionGroup.createActionForEach$message(list, agentSel);9 `1 m4 r4 X0 S3 J8 }$ X; Z, H
                        actionGroup.createActionTo$message(this, swarmSel);
3 J4 t. D4 ]! S8 y' ], j                        schedule.at$createAction(0, actionGroup);
) Q$ P7 P" A3 M6 K0 t( H$ k                        schedule.at$createAction(1, actionGroup);% F6 T0 ]& P) O& F. Y* w) |7 ]) x
                        schedule.at$createAction(2, actionGroup);# B3 Y" ~0 n4 j* S: p( Z9 u
% }5 v# L6 Z1 h" p2 @6 h: N
                } catch (Exception e) {7 f, O6 C  L$ H+ N3 G. i. F) S
                        e.printStackTrace(System.err);
, P  u) B" Y0 F$ Q# c                        //System.out.println(e);/ H2 _: o% h; _; c; Q  a5 l
                        System.exit(1);
2 C* @7 G* u% r6 w% r* |! X6 L1 \                }. I& }: k  {* }( f

. W+ p5 {: L; ^6 ?! l: M% J" d' k( V
        }
! g! ^# O1 E6 O( e5 g
& }6 ?$ G2 h+ ^        private void swarmSetp() {) U  n! s: s  f
                list.addLast(new Agent(Id));
! A7 \9 {; \/ W, z; f- X/ }+ |                Id++;+ z5 L6 O. a7 `/ }3 R  w
        }/ k1 o2 x  H6 x! D4 B: }
- `* `# D! E4 R) s. b/ h
        public Activity activateIn(Swarm context) {  D) b/ S6 j6 X7 K# W7 l
                super.activateIn(context);7 H. H5 h( _! s+ ]5 u/ c0 k
                schedule.activateIn(this);' J5 `$ w- ?5 y+ x
                return getActivity();
6 E* c$ [. I- ^( P! s' d        }
6 o; [6 u+ r: Y+ W8 I6 M1 y* k2 S  M& ~
        public static void main(String[] args) {7 n  l' I+ \2 l" u$ |# t4 U+ M1 `
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
- B! `1 ?7 S7 a8 I" H+ C: `7 _                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; t  y8 L" P: |, C# {" l                swarms.buildObjects();
0 a  x! H! w6 b, Z( E1 W) [7 N                swarms.buildActions();
0 ^; ^7 H% R5 |                swarms.activateIn(null).run();
8 _' c, F$ O* U  [: y        }
( [2 M( n/ {; y! b5 v& ~: s1 i9 N" p  t( m$ f
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-27 00:48 , Processed in 0.017441 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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