设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9650|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ `, y! G- ^% o- N' u0 t( A) i+ N, h4 q; |
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21* x" l9 q/ w0 R" B7 y) |6 H
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.; \1 R+ y  h( q
swarm.SignatureNotFoundException
. `- D, ]0 o& U7 K) V* g* X        at swarm.Selector.<init>(Selector.java:76)
8 T2 p: E- E7 }" }5 ?        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)# e8 w3 t" l1 j$ b
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
# ]) n3 a# j) a, ]4 k, D: E$ `5 |% I, [5 ~) p' d- I$ c
/ ~* s: }& k: N- R1 X9 Z
import swarm.objectbase.SwarmImpl;) h* g7 ~. n) W# f  H, b" q7 m
import swarm.objectbase.Swarm;
: @, a1 k( A$ h8 x% H; ~) X0 X) _import swarm.activity.ScheduleImpl;
, o3 d9 z; }4 Z$ L) _; b9 `3 O/ ]import swarm.activity.Activity;
1 s) i/ w3 e/ }; q0 Kimport swarm.activity.ActionGroupImpl;
) `( }. R7 `3 Iimport swarm.collections.ListImpl;( y6 i8 I: E( r9 \0 Q
import swarm.defobj.Zone;   @+ j+ J+ [- ?7 R, H
import swarm.Globals;
0 Q( r% ?4 s+ A$ l" I6 W  Oimport swarm.Selector;
4 x6 z: k" {0 x6 H/ qimport swarm.activity.ActionGroup;
, E2 H0 ~% C4 _class Agent {
6 u9 u% L5 q: R" q# u        char id;2 F, p  ^& Y! l* d8 e" v2 H$ e' O7 M

! _/ c2 l, c! k; ]6 j: \6 i+ z- C* f        Agent(char id) {
& B6 w* |- X4 S  ]                this.id = id;9 _) L* y1 j# ]( G$ B) b
        }
/ h* K. T- N8 t- u, \! t# u3 i% f3 j! ?9 H2 G
        public void agentStep() {
1 m- g* |" |: m4 F) _' v                System.out.println(id + ":" + Globals.env.getCurrentTime());8 l, }" k; J, `  X* p, q# w
        }3 c  g0 ?% R" p. q; t* c* S9 S" t
}3 z& S, e8 N* J  s

$ b9 N& V" l; V. H/ @# a) Fpublic class ActionGroupDemo extends SwarmImpl {
' G2 J3 q8 |5 z: F+ b( A        ScheduleImpl schedule;
2 X# G4 D/ C* R        ActionGroupImpl actionGroup;: E5 q# H' X! O) r
        ListImpl list;
& f9 [3 K1 }; |* N, g0 h        char Id = 'a';
* B4 s6 P, R) y
# }: {" u6 s6 r0 V- R        ActionGroupDemo(Zone aZone) {6 g) l2 ^) ~! e( c7 p7 ^8 [
                super(aZone);
0 q- v/ y' S. g2 k+ `" N                list = new ListImpl(aZone);
% P+ a8 V0 C( N$ ^! U                swarmSetp();0 j  T% S( v4 p( N
                actionGroup = new ActionGroupImpl(aZone);+ w9 s2 H! a& t& M- J5 O8 [+ k
                schedule = new ScheduleImpl(aZone);
! F. ~2 ?' X& S& d* z* V" \                try {
1 e' m+ X" E2 f( i$ `  C, @                        Selector agentSel = new Selector(Agent.class, "agentStep", false);6 o7 O! Y5 G0 |; ~% O% L. H
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
# [" k5 q+ q. k! z" A6 H' A. T                        3 f7 F* g' m8 ?& R
                        actionGroup.createActionForEach$message(list, agentSel);7 }4 h" G. O* a
                        actionGroup.createActionTo$message(this, swarmSel);
3 O" z; F1 V3 Y! K$ y% K0 \7 i+ o3 Y                        schedule.at$createAction(0, actionGroup);1 b! S& d, V1 k& n* \
                        schedule.at$createAction(1, actionGroup);
( d" }; H1 S6 M0 J+ O- w) i, a                        schedule.at$createAction(2, actionGroup);
  v3 w/ H4 |9 N9 M
, Y7 ~9 f; k+ K2 x                } catch (Exception e) {
% ]- ]$ @5 {  t, \& j6 W6 x0 {& r                        e.printStackTrace(System.err);( q5 Q0 s! x7 J  v. P5 A
                        //System.out.println(e);8 _/ j* ?7 A" H& S
                        System.exit(1);" @: m9 F, s$ G7 J! ]: ^
                }1 i1 L0 C9 F) Q* h; N* U

: C* |) n6 R2 `6 S" Z" b3 v: v3 h/ v( s$ }
        }! y7 W) z- K; O0 P& V  a" d  C: Z

; h4 H* P8 c) J' a        private void swarmSetp() {+ o  |) i( ]+ C3 e  Q8 n) ~
                list.addLast(new Agent(Id));2 \2 V6 S  f' y/ N" W$ ~4 W
                Id++;1 Z6 J0 ^. f5 {* D: G+ Q7 F# g
        }' B2 ?' F, X' j  q9 u9 ^

5 {! W0 o+ F/ G6 w; {' _        public Activity activateIn(Swarm context) {
$ o$ m9 J1 I+ n! ?4 t                super.activateIn(context);6 J0 i) a2 N. q
                schedule.activateIn(this);
" a; R/ x. L# ]. g, \: c# L                return getActivity();, _, X) u. m& n2 X4 o7 m& h& y% j
        }4 d% i/ @5 B6 ~2 M$ X
" E  @5 m* r) l; s
        public static void main(String[] args) {
3 u( E) \$ M5 B; b+ ~3 m                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. c# P+ X  N' `6 [- m( S
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' ^" m3 R2 f2 V; i                swarms.buildObjects();6 j5 h: o' Q% D, A
                swarms.buildActions();
$ k6 e. r0 S7 @' ~1 d                swarms.activateIn(null).run();* q. _+ S' X8 b" K, ]- P# U5 }
        }
! I& ?" o- O4 ]+ v8 C. b
( r+ E! y1 U8 s9 i  x* u1 Z7 R# H}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-18 05:56 , Processed in 0.017150 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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