设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5335|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ; p! t* ^2 U0 W6 [7 X
( m6 Z: F$ U4 \. m3 Q
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update214 ]8 V) d1 i- ?! _5 S
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
! I9 L* O9 X* L( Kswarm.SignatureNotFoundException6 I$ }% H, s; J! Y: K. _
        at swarm.Selector.<init>(Selector.java:76)
8 z0 S2 n4 e/ @: \        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
1 T0 b) O0 w% I8 D+ t. m2 K8 x3 U        at ActionGroupDemo.main(ActionGroupDemo.java:67)) m$ t; R/ P  [. h  l
7 [9 l8 S" H$ h- u8 }
2 Z( H" J0 p% h# u
import swarm.objectbase.SwarmImpl;7 c; _* g" S$ S5 m0 {7 q! H& I
import swarm.objectbase.Swarm;/ E* Q4 `) p5 z
import swarm.activity.ScheduleImpl;$ c$ ^" s( {8 C: T0 o' c9 v
import swarm.activity.Activity;
8 P7 X+ f* V: `  ~( ]- o8 nimport swarm.activity.ActionGroupImpl;
% E" x& s( E9 g& O8 kimport swarm.collections.ListImpl;% t+ d( b7 C# J6 B3 y
import swarm.defobj.Zone; 2 s4 t; _! ?' F  k
import swarm.Globals;
& q/ J/ Z5 v" R0 O; v: v' @# ?import swarm.Selector;( N6 A3 @4 u' N9 \7 X, ~" W
import swarm.activity.ActionGroup; ) Y6 y5 L0 z2 }' u5 W. I% ?0 ]& m: g
class Agent {' |( D- q% X* G  j% H8 p) O
        char id;$ r4 \. H# ], P2 n3 F2 R4 J
0 }. u1 M- G4 ^$ @; C8 b7 W% T
        Agent(char id) {
( q) ]$ {" ~! c2 \                this.id = id;
4 O5 S3 r! j5 }1 z8 z        }. i0 _" ~1 C7 s5 X/ a3 q* E% N. |

) ~: g$ V. T4 {% q1 M+ f        public void agentStep() {4 U6 R: W" z: I( N9 B8 B
                System.out.println(id + ":" + Globals.env.getCurrentTime());
+ H) e: W" q5 t$ |5 e3 {6 X6 c8 x        }( ]0 d1 Z% \7 u, ~$ m7 t
}- a! v* _+ |2 H! l6 g

& B1 M3 ]- c- Q( ~+ @/ M; |1 u! V/ K  lpublic class ActionGroupDemo extends SwarmImpl {: y! b5 ]1 U8 g" Y
        ScheduleImpl schedule;$ \$ y3 d) y: e* ~1 ]" j3 i- O
        ActionGroupImpl actionGroup;
3 [. x. u# ?& `0 H) F. z7 J        ListImpl list;* B' A) A: c9 t
        char Id = 'a';) I( c; p5 U6 m. f8 w1 ^; c' @0 z3 w
: D5 @' o1 `& r% A3 Q* C8 a! s
        ActionGroupDemo(Zone aZone) {+ T+ w2 s. z! Z  ^2 J( u
                super(aZone);4 m: p2 N0 M, B# c8 l. ?
                list = new ListImpl(aZone);
+ l' L8 u" v) @# ]9 e% U* V                swarmSetp();2 S& V7 J' o' |2 P' E
                actionGroup = new ActionGroupImpl(aZone);+ O- d& K8 R8 z8 K
                schedule = new ScheduleImpl(aZone);; q7 @/ t9 w* A1 W5 N) v9 h
                try {
" j, A3 w" O; d/ p" A( L                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
6 q: `) N' J" T" \" v. V                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行9 }/ u7 _/ ^- ~: f/ G& o. r
                        
" @  j) z7 a) J: m                        actionGroup.createActionForEach$message(list, agentSel);
- r- u1 X5 W3 k6 D                        actionGroup.createActionTo$message(this, swarmSel);& r! [6 j+ M5 c" B# A
                        schedule.at$createAction(0, actionGroup);7 g( O; x* A- }+ E& x& _1 k2 _, C
                        schedule.at$createAction(1, actionGroup);; R5 A: l6 N0 W# L2 Z, F
                        schedule.at$createAction(2, actionGroup);" `2 I. d: X4 ?
7 q0 y5 G6 u. T5 v' Y
                } catch (Exception e) {
/ w) M: {" b: J) N! l" c  x, j7 b. G                        e.printStackTrace(System.err);6 e) K! }; B2 H0 b  y. s
                        //System.out.println(e);' H! u8 E/ T. T+ Y
                        System.exit(1);
$ K6 @4 H/ {9 z; H7 G                }, P' E! P- Q% X

5 ~' i$ k6 D. [) H, p) m% ^2 L, d- @! |) m9 U, Q2 p; K
        }( m4 o# u, ]% c8 X3 D# f9 ]
8 A4 v% P; ]: O+ e
        private void swarmSetp() {2 D8 X/ Z. `$ S# ~3 s$ V
                list.addLast(new Agent(Id));. B+ W' _. L$ y$ r9 e
                Id++;) x# ]; X. L+ [: q
        }6 K9 S: E  K- Z3 w+ B" v

( ?  ~& b5 u5 ^4 K# E6 h        public Activity activateIn(Swarm context) {$ L: ~/ h0 H0 ]2 c
                super.activateIn(context);  F% m) q# v2 i, n8 A
                schedule.activateIn(this);
& B; b3 B+ H" ?( S. D                return getActivity();
2 g, M% J- F' k2 r, s* u3 {4 I        }4 \  ?5 a0 \, Q& C9 o2 e' A
0 [& i% v8 z1 R5 H$ z9 _. b; V5 Q
        public static void main(String[] args) {
2 U6 H3 d( {9 N- |' |5 ~( X7 X2 W                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);9 Y4 t" N& b% v! i
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);/ ?! L3 p$ s& L8 L( `* z
                swarms.buildObjects();; u* g4 M7 M) ^* p' ^+ @; W6 a
                swarms.buildActions();0 h! N1 S& b1 I
                swarms.activateIn(null).run();$ u9 t  |+ ]) i' @
        }% U; H! T  {0 D) d8 t) I. h* ]

9 J. z+ E& o: p1 p; T9 H}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-4 21:00 , Processed in 0.017159 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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