设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8000|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; ]9 A- U7 E( D+ b0 C, z2 S$ K* A
  k3 I8 q+ J! h本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21+ o. I5 d; F" K- `' i& \
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
1 v2 j/ M8 ~* qswarm.SignatureNotFoundException+ N6 b. U9 i' l) k3 a4 m
        at swarm.Selector.<init>(Selector.java:76)
' e. ]: n! d. U; x4 ]. Y        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)3 \4 k& l$ u9 d& d" K: l& D; J
        at ActionGroupDemo.main(ActionGroupDemo.java:67)* a! M$ F8 |: ?

% e% s( v# E) A# \% b# i9 `9 D  ^: |. t, ?3 T
import swarm.objectbase.SwarmImpl;
( \, a/ z. F: Z, I. iimport swarm.objectbase.Swarm;
8 [! z& x& o% T$ p! ^; \import swarm.activity.ScheduleImpl;
, G' P" `/ z/ L! u  Q7 Yimport swarm.activity.Activity;6 U4 Q" P0 q& `# h! ^
import swarm.activity.ActionGroupImpl;
& Z0 s! b, W$ |+ t8 C) R  q+ wimport swarm.collections.ListImpl;
7 w5 k4 A4 ^% y8 v% `import swarm.defobj.Zone;
5 U8 D0 r1 Q+ M" |& H& _! p& Limport swarm.Globals;
* D7 ~6 \+ q  z3 ], m2 q* yimport swarm.Selector;
/ |8 A0 u# `) N( Nimport swarm.activity.ActionGroup; & |, y$ v$ X' I
class Agent {& N( u3 K1 ?9 }  ^
        char id;! l0 ]& M: K) i) T4 R: u

( t, M1 Z2 Z& Z) Q* y% F' G9 Q# k        Agent(char id) {4 O, g+ t$ b' m# c
                this.id = id;
7 ]4 z$ n* v! ?        }9 x7 C- I2 {4 Y+ b% ^
8 K; r2 K& T6 y
        public void agentStep() {
: F3 `( L: P. [+ q, U% s" I                System.out.println(id + ":" + Globals.env.getCurrentTime());
2 b" R7 Y( }) a8 F7 ?6 E        }
& Q7 c9 N! h' Q: j( Y" h1 l6 K}8 F3 g8 }9 `# f. B" [7 v0 A

3 T; A/ z1 P" S4 S9 mpublic class ActionGroupDemo extends SwarmImpl {
0 {" T. y3 B; r+ W! G& E$ {        ScheduleImpl schedule;
; l* R3 |' |0 v6 B        ActionGroupImpl actionGroup;
0 i6 E" _; k8 _( N, L1 H        ListImpl list;  E4 R8 ]* \5 j+ ]
        char Id = 'a';9 X' {' ]1 j) C5 u$ k/ f

! j  n  P7 E6 Q; @( g: h: w8 d        ActionGroupDemo(Zone aZone) {3 A9 n, t3 L" h8 T
                super(aZone);
8 d+ g. F- Y% A! @                list = new ListImpl(aZone);
, X! [, u* `0 O$ g                swarmSetp();
0 H0 k" a' A0 d! Z+ W  n! T                actionGroup = new ActionGroupImpl(aZone);+ k7 w* [! U4 X% e  `  c
                schedule = new ScheduleImpl(aZone);3 ]% O& Y- P# O. {! e  }: g
                try {
' z# @: g2 ]) O% q                        Selector agentSel = new Selector(Agent.class, "agentStep", false);7 Y& R. X1 k, U5 D
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行7 a: ^. [3 E  F, W5 e- I  l3 U
                        # I! l4 U0 @) n  Y* S/ I, \
                        actionGroup.createActionForEach$message(list, agentSel);
: o! i* ?# G' T( @                        actionGroup.createActionTo$message(this, swarmSel);
1 h5 d6 N$ p) x" Z, h8 m& B                        schedule.at$createAction(0, actionGroup);# w9 f$ I, ]4 }4 o
                        schedule.at$createAction(1, actionGroup);+ t0 U$ G; V0 O! l
                        schedule.at$createAction(2, actionGroup);) o: d; m9 s4 [4 X( K" A* A( _& o
& H  E- d/ j. v% a# {
                } catch (Exception e) {$ ], U6 H# z* L  I' Y
                        e.printStackTrace(System.err);
8 l6 N1 u$ ~( A( {- X3 T                        //System.out.println(e);, |9 z8 K+ U: Y5 G& [* D
                        System.exit(1);
& ]8 M6 {: L  o6 v                }
, r9 v2 X+ F) p
( G: r# i) g4 R6 L2 o  a4 V( O9 z; J
        }
' T# _1 B. E3 M* v/ ?+ |
. J9 f6 s; C! E! ^+ x        private void swarmSetp() {+ n, p2 M' D. l6 a& G& E
                list.addLast(new Agent(Id));
) C+ ^+ I6 L3 v" f" g6 I6 Y, u% N, V                Id++;
2 i9 ^+ f: ~  h5 V9 m' F4 v        }
6 V( s0 H3 W6 M( y
6 @6 ]2 c7 Z+ h: @" e8 t        public Activity activateIn(Swarm context) {
. j& E: f) D, r  V; ^7 t, v; T                super.activateIn(context);% R$ k1 x! O; a8 c1 B% t0 M
                schedule.activateIn(this);! U+ B0 M4 y' y; ^: @  `: a
                return getActivity();
0 m; p. a: T4 p        }
2 D' r# h: Y9 S9 ?- h% n7 q: f1 j1 M4 C
        public static void main(String[] args) {+ |8 N/ l5 A7 @: o
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! J. L% t/ w; Y3 ]/ ~) s+ e                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);; k" Y* x; J+ `0 ~3 U+ `
                swarms.buildObjects();
1 M* c  j# A. U5 o/ |1 |                swarms.buildActions();  T1 }, y2 n, A5 V
                swarms.activateIn(null).run();* |! Z$ j4 ?# p1 i# Z
        }- `% f7 a* y  M3 @0 W

9 V6 y: H  M) V. y# Z5 O1 s( b}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-26 15:08 , Processed in 0.016415 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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