设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8363|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. o: S, Z, f$ A) Y& C* F
* H8 g+ o: `: f本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
6 w4 W$ a! R1 b: a+ [以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ N$ |2 D7 K# ?, g3 V! a
swarm.SignatureNotFoundException; t1 N) s: ]% r* l
        at swarm.Selector.<init>(Selector.java:76)+ q# [' [) L, h& X- Q- ^
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37): a" t2 }* X3 b* }& D) F: `3 g
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
; F* k- w' H# c* V( A# u4 Y) b# u- |$ B5 c

% m- u  m: i) @) w' }, Fimport swarm.objectbase.SwarmImpl;+ x& G/ ?! a) B" R4 @& U
import swarm.objectbase.Swarm;
7 K) b: V0 P/ limport swarm.activity.ScheduleImpl;
* p! K: i: s  j1 J; U2 simport swarm.activity.Activity;
: ]  M3 l! V+ T# D, B, \* \  v" qimport swarm.activity.ActionGroupImpl;
5 g# j# M  T, @- ?- zimport swarm.collections.ListImpl;
. i$ C5 U0 }: x, eimport swarm.defobj.Zone;   M! u! w; L1 N1 L! L) r
import swarm.Globals;
7 G  B+ Z5 Y2 n: rimport swarm.Selector;2 M1 B; }! J! x) j) a, d# c
import swarm.activity.ActionGroup;
) Z: {1 ~4 \0 h8 R1 fclass Agent {. h8 D2 \* N) q: L6 V
        char id;
* _2 o. W) \) G9 e" p0 C0 z0 e6 L4 F7 k3 J
        Agent(char id) {
% X" n, ?& ]( m+ Z                this.id = id;
+ W4 y+ s6 k6 M        }
- v9 V$ f" U7 B8 ]: y  B
& d& N: _8 e" @' O" O        public void agentStep() {- L9 N, ~+ ?7 E0 K: x1 Q) J8 l
                System.out.println(id + ":" + Globals.env.getCurrentTime());
2 u9 R" |/ k5 P/ I# a6 y3 Q& s        }5 ~* J( P0 @& S; l  P
}0 f6 E9 {7 M" i1 M% j

! W, H0 M# K+ d+ A( m# ]public class ActionGroupDemo extends SwarmImpl {
2 P1 Z% Y' R7 i7 k( r  F- B4 x        ScheduleImpl schedule;  O5 ^& @: h4 M& k2 f
        ActionGroupImpl actionGroup;. U! u" h6 z3 x1 I' N5 x# X* h$ Q
        ListImpl list;
. @9 V0 {$ m( N1 q        char Id = 'a';) A# X& R; W8 V$ E  Z  l

1 D. z' k- n* |( R* X" G* W        ActionGroupDemo(Zone aZone) {
( s+ r$ [6 g9 t1 `                super(aZone);8 e+ p) f; g( a9 J
                list = new ListImpl(aZone);
+ C  Y8 s# _. Y: \4 h( D' o                swarmSetp();
% B* M: [' |5 J( K( R                actionGroup = new ActionGroupImpl(aZone);' a6 @: n9 ^; y- j* Q6 {
                schedule = new ScheduleImpl(aZone);
0 i: z, w: ]3 N) w4 L& w2 E% p                try {
( r- t2 u8 b$ H9 E2 ^- z) v                        Selector agentSel = new Selector(Agent.class, "agentStep", false);4 q* L, W2 P0 G3 [0 x
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
* b1 ~0 ~0 t- J9 \' X                        . n$ i8 \9 L4 `" i0 }; D- g, ~& f
                        actionGroup.createActionForEach$message(list, agentSel);; l6 x0 e$ c1 q4 n3 l0 ~' ^% ?
                        actionGroup.createActionTo$message(this, swarmSel);# [% Z3 m' b0 N
                        schedule.at$createAction(0, actionGroup);
' V, ?, k. W3 x                        schedule.at$createAction(1, actionGroup);
+ b% K/ c( R# M: [, ^9 ^5 S                        schedule.at$createAction(2, actionGroup);
4 r0 _6 U. }/ M/ Q; r  l9 g# J2 p8 Q0 ]+ d: j
                } catch (Exception e) {
! _  }9 c4 |" s- s                        e.printStackTrace(System.err);. P9 M) t6 ~$ z4 y: t/ y6 f
                        //System.out.println(e);
+ [" V) F/ g  p* Y& s7 D7 H* ?                        System.exit(1);0 o' f* ~6 l8 ~* H0 ~
                }) V( g  F9 l- Z' S! G( n
- B3 _. l: A7 n% i: O' Q
) v' \1 r4 [4 }+ h: q
        }
5 C" ~& b/ q- d# Y8 h5 W
- |2 q$ {; T. F/ y3 {        private void swarmSetp() {8 Q$ N1 A' e1 \, F
                list.addLast(new Agent(Id));+ k7 {* }; J7 C& M9 ~
                Id++;$ W5 u, P( j# {+ i* I6 C, X
        }( E) z; c& T) i, n

& U9 L, w$ @! w        public Activity activateIn(Swarm context) {
( H' m. w9 s* Z0 A$ R. F& a                super.activateIn(context);8 C4 [7 Q4 U% d+ A
                schedule.activateIn(this);  r4 k0 v- g8 g; U2 O
                return getActivity();' O# h* G8 \8 V/ J
        }
3 M2 F4 f0 z9 k% H* n
5 A2 d. k1 _% V0 L) W# _$ H& C        public static void main(String[] args) {
) _$ z2 n) F/ N1 ^' M1 l7 c7 q' m, D                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ k3 X0 O) I- Z  W0 R  }
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);. |6 s: K: U$ x. D, n, L- g
                swarms.buildObjects();
. I  p# o/ q! r6 b4 S                swarms.buildActions();+ O& ?( H3 @  y3 r
                swarms.activateIn(null).run();; V& A% K0 K2 V- e$ ]$ N  q
        }" ~% a# L  d; ?* |# l

  p2 j. U# `9 F& `}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-9 20:45 , Processed in 0.023298 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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