设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8075|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
8 f" O1 k! X: x3 S$ t9 Z
; I$ y9 P! U9 N+ A1 {2 L  S7 M本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. {, S0 a. }: C7 P- ?% d0 y/ R  Z
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 S& ^' f  r' P: k
swarm.SignatureNotFoundException: S' d2 L! p6 T& {3 i7 U0 q
        at swarm.Selector.<init>(Selector.java:76)
( Z" H; s: o! t, J        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 i/ C% ]5 o  `4 y+ c$ C: ]        at ActionGroupDemo.main(ActionGroupDemo.java:67)+ \$ D$ l! u- o5 P) G3 q/ u+ Y& R, p
  i: P8 @- f8 b! e, S) e3 F. Y
* l3 B9 t# V0 g! m) ]( c
import swarm.objectbase.SwarmImpl;
6 U  I* M( p5 }- S) ~. j1 g% Limport swarm.objectbase.Swarm;+ S* m( _+ p, ~7 ]+ M
import swarm.activity.ScheduleImpl;' I5 ]+ \* Z( H8 u+ [# D
import swarm.activity.Activity;
7 a+ X4 z! q+ z9 U1 J' Uimport swarm.activity.ActionGroupImpl;& Y1 l( }+ A- J+ @
import swarm.collections.ListImpl;, X% H) [2 ]6 @( l7 |  x4 N) U
import swarm.defobj.Zone; 1 e$ ?, a+ d5 o( J
import swarm.Globals;
  Q1 N# u, H# Y* U3 i0 p1 Pimport swarm.Selector;
8 T+ p  ?' e# V4 }) Timport swarm.activity.ActionGroup;
0 K" p3 _* B, A* K! oclass Agent {
8 h! }9 f: P) D, l6 f        char id;
, b' e1 E/ ]/ Q5 [, h" h4 q8 X. w7 X) u
        Agent(char id) {, Y8 {4 A+ F$ H9 y
                this.id = id;5 v! g& F8 J0 Z' F' ~; h# N0 E
        }+ L4 G& I! j4 [3 d

* x; ~3 \+ }1 G0 C1 j! i  j$ U( S        public void agentStep() {7 o/ g3 ?: h6 y) F5 |
                System.out.println(id + ":" + Globals.env.getCurrentTime());/ y. _' r  L; R" u1 [
        }
" E# I% x- B, A1 h* \" D0 z}
/ d- t% K) I6 I! E) h/ a( Z
5 A" J- y) L( G2 x; N  Epublic class ActionGroupDemo extends SwarmImpl {; |5 k* f0 K; c6 C1 n7 |* M
        ScheduleImpl schedule;# c6 K2 F' R2 L, J& W
        ActionGroupImpl actionGroup;5 w3 [" ~3 ~, v. Q# Y9 W
        ListImpl list;! ?" ^( M, n% e8 I
        char Id = 'a';
2 y7 p4 T! P+ O7 {. m! |
0 }6 ~2 t1 u6 @% Z% G7 S$ i        ActionGroupDemo(Zone aZone) {6 t" Z! P8 W; j3 D5 N% @
                super(aZone);  t0 r3 `0 ?/ R  a7 B
                list = new ListImpl(aZone);
8 s" p0 P4 F" Y# y$ y6 G( o                swarmSetp();
& ]' q$ [: N! F4 _/ O# X- U                actionGroup = new ActionGroupImpl(aZone);- O3 y1 E1 u- b2 n, q
                schedule = new ScheduleImpl(aZone);
8 A. x% n# [/ q6 V& N1 O+ z: Z                try {# i: _2 r2 q; K  Q3 f
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);1 m% s+ q9 n) {0 @5 E% ?5 e
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ Z: f) H8 c4 I# B) w, O5 I# N" v/ ?
                        
5 l9 f# v% R7 i; k9 q5 O                        actionGroup.createActionForEach$message(list, agentSel);
; q: c; l8 a/ A' T9 q                        actionGroup.createActionTo$message(this, swarmSel);& ~1 c/ b4 h. O4 f6 H/ T# u+ y9 p
                        schedule.at$createAction(0, actionGroup);
6 u( _$ |! \0 @                        schedule.at$createAction(1, actionGroup);- ^7 [1 E- P+ @+ w1 V) v* @
                        schedule.at$createAction(2, actionGroup);
9 L5 v- v  M. E8 G6 {3 g$ C8 N1 C4 Y0 f
                } catch (Exception e) {
& H& s, j* s' P                        e.printStackTrace(System.err);
- ~. l8 B! \+ Q# Q4 r                        //System.out.println(e);/ g/ v, G) N, [# M! \
                        System.exit(1);% W# |6 Z- B# s% M# A6 e: d
                }& L. f6 Z% m6 o+ B$ \. a

8 Y) ~3 _- ^+ M8 _0 M
* o5 y5 H' N) _; ^        }! |" S5 h, G' J4 W$ Z  X2 b

5 ~3 C! k, }7 r. d6 M$ `8 ]4 J: ^- U        private void swarmSetp() {
6 n8 t$ `6 w) [: i* A                list.addLast(new Agent(Id));  g# j9 B; A! j" G. p& w, {7 ]: L- Y
                Id++;: m: Y8 k- v7 Y, k# ?
        }# H' @) T" b: ~0 Y

: L1 u# S2 I" r' }6 d, B        public Activity activateIn(Swarm context) {
* P1 P" S) a5 z! T                super.activateIn(context);: ^( B: r* U# I1 Z! ]
                schedule.activateIn(this);
/ G8 \" P3 G' U+ w8 F3 q  A1 k                return getActivity();
; o& s( a7 K# v: A& I1 {0 S3 K2 s" r        }- m, R/ w4 t, z* ?/ v$ B

. ]; d" F" q) J1 W% `4 T        public static void main(String[] args) {
! H+ r% @! p4 }; J( i                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; }8 _) ]3 ^) b- Z, M! F% s                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
6 w+ D9 {4 V6 G# e                swarms.buildObjects();
7 U6 H0 o2 l; b9 x$ l  H6 S                swarms.buildActions();$ n8 k6 M0 @) o5 a7 ~
                swarms.activateIn(null).run();
  M  g4 p) q9 R. v: }9 {2 A        }; c5 \4 [- B0 ]6 F/ F9 N1 y/ q
, t' K% e0 C4 i6 E6 P" d% o
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-29 10:22 , Processed in 0.015491 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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