设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11043|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ' z" j3 E) F* J
0 ^" a$ |$ v8 M) `, T6 E
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21* i3 @* J8 ]" W7 f8 _4 s7 ]5 `* h
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.! X5 o6 I+ W- C% F: y
swarm.SignatureNotFoundException
. K, N7 x. S: l5 V, I/ a        at swarm.Selector.<init>(Selector.java:76)
* L! k6 y7 Z+ B& P' Z8 ~) `        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)+ \( I1 }: a5 ~' Z! X6 t
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
# q! |: j( _- s3 K3 I  [! ?9 C+ G) V  B/ G( D' h! i9 G

* u" [& C- `2 x5 jimport swarm.objectbase.SwarmImpl;" O. `% G' m& I& A3 [: y3 }7 ]" M
import swarm.objectbase.Swarm;  S. r) E9 m) ]+ {+ s9 O
import swarm.activity.ScheduleImpl;, y" L% n1 Y4 Q/ D( E1 B
import swarm.activity.Activity;* v7 H* \- i3 x3 z; n8 ~9 E& R
import swarm.activity.ActionGroupImpl;
2 _& Z3 J* n" X( j. ?- @, U$ @3 n+ cimport swarm.collections.ListImpl;5 V& X! Z! p) h2 a- S; I, x
import swarm.defobj.Zone; + J( t3 W7 a6 F
import swarm.Globals;$ B* e$ V0 G, G
import swarm.Selector;# b1 h0 E0 E1 R3 H0 y9 U7 r
import swarm.activity.ActionGroup;
7 J; d+ p0 n4 ?7 lclass Agent {
/ n2 D. {  V9 L! R# V/ ~        char id;
' l/ X. o0 @# g* O8 \: d! z+ Q# p! B4 r
        Agent(char id) {6 o, C# t7 e& U/ N
                this.id = id;9 I. r1 @+ z2 }: Q
        }4 _+ E4 u. S" e' |7 J
; C% m6 H5 p/ @# h. j7 ?9 A
        public void agentStep() {+ l: c: i. f- {
                System.out.println(id + ":" + Globals.env.getCurrentTime());- x- q3 w: C, \( a! z  F
        }9 ^: c( ?  j3 N6 F: }
}0 o/ Z  x5 Y  w

! s6 h! K! K  J. N/ ypublic class ActionGroupDemo extends SwarmImpl {
8 S4 d% Q; \5 V; ^        ScheduleImpl schedule;
6 j; ~2 H# T$ k5 f' H6 d& `( d        ActionGroupImpl actionGroup;
" N: z9 E# F5 h4 I1 o$ i        ListImpl list;# W/ A- L2 q# }6 O
        char Id = 'a';
; n: E" e3 {' C; U
' @) a3 y9 y* q8 A/ g3 [        ActionGroupDemo(Zone aZone) {: M8 c3 x+ X$ d: T  C: p* M
                super(aZone);
2 _3 I& P- Q2 p, |: _6 M) J0 q+ e                list = new ListImpl(aZone);
1 `# f" t1 e, P# x; j                swarmSetp();6 j/ e: {' k/ i" x$ N
                actionGroup = new ActionGroupImpl(aZone);; A8 @# q: ~2 W
                schedule = new ScheduleImpl(aZone);2 m% T( o0 L& V9 c' ~6 B3 U
                try {
$ B3 N+ `$ j+ E7 k5 a* {                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
, L, R7 N+ u, R; ~5 p/ T5 D% X                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
, `5 t8 p; H4 d+ J$ g) D0 P1 p. y                        
# n9 W! V9 x: t* u# r+ g4 k. C                        actionGroup.createActionForEach$message(list, agentSel);9 f2 e7 V$ r3 X9 C$ `- g
                        actionGroup.createActionTo$message(this, swarmSel);
# {! p  H% W" d% n7 X                        schedule.at$createAction(0, actionGroup);
/ b% f) W; P) J                        schedule.at$createAction(1, actionGroup);
$ K3 {  W4 e5 M                        schedule.at$createAction(2, actionGroup);$ f; d% _8 d3 @3 {: j

3 F4 U9 L3 r7 B% }- m& d                } catch (Exception e) {$ e) Z# _$ R8 a* G& j3 `
                        e.printStackTrace(System.err);
/ A7 A# g0 U0 q: R                        //System.out.println(e);: B$ s) y. D0 P2 N* p' V
                        System.exit(1);
/ S" B* ?9 ^$ [/ U                }* m% x1 }/ U0 B! E4 o! D3 f7 M+ S5 L

. f/ r' J9 v! S6 Z! ]$ \, I# U& }% n) w/ f* e4 N/ Y: W) m
        }5 V5 N9 W- O0 v' z0 {
8 I" S0 F6 H- M
        private void swarmSetp() {4 k0 F. b% t1 T2 R( ?! P6 ^. @
                list.addLast(new Agent(Id));
, s" U2 V* p1 X3 }2 b                Id++;
: E2 @; N8 i! e' \% v/ v5 D& d* h        }
0 q! m: H; C  w" U: ]; G$ e% J  V1 v9 P8 C9 `8 d8 {( k# f
        public Activity activateIn(Swarm context) {
! z" ]6 X+ a$ F' @2 q5 {                super.activateIn(context);
) j* B3 Q- }0 f8 O# i                schedule.activateIn(this);
1 E) z. Z" l1 F# i* `/ q                return getActivity();9 z6 J9 E+ y& r# m7 \6 W: r
        }
) F6 E0 [  t, K; ^& x, `+ {! C! _, n3 m
        public static void main(String[] args) {
& Z9 @8 }% F/ H7 P                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
5 j  J7 l& ^: L                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
6 S0 i; O4 h( U6 }1 e) {                swarms.buildObjects();3 ^! z& T9 ^5 k. I  s0 T" v" ]0 d
                swarms.buildActions();
! ~7 o" j! L' Y. ]                swarms.activateIn(null).run();
  d, I& T. M. C. A9 \* b; Z        }
  p# a- t  G0 B% q6 x. }
# y" L. _8 Q6 J8 ^+ w$ N( W}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-1 09:33 , Processed in 0.015117 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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