设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6630|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( A# ?$ U+ V# D9 }7 Z: K' N8 O. f3 s* u( }& N
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21+ P% ]( M' T7 x; L9 I( e7 N6 p% |& d
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
, e0 J5 h; g# [1 V) Xswarm.SignatureNotFoundException
6 i. w$ y$ h6 h4 ^        at swarm.Selector.<init>(Selector.java:76), Z( q# B) h0 i/ _: J3 ]6 _
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
. m' H% y$ y1 N6 A. C3 Y        at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 Z! U1 [# g, H9 q4 F4 s4 C- l; d2 B/ M
- M: P, \7 p4 [" c- [: `
import swarm.objectbase.SwarmImpl;
! `* q# _- f7 |. |* p% Yimport swarm.objectbase.Swarm;
8 s2 P5 ?2 F, }! P; \. vimport swarm.activity.ScheduleImpl;
, K8 R4 T8 y0 O' K" f8 t+ i0 S6 {import swarm.activity.Activity;, K6 V% N7 F2 P( w2 ]8 O/ p2 \0 O6 I% v
import swarm.activity.ActionGroupImpl;
, m7 b* n, M; Z. ?) ~import swarm.collections.ListImpl;
/ k1 {+ {( J& E! s2 U- rimport swarm.defobj.Zone;
* H' q$ l1 @$ Rimport swarm.Globals;. u8 E; p8 V8 x- A2 v9 o
import swarm.Selector;; c- t, u7 d7 S+ l) C+ j
import swarm.activity.ActionGroup; 2 |) x' X0 r1 v: }% D  Y( {
class Agent {
8 y* O) U' ~5 [9 m: ?( G        char id;
( N: v3 V$ K) M; Q
/ [+ V: |9 Y% p        Agent(char id) {
9 @/ p( ?& I; \1 i                this.id = id;0 B) X2 L7 N" E6 W+ P
        }3 `! F0 h: d" r- G4 Q
9 D. z; c4 p, ~, i! g
        public void agentStep() {* L0 `) n% u; F( `) j7 F
                System.out.println(id + ":" + Globals.env.getCurrentTime());
# w1 S: I/ Q, H# Z+ A9 G5 ]- e$ Z        }
* n2 t5 d# a+ q. l& `6 h# j}
* T# U  p  @& k% @; `8 ?
# m8 I# i6 Q/ K% _public class ActionGroupDemo extends SwarmImpl {
: ?9 e4 n/ i. @% Y. j5 q. O3 C        ScheduleImpl schedule;
) S8 c5 Q6 b8 ^4 U        ActionGroupImpl actionGroup;$ f2 ?7 Q5 o; c, j, ~! q# ]  k
        ListImpl list;
: t9 `' X% x0 [: B        char Id = 'a';
2 M7 p1 y& U; U* W1 g3 g  d5 n' p) s. F7 P' c8 ]* X3 j
        ActionGroupDemo(Zone aZone) {
) a# b, ~% ]" E6 b3 w5 N8 Y                super(aZone);
! R: J# x* O7 u4 @4 _1 n                list = new ListImpl(aZone);
/ b9 V% Z+ E6 p- R                swarmSetp();
* J* y5 P, W8 P; s                actionGroup = new ActionGroupImpl(aZone);+ w/ f; k$ i( K: |  H) v+ M
                schedule = new ScheduleImpl(aZone);
$ o, K& \0 t: y; _- A% R                try {
: E/ y6 {/ r" i! X! s" [& U                        Selector agentSel = new Selector(Agent.class, "agentStep", false);5 X: K: z9 i6 F* n" h+ @
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' O: M: }8 X4 V4 q( K1 r
                          s  ?3 Y( j. M6 J, O$ a4 Y
                        actionGroup.createActionForEach$message(list, agentSel);
) Y8 F3 p& n7 Q+ ?, M- e. X                        actionGroup.createActionTo$message(this, swarmSel);6 [, [( T5 i# r6 c6 K& I- d) `! g. b
                        schedule.at$createAction(0, actionGroup);) j/ k" @# f, t# F5 @" R, N
                        schedule.at$createAction(1, actionGroup);
( M5 n0 |+ y, w+ s" w                        schedule.at$createAction(2, actionGroup);" U! h2 `2 Q1 D% w

7 h/ A& y. Y8 c' L                } catch (Exception e) {9 Y! E) ^  `# m2 ]& c; S- G- x
                        e.printStackTrace(System.err);
7 T$ N% z; Z, L# e: V3 s4 r                        //System.out.println(e);/ o3 A  d$ H3 r, [8 p+ }" ]
                        System.exit(1);
4 z" p4 ], @7 w$ {8 p$ z                }( \' {/ ?0 w1 ?/ Q% Q$ k, u
% `# W" x' a/ _# `& O0 T

  O0 x9 h/ E) `        }
2 @& q/ P( F4 \* x0 W
2 Y* x5 Q8 R6 A        private void swarmSetp() {: i# d* N! o* A/ u9 r6 I6 a
                list.addLast(new Agent(Id));
+ S/ `# K7 _9 ?! H: q                Id++;
- e: q; w6 l: ~. m& u+ K) L/ K5 Y% F        }
' i8 {9 C4 e! g9 x5 y: Z; w( W8 R  Y2 o6 o  t
        public Activity activateIn(Swarm context) {4 v/ C5 e7 B; P  y% F
                super.activateIn(context);
, o& f) z2 t0 [; l4 E5 t* U                schedule.activateIn(this);
+ J" ^8 \. a7 Q8 T+ R% b8 v* i                return getActivity();" L# D% s& R' M( t% j2 ^8 f
        }
1 j( a- Y+ v7 ~& H8 g
2 B$ x) S2 u; B- g( S        public static void main(String[] args) {7 V: M6 L5 m: @) ]6 S2 @. U2 n
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);2 ~- f, Y$ m9 F/ u7 m
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
) F) b9 L% `! [# M                swarms.buildObjects();
# q' ~3 B4 g6 i9 \" _                swarms.buildActions();2 I. n" K1 b, I8 ^( M
                swarms.activateIn(null).run();& l* F0 J, z# G! C" v; P: ]
        }
: e7 F+ b! B" M& t0 \8 ]5 C0 W$ h: r* |- n+ _
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-3 20:08 , Processed in 0.019898 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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