设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8850|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% x; H; ~- F! Q* B) |' s
8 @; M4 W" T8 c3 {; P. F% j本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
- y' e: b# h& X5 e7 ?8 O1 ^" g" ^& D. Q以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
' K4 {7 p, J0 B/ I- O% U( ^swarm.SignatureNotFoundException
  e) a9 S, I( V" V        at swarm.Selector.<init>(Selector.java:76)( H/ Y7 C/ D; n- N
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)+ y! P# L0 D0 v, C% k( s' ?
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
* i; J6 C5 M# K7 k8 d/ a
8 G& [4 U6 }' G; t/ l+ ?  i- h  s. o, b  r0 [+ `
import swarm.objectbase.SwarmImpl;( }& i) n) t+ O0 X
import swarm.objectbase.Swarm;
$ @# s8 v) D" O* K! D2 ]) kimport swarm.activity.ScheduleImpl;
7 y6 _  L1 x* himport swarm.activity.Activity;1 n" G) }; t, @- y$ q
import swarm.activity.ActionGroupImpl;
; z6 B. W+ c. c  }' iimport swarm.collections.ListImpl;) L, e- D% }  w" `
import swarm.defobj.Zone; * V5 p5 m7 q9 p6 r
import swarm.Globals;
+ ]; Y0 ^5 e: D% {0 f+ Limport swarm.Selector;4 d0 F7 |5 z: U% v
import swarm.activity.ActionGroup; . G' w  W3 C9 z* L% b$ R
class Agent {
8 i" E% U$ U7 s        char id;
1 a- w0 n2 j, n4 z0 h9 p1 h  |2 ?. c! |
        Agent(char id) {& M0 y1 I8 ~; j0 M! V. ~) J
                this.id = id;/ Z. ]. r6 D" {3 S, B3 ]
        }
9 X( U& [3 \4 a: U  k; q( L6 r# X* t( f. h- g3 x! h
        public void agentStep() {3 G' J' U* F1 T
                System.out.println(id + ":" + Globals.env.getCurrentTime());$ S. u6 `& M( l! Q3 l- L" \
        }
5 x% {& L0 @8 a, X* z$ {}
' k" g7 |6 W0 Z$ D* l
1 j; {. M- W2 \  \4 G$ M' Vpublic class ActionGroupDemo extends SwarmImpl {8 o  ]4 N  [- p7 Z' @
        ScheduleImpl schedule;
# G! ~& K6 S* ]! f) R' K5 F, l# Y        ActionGroupImpl actionGroup;) Y/ g6 E8 d, n! Q0 o; V
        ListImpl list;( m1 b4 ]- r% R0 m0 }& I
        char Id = 'a';- I' b" A/ r9 [% O( z4 J

4 l# T0 t9 I6 [1 z        ActionGroupDemo(Zone aZone) {2 c1 i1 [& S. P. `
                super(aZone);+ \+ r; @8 h5 y) T/ u7 O
                list = new ListImpl(aZone);1 _) B: a2 s* H: s) J6 b1 \/ M3 g
                swarmSetp();2 [* m# N2 F! _
                actionGroup = new ActionGroupImpl(aZone);+ Y, N4 [1 ~7 f% P4 W, s  ^& d
                schedule = new ScheduleImpl(aZone);
! W+ i) C* _  N8 \7 Q$ [$ n, z                try {0 J7 y2 A+ e+ M7 I
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
; V1 O1 E5 O8 W; p                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
& l' a) [# D  o7 W                        2 S( Z* H% ]$ D" ~
                        actionGroup.createActionForEach$message(list, agentSel);
/ [* F6 \$ ^( o2 W* Q' ?% {7 k                        actionGroup.createActionTo$message(this, swarmSel);; N, j9 }- A7 u, a
                        schedule.at$createAction(0, actionGroup);& _# n* p$ e5 K
                        schedule.at$createAction(1, actionGroup);
" ^( v) G' g& e, y) q                        schedule.at$createAction(2, actionGroup);
6 P4 d1 ~# h' e; T4 q! \# _6 j1 m- J  D
9 D3 s( b" _# s' ]$ W! Z                } catch (Exception e) {' j0 ~  G# A  z# H! M2 K; B
                        e.printStackTrace(System.err);, [# H- V# f) w9 r- o
                        //System.out.println(e);% p( F; \' v. D0 p# y8 n+ Z/ m
                        System.exit(1);. x+ w  [; M2 x$ E: R2 M2 r
                }
2 Y5 c- C+ j. r5 r/ U
; N9 T# i, R  d) ?) X0 J& ]/ C4 T1 a) }2 F* E  T7 r
        }8 \9 @, Y9 e! L* r' c4 P
( F( X" }! W6 u0 k
        private void swarmSetp() {
; _; A: O2 F4 _# N7 U- q+ |. W                list.addLast(new Agent(Id));4 t) {6 R7 k: Q: O* y0 I$ O
                Id++;6 p6 U& _; Z5 E: Y8 [
        }# l' c; n1 s  O; |& N
9 X9 v8 r5 t: w
        public Activity activateIn(Swarm context) {
! l7 \" {* X4 P% O                super.activateIn(context);
4 ^' G6 Q1 O' x7 O( Q                schedule.activateIn(this);
: n1 i2 i) ?9 C6 v5 C5 o                return getActivity();- O( b: P3 v# D9 ^; _  ?" T2 P
        }9 D6 |+ g3 p5 r  @2 X

" r! K. [/ I$ ~. ?        public static void main(String[] args) {
- V- W6 H( w$ j8 Z0 n2 ~                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 F- j9 N+ S! V, v6 R                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% E7 G+ e* V4 a0 Q: F
                swarms.buildObjects();0 c: C+ H5 H) G& l
                swarms.buildActions();
- S( U5 Y. N6 X                swarms.activateIn(null).run();
/ X1 N" V) M( D5 q        }( c; {) k1 G- R* N" f7 g  _

: b4 S, P* R# H9 x1 o7 A1 ]! k}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-24 17:41 , Processed in 0.017438 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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