设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8119|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
/ s5 e3 ?" a' M. _8 a1 e. Z0 Q& ^* \  S# }. K- `6 s# C
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" Q, A: u+ I- |% B3 }0 e1 D
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
4 z  s& N; e- o* l0 p$ gswarm.SignatureNotFoundException- e9 {0 j" Q9 K7 I8 H
        at swarm.Selector.<init>(Selector.java:76)2 M3 Y8 i( n& f+ P* ]3 I
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)) e9 i  C, g! t& g; Q- _
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
: [" B- o7 v; }3 V" |. I5 d( Z
2 S/ m* _' T7 Q+ |2 j( u. }7 h* A; w
2 i1 a) @1 p; `9 `) T7 limport swarm.objectbase.SwarmImpl;1 p' a  E; `: @) `/ O( b
import swarm.objectbase.Swarm;/ x- U8 v6 v! ^$ T
import swarm.activity.ScheduleImpl;
% ~' \+ g6 T, q% timport swarm.activity.Activity;" w3 w& S- e; d0 M( T: s' v
import swarm.activity.ActionGroupImpl;
) R5 k6 v4 g6 d" i1 A+ s$ P( u2 f! ^1 `import swarm.collections.ListImpl;
/ w8 \2 ^3 w* k3 ^& G) s# H! ^# Eimport swarm.defobj.Zone;
' B' M( W, ?! C% r+ Jimport swarm.Globals;: y) V1 @  D0 |- r  a
import swarm.Selector;
; F7 t/ e  r+ [1 `# X& ]+ Vimport swarm.activity.ActionGroup; 7 X' a/ c+ R8 _- `5 L% J
class Agent {
: z6 a: k5 G% }7 A$ R        char id;( [# E" G) M% t: H# `# i, O

2 B/ r4 n3 }0 ^8 [+ e' ]        Agent(char id) {, _# e1 ~6 Z1 w/ w1 @0 S
                this.id = id;
7 U3 L3 s& E, s! t        }
2 Q2 T" w# w4 l! z
9 M) o$ o5 w: m        public void agentStep() {
( |5 q0 F- S2 q/ |9 j                System.out.println(id + ":" + Globals.env.getCurrentTime());
& |3 }3 O* S$ f, d8 g        }
: l, [' Y% K" g}# G& b$ m; `5 k; u  w8 a
$ l  A, D6 P0 D7 B3 R( A# L. P
public class ActionGroupDemo extends SwarmImpl {
. z+ A+ v1 B/ R+ I0 g+ y        ScheduleImpl schedule;1 X4 `% b4 ]9 |6 @2 W- h
        ActionGroupImpl actionGroup;
$ @$ N8 P" g8 _        ListImpl list;2 v7 q0 d. W! a# j" T; V; `
        char Id = 'a';
( C; h/ Y5 L) K! v" J. X; F$ c3 a
: V& r$ b& L3 m/ h! z( P+ }        ActionGroupDemo(Zone aZone) {
! e4 p0 y: r; i: a                super(aZone);
0 i' n* Q4 n) a) b4 ~7 j5 C) V                list = new ListImpl(aZone);( z1 e- y3 `3 @7 {! J$ v# K
                swarmSetp();9 d4 P  @! }! @; h$ `
                actionGroup = new ActionGroupImpl(aZone);
+ b) U! x/ y! T' u7 P* m                schedule = new ScheduleImpl(aZone);  N1 \% ~6 [* B9 D
                try {: Z. t- j, Z/ ]  g7 V1 V. e0 o: R1 C
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
! A: p+ {& P6 x4 H                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行* V* [5 g$ T; n8 ?0 ^9 k9 k) v0 @
                        
- M# {  {; `  O0 S1 k1 z                        actionGroup.createActionForEach$message(list, agentSel);
# i* v+ [. B4 s+ S' }: w4 A8 p4 |/ e                        actionGroup.createActionTo$message(this, swarmSel);/ C9 w4 t- ~; {  a) T9 h. q
                        schedule.at$createAction(0, actionGroup);
/ B4 ]. a/ s' v5 @0 f0 y0 d% H3 F                        schedule.at$createAction(1, actionGroup);4 o3 @+ S( W2 G9 u/ k
                        schedule.at$createAction(2, actionGroup);
0 U& v/ J4 Q0 ~- r
5 g" _* G5 ]* G, w                } catch (Exception e) {  ~6 `, O  Y8 P6 S: h* F8 R! M
                        e.printStackTrace(System.err);+ x# u5 l% G2 Q0 V
                        //System.out.println(e);& i6 z! o! P( L3 F, ^+ p
                        System.exit(1);
! ?9 ]6 j( a7 ?' Z4 [1 ~( w3 Y6 I$ t* l                }
7 K! O7 @& b# ?) C1 f1 c
0 r9 Q) @4 Q2 g3 E4 f) y, c. I" x- N7 p: f4 f  ^, q
        }
0 \' r8 d- U9 |% Y* X* P$ ?( S. B2 O% N4 P
        private void swarmSetp() {$ n+ |. ?% ?) b5 K# g
                list.addLast(new Agent(Id));
* ^* y/ Q: [7 C) i' ^                Id++;
/ E& L8 A" d$ K/ E( C  c; a. \8 p- q- U        }- r, d* w% _! q+ F- [

' t4 J( }  I( g7 p. {1 q1 r        public Activity activateIn(Swarm context) {
" w6 b8 B! T+ Y                super.activateIn(context);
- B1 A' _; v- [0 P5 |( p                schedule.activateIn(this);
* o0 d7 @- u$ k                return getActivity();: M2 j. x0 L0 Z4 y3 T/ P
        }6 \( x+ S, M! Y9 S4 W6 k

4 Y  e* Z/ R) J* h  n        public static void main(String[] args) {
# }4 ?$ {* R6 F* P                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
" M1 \, I1 k* [                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);4 [/ u% u+ T/ s1 L
                swarms.buildObjects();4 q/ H, s3 Y* f3 I* Y! f9 g- N
                swarms.buildActions();4 J  g* |, M" u% B0 }5 q" E
                swarms.activateIn(null).run();
4 J4 g' D5 e- v: J        }$ a# D* v- k' Q
' y# A8 c: g6 V5 R) x' n
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-31 00:28 , Processed in 0.017184 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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