设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9284|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 + o' ]3 F* i! w) H8 E

/ \: r1 t: S- ~5 R5 d本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
% u. N; c( T7 j* Y6 `3 W* p以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.3 D7 H1 f% ~$ P* ^
swarm.SignatureNotFoundException6 y4 j% A# V2 s* p5 q" F
        at swarm.Selector.<init>(Selector.java:76)
8 G$ O! i! X8 T: d        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 H2 D" |: J3 \" _( w/ u7 ]$ s
        at ActionGroupDemo.main(ActionGroupDemo.java:67). q* |1 {7 k( N$ ^* e$ @7 k

3 {" k8 i0 E+ D5 z+ a0 ~5 W8 n0 S" p. U; x4 S
import swarm.objectbase.SwarmImpl;
$ J) X" i1 ^( p9 x  k8 Zimport swarm.objectbase.Swarm;" T/ v8 _- ?) v# y7 N; t. x
import swarm.activity.ScheduleImpl;
  d1 M. ?5 J' O0 W0 ~4 S/ `import swarm.activity.Activity;
0 [- h) S; U! m8 o3 X: s" Jimport swarm.activity.ActionGroupImpl;
& m1 z( N5 s# j: q# I; |4 pimport swarm.collections.ListImpl;
9 x* x3 T$ b* bimport swarm.defobj.Zone; . Q9 v6 W2 U) p3 ?
import swarm.Globals;+ v! j' c! q7 L
import swarm.Selector;( p) k  d$ j; y. a9 v8 e* \, Y* V0 {
import swarm.activity.ActionGroup; / f  P/ {7 s/ ^6 e
class Agent {
* F5 B  P4 ?) _/ o/ q. y' M        char id;  c% P/ h6 r1 @9 G$ o. i6 a
/ [9 f% H; X& N- j* |
        Agent(char id) {
2 f" z' w: ?8 D                this.id = id;
& ^7 J+ J- _0 a% a0 X        }* E1 ^; D. W3 I9 C0 x; e1 x. }

* Q/ g% d7 r( ?/ W        public void agentStep() {
) p& k$ Y5 [- ?8 a. _/ A2 h2 b                System.out.println(id + ":" + Globals.env.getCurrentTime());
6 s& j# e; |1 u" f        }# b+ h' H# ~5 G  S4 I9 P) U
}  k+ k; [& a1 R: W! K, M' l$ Q
9 q& d* Z6 ]: r
public class ActionGroupDemo extends SwarmImpl {
- L( |6 H% u1 }: e; v        ScheduleImpl schedule;
8 P2 [+ U: g  \( s+ g% G# f* B        ActionGroupImpl actionGroup;% P6 f  Y& F4 D0 P( u4 q
        ListImpl list;, a2 ~  V5 o0 ~( ~- P( O
        char Id = 'a';" `1 e( {: G8 I( t
# }/ X2 v+ c* r, r1 ~5 Y
        ActionGroupDemo(Zone aZone) {. K! ]% F( y0 W4 b
                super(aZone);6 z" p- y  p9 @
                list = new ListImpl(aZone);/ v9 a" @' \8 z) _* P
                swarmSetp();3 Y: b- W0 u% X3 z. H
                actionGroup = new ActionGroupImpl(aZone);6 n* J( y9 a# @% P
                schedule = new ScheduleImpl(aZone);7 U- j' p  F- o  Z8 e+ o( ]' ]4 k3 ^$ f
                try {: B8 r# i' x* l, H3 X
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);* m; f3 u) B0 k* `
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行9 t+ T* }* D7 b/ W8 t1 J
                        # v0 P; z# z% t3 B
                        actionGroup.createActionForEach$message(list, agentSel);
" n& X2 H7 ~4 v                        actionGroup.createActionTo$message(this, swarmSel);
) {0 J! }( x' R" t4 \$ _. Q                        schedule.at$createAction(0, actionGroup);* C( R7 k$ d& V  f! V
                        schedule.at$createAction(1, actionGroup);1 _# s' |9 d$ Q/ D8 v6 i; c2 o
                        schedule.at$createAction(2, actionGroup);! N) M- M& O) t4 h6 {# R

6 G/ K  r0 H9 _* C8 |# @) l                } catch (Exception e) {
0 W/ l/ B/ a" I; W& X! Z# m- u1 @                        e.printStackTrace(System.err);
# t" x" }* z  H, d- ?( f5 t. ~                        //System.out.println(e);6 A8 E) n. d1 h5 G) Q
                        System.exit(1);  Z4 S2 g% R. R9 k; x0 V
                }( [0 U+ O1 l7 m- e/ a' ~% n

, s8 d  W2 x0 H+ c* Q. m8 [  g9 O# P" V: h* s
        }
* r/ j/ r$ M' y) ?! M
$ m' k( X+ E4 V        private void swarmSetp() {/ B( V" [0 `- C* S
                list.addLast(new Agent(Id));
" v8 Z: e$ f- N5 W% ^( v                Id++;
1 b: ~+ z3 ]7 W" s: X7 I6 s1 c        }
$ U8 ^. E" A5 j2 `1 B* f& O+ K) V
        public Activity activateIn(Swarm context) {9 J7 m6 F% e" H# U# l
                super.activateIn(context);- v, M8 T, G3 _! n6 u: c! L
                schedule.activateIn(this);+ }. w2 f+ u& C+ ^
                return getActivity();1 l, l! [2 V2 v% p
        }
/ t9 H. X1 k8 Y% Y4 k7 |) Y! p. l) a& \: N! w+ s; n
        public static void main(String[] args) {) K' r3 J# f% `1 J/ p& A
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 F. _& V& n$ a; m: f/ V                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: ]* L! a6 k% }9 [: }                swarms.buildObjects();
# X: q( G' `$ V                swarms.buildActions();
9 ]6 k) E# o! Y2 ^6 o/ h                swarms.activateIn(null).run();# C  F$ C  ]" q8 M3 X& u
        }' a! K/ a2 [9 s: x) i/ H2 T8 C
4 }# x$ a  `: F9 @( x7 ?
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-7 11:30 , Processed in 0.013480 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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