设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5991|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& K( J) }; g, Q* B
5 {$ x9 S$ l' _本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21( ?0 w5 C( w7 ]4 u* I8 F
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
8 u5 v1 F" T+ m5 m' @swarm.SignatureNotFoundException+ k5 d3 n4 G8 X1 l9 B8 ~
        at swarm.Selector.<init>(Selector.java:76)* m; Z: m: D; T4 [
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 Y0 X* h+ _, e5 e! S7 m
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
% `0 V$ f8 ]# c
5 a8 u  Y* d% h; P+ b5 M# @1 V% ]2 o. J
import swarm.objectbase.SwarmImpl;
. @! ~. ^' V6 ^3 U9 k1 n  T0 Z, I! limport swarm.objectbase.Swarm;
9 q0 O: R* x& g) h( Bimport swarm.activity.ScheduleImpl;5 w/ }- F7 l0 L6 s* i5 J
import swarm.activity.Activity;9 U/ B5 o( V3 c; l
import swarm.activity.ActionGroupImpl;
8 W% W7 X/ k/ |import swarm.collections.ListImpl;3 G# e% }! |$ x9 [
import swarm.defobj.Zone; ' V  r% ~$ \8 H9 U7 S
import swarm.Globals;( R9 X) k1 e* X, K" L6 X
import swarm.Selector;' v* ^$ J( B7 A3 S% P: m
import swarm.activity.ActionGroup; & x; h- G1 b: K) ]' \
class Agent {/ |/ c1 F6 F! C4 o/ P4 g9 U  P
        char id;
( }1 z! }; O' v1 Y" Z
+ b$ [( `1 X1 b: m  a        Agent(char id) {9 q& L4 c* w+ Z' Q$ [
                this.id = id;
- i0 Y0 S# D: F        }
$ @/ ]' `, S$ p& ~1 z8 v: n$ V7 w3 m7 _/ a" e
        public void agentStep() {
2 f# P! @+ F) a& ]2 [$ n2 \                System.out.println(id + ":" + Globals.env.getCurrentTime());4 u7 |' e" W# w) e
        }
7 S6 U4 W) Z) P% |( p& m$ o. @}
7 u9 O/ ~2 f$ F( Y& S* F
; B$ b$ w+ q- w5 n% y7 o; N4 M. I2 ~2 tpublic class ActionGroupDemo extends SwarmImpl {
# _4 F# U, X% K6 r        ScheduleImpl schedule;3 f/ u' O& U5 [- i4 \0 v7 r
        ActionGroupImpl actionGroup;
5 m/ w  m' ]+ Q' c& m$ W5 ^        ListImpl list;
, d4 E- t8 p9 Q# A5 ?  I        char Id = 'a';
; k* W+ t: `1 L2 t3 X
0 M2 Q4 _2 o! v* P1 z5 H        ActionGroupDemo(Zone aZone) {
( J9 `0 ^+ I* N7 ?9 o' l" W                super(aZone);3 V) I6 f- [4 A7 r
                list = new ListImpl(aZone);- a- r- F; F! N2 G+ a: {! t6 f
                swarmSetp();: n, l( x) V# N! F4 Z
                actionGroup = new ActionGroupImpl(aZone);
) |8 I7 \4 Q9 i5 h9 l! ^. S                schedule = new ScheduleImpl(aZone);, F) f( G) U# z4 ]9 V
                try {
2 `1 t" u7 o7 `                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
" k: ^0 X4 I( A/ i9 N                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
# G: A" o7 S( ]& d" V                        5 E9 s  E5 {3 C
                        actionGroup.createActionForEach$message(list, agentSel);
6 R8 Z* U, ?: j8 C: e                        actionGroup.createActionTo$message(this, swarmSel);
5 w/ J  K- R3 f" R# X9 [* k/ p                        schedule.at$createAction(0, actionGroup);* ~, V* W) r, t" L- a
                        schedule.at$createAction(1, actionGroup);% R) F; C: W5 ~' A8 \( J
                        schedule.at$createAction(2, actionGroup);% w: Q6 M# g7 H9 j& w

9 ~' M% V8 O/ a* ^- x                } catch (Exception e) {  C- B! q1 u9 G. A+ M
                        e.printStackTrace(System.err);5 h& s, ~; I0 p, i
                        //System.out.println(e);
8 h5 S  \2 ^) V$ N7 V8 q                        System.exit(1);
5 P; K+ `( J1 W8 ], r0 r                }
7 h& |9 ^3 D& o. t  Q4 |, r, N" \2 D1 h$ y- ]$ y2 Q
2 ]# Y+ }; x3 N8 `0 n0 ?# g4 a" _# l
        }; a; O! A6 I1 s

# ^' U% s. H/ |: T        private void swarmSetp() {
1 G  n" b# Y2 L) E& C$ Q                list.addLast(new Agent(Id));
  H: w0 ^- g/ y3 ^1 H, K2 u* t                Id++;
( ?; x. U  R$ P+ K; r4 L  x        }% i4 W6 T; N* B+ a7 ^* \& }' b
# Q' H/ r* l! G  H2 X) r9 g
        public Activity activateIn(Swarm context) {# m* x6 q) C2 S/ ^8 X8 ?
                super.activateIn(context);
6 c3 x: h% g5 o+ Q( U) _) {0 Q                schedule.activateIn(this);
: r. A2 [2 H; k7 {- b                return getActivity();
7 E# o( p2 ~- {$ ?! L( [6 Y* O# l        }
8 ?7 c& o. @+ c. L& N
( f3 O3 V9 t' y# w        public static void main(String[] args) {( o- t' @- w5 p* C/ P
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
+ n0 V' A$ v$ [, C' k& X# b) I$ J                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' L# B+ K. d  S  ^# v                swarms.buildObjects();
: k) h% v4 o0 }  k$ c- ?. C                swarms.buildActions();2 a  f" t  |7 o1 V: E3 g9 E
                swarms.activateIn(null).run();8 @! W' v4 u& b! s
        }
, x' x: I" C/ }8 Z1 B5 D; `- d, i. a9 j- `" c& X' I7 t
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-13 07:50 , Processed in 0.016851 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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