设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5360|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 ^" j6 ]& W5 @% x) ?5 Y& c( I+ B+ a
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! B8 O0 C+ p0 |: M以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% K- O- J0 @1 Q' T% _
swarm.SignatureNotFoundException
+ s  T$ R* o2 A        at swarm.Selector.<init>(Selector.java:76)" }/ G1 \( B0 Y* O; f% E
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37); c- y. J- E6 B. d6 g" C" [& A
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
- e7 `& u4 A# ?7 ~1 a6 _- K8 Z# Q( {4 a7 a( @8 A3 r/ A, ^$ P& R

4 O1 m0 g' L* ]1 E% k0 R% |9 Himport swarm.objectbase.SwarmImpl;
% m5 S! H6 Q- c) o9 D  wimport swarm.objectbase.Swarm;" O+ i7 L+ `6 T# G0 e& I
import swarm.activity.ScheduleImpl;5 {9 M2 G* Y2 W' F* R
import swarm.activity.Activity;
4 b0 O$ {, G2 _# t. J9 ^import swarm.activity.ActionGroupImpl;
: R: g# |& R! @* ^import swarm.collections.ListImpl;
! g( _0 M$ k# ~/ a7 f- I0 u# kimport swarm.defobj.Zone; - u  @- K% `0 }5 w: u- \
import swarm.Globals;2 I' i" M' r0 [5 q/ ?6 N6 m4 h
import swarm.Selector;
* K* ^* C  m1 @. C9 Oimport swarm.activity.ActionGroup; ' Q4 ]! C* w; j
class Agent {- K- W" M; c' v; J
        char id;% P2 n, _. r7 c! {9 i" J$ ]( ^0 k

. U4 {: V2 i. T4 Y. o        Agent(char id) {
/ I0 `7 ]) d' D3 I+ I# e5 I2 C                this.id = id;
+ D; }% z: \" Z9 H- u& F1 Y        }
1 Z9 i- V/ n+ c. w% g. O! i4 K" e2 _/ U  x( t  d
        public void agentStep() {" r/ A! L  x7 ~+ ]' J0 E
                System.out.println(id + ":" + Globals.env.getCurrentTime());  \6 m+ h+ ?: E( I
        }
! h+ n# b; }& V}
# N! ?. L0 h4 y% I0 r8 x! t, T$ N+ H( [5 q5 z4 L- G
public class ActionGroupDemo extends SwarmImpl {; H' g6 e% w7 T, H
        ScheduleImpl schedule;
$ ?) T9 ^: M* K# k1 h$ V        ActionGroupImpl actionGroup;
) E( N% ]1 {% r9 e) H  e        ListImpl list;
: {- U  Q4 ~" A        char Id = 'a';! ]1 l9 S  L3 E0 L" B) `/ q; u0 _3 K

2 l% Y8 O5 G4 K9 d        ActionGroupDemo(Zone aZone) {
- |9 T( H) I! ?" Y9 a) d4 P4 h                super(aZone);
. V! p* W0 {, |" M, c                list = new ListImpl(aZone);) \- W) C' z( e9 C/ U9 D
                swarmSetp();1 }9 N) z4 ]7 W1 U+ E1 b3 R
                actionGroup = new ActionGroupImpl(aZone);
- W# c% Z5 h/ M  O; U/ g$ K7 P2 K                schedule = new ScheduleImpl(aZone);: E% E/ C+ d% [! \9 V$ t
                try {
% N/ M$ M1 j8 r$ e                        Selector agentSel = new Selector(Agent.class, "agentStep", false);9 S+ Q/ r3 I/ A$ n! B& z, m9 B" @
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ q* B0 ^2 z& C  k4 h9 X5 L                        
+ u2 ]1 e! [; r9 l1 E# Y0 N' C( z                        actionGroup.createActionForEach$message(list, agentSel);2 D/ T5 m" Q3 E& ?+ Y
                        actionGroup.createActionTo$message(this, swarmSel);
: f. O( y8 n. m$ P8 |5 e                        schedule.at$createAction(0, actionGroup);4 b5 C, s+ i' x+ `) ?+ p6 @4 V& J* a
                        schedule.at$createAction(1, actionGroup);
4 t6 h4 D, {) H5 a5 D                        schedule.at$createAction(2, actionGroup);
4 t( f9 a+ {$ L& y$ P  P
5 }1 s' R# s$ |; K/ P                } catch (Exception e) {
. Z7 U! f+ z3 Y9 L& Z                        e.printStackTrace(System.err);) w/ W" t# D$ e" T- n" m
                        //System.out.println(e);8 y4 P+ N" X$ [" ~
                        System.exit(1);
" e- R2 i/ I& C( m8 z" }                }
! [# E$ C# c" R2 s: G3 F! N
8 O- M# B: K6 C
# y" @4 i/ m- `- p/ }' O        }
: C2 [8 Q2 \8 F
7 @5 q$ [2 a4 o* i* S0 w2 h5 H        private void swarmSetp() {
3 }3 l" Y2 K) N8 A! {- r6 Z. C8 q                list.addLast(new Agent(Id));
* l7 \8 d8 X! s* f. B. a                Id++;
- ~! z9 D& C6 e+ B( I: L        }6 |0 E- o; ]  [9 z

+ S$ d- X$ {3 N4 u        public Activity activateIn(Swarm context) {
. S$ r7 G/ ~; U( e7 q' e$ y                super.activateIn(context);' \) \- O* }6 T5 R" N" K
                schedule.activateIn(this);
* h! q) I0 U: D( @1 n                return getActivity();
& E: O6 D5 |. I" Q9 |& L0 U; `        }
/ ^' s+ [- y/ }  l: y
6 w9 h6 L' i; {        public static void main(String[] args) {* ~: N$ [% J7 c2 [6 S6 l" [3 q; [
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. `# P+ S1 m6 u# R& M
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);+ Q% a, N% e' X
                swarms.buildObjects();$ e3 K$ J3 S" o, V% H
                swarms.buildActions();
" o# x' k- s* b' q' f                swarms.activateIn(null).run();
, B5 m* e& v+ Z1 K        }
, f' ~. k  H/ O! `( \# T  {( W/ q% ?) y3 x" `
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-6 07:16 , Processed in 0.024369 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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