设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9998|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( c: t) d) {; i# ?( ^9 ?9 x: X2 v. }7 ~$ i5 K+ t
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
9 L& E: q. T& ?" l7 ]* [' Q以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.( ]6 W8 N* |5 A$ t) Z
swarm.SignatureNotFoundException+ i5 R# A, S: K& [8 a1 Z" i7 ^
        at swarm.Selector.<init>(Selector.java:76)4 j3 \. Y8 ]6 A+ Y
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
* b9 ]+ ~4 ~3 a$ }  K% P7 U+ R+ ^' K        at ActionGroupDemo.main(ActionGroupDemo.java:67)6 u4 e, }9 ]  |/ V' S

: b" S2 \  d9 M. w& f( P* U; F
& g1 j2 M7 S6 f9 p% H3 }* m& kimport swarm.objectbase.SwarmImpl;
3 u5 ]' E( Q$ }import swarm.objectbase.Swarm;8 W3 \5 c. p1 @
import swarm.activity.ScheduleImpl;
3 B, {. @) p; ^" J( iimport swarm.activity.Activity;
3 W2 w: k% p7 R2 t5 R& pimport swarm.activity.ActionGroupImpl;3 a& S( i0 c4 J- C7 O8 o7 @' b  \
import swarm.collections.ListImpl;, P: o2 E' K5 K4 O3 t
import swarm.defobj.Zone; ( D# H5 B: g4 ^; L' l; O
import swarm.Globals;
  B2 p8 m  X* B9 o& x+ K7 @+ dimport swarm.Selector;" A: @; c6 \# k: y3 s, O
import swarm.activity.ActionGroup;
8 ^) m1 h. g! Y  D( l: O4 Rclass Agent {% b7 e4 O8 `) U
        char id;
; s4 W: b0 x% w( ^( g' |( c: _3 m, I4 {4 R" h4 y) \
        Agent(char id) {
0 p) U, t3 t4 n                this.id = id;
/ b$ L: U) _' K, g$ W& }0 [        }/ c* G& s; v" ?) k2 e& |# P3 i, p1 |
# _' w, _- M: S7 r
        public void agentStep() {3 _! h3 ?* J& L: i3 O6 W5 Q; X0 M
                System.out.println(id + ":" + Globals.env.getCurrentTime());" I+ {) @0 h0 p6 H& I
        }; L9 t  F: K; [4 _
}- M5 h8 r* _! X- N" `# p

' H. C& B3 Q3 L- f* Q, ^8 t4 d4 Ypublic class ActionGroupDemo extends SwarmImpl {
/ s( Y$ {( o% D" m2 Y1 K5 s        ScheduleImpl schedule;7 T9 ]0 H) H/ ?* m
        ActionGroupImpl actionGroup;' k& ~- m6 u  B6 b1 B3 ^/ K4 o
        ListImpl list;
# I: ~; P9 e, ~  |4 q9 H        char Id = 'a';
0 x6 X  C6 w4 F$ M. X/ F: p6 j% ]/ z1 G4 M
        ActionGroupDemo(Zone aZone) {8 I" B$ N- {3 i: |  _8 U- d4 U
                super(aZone);' ~$ g7 `# a" \: _5 v1 a0 e
                list = new ListImpl(aZone);. {8 `# ~. [1 e( Q2 w* c
                swarmSetp();
. Z% l$ A- p) _                actionGroup = new ActionGroupImpl(aZone);) b5 j' w/ W) z7 p
                schedule = new ScheduleImpl(aZone);
4 g6 M1 P, B  ^1 K4 r, q# r7 ~8 t                try {; Q  p" E- J, a1 [& @
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);; a  @2 {- ~" l+ e# u
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
; Z% q) o5 h! [+ L7 G: \                        
9 }9 g/ t% l/ E- Y* ]1 O" _                        actionGroup.createActionForEach$message(list, agentSel);
4 ^# P1 F5 C, @! ?                        actionGroup.createActionTo$message(this, swarmSel);
4 h3 G4 B; m4 \5 g  Q7 N6 l& M% ~3 ?                        schedule.at$createAction(0, actionGroup);
. \# R& A5 K1 M- q. [                        schedule.at$createAction(1, actionGroup);; H" s7 O8 N6 z1 \
                        schedule.at$createAction(2, actionGroup);4 N9 H& k- L7 @; {) c3 L/ M+ Q

: F0 x; k3 B5 K8 O                } catch (Exception e) {
8 q' z. L: @6 @- t. U' E5 V                        e.printStackTrace(System.err);+ h  }' J! n. P0 m) V% Y* a
                        //System.out.println(e);( N1 S, R2 h; `6 @3 C" O$ L
                        System.exit(1);5 P3 ?) f. ?2 q
                }% C/ `5 G7 k/ B

/ S) u! V# b4 ]1 U; d" y5 U) X! L6 x3 ?* s" D/ o
        }
& ^, a! g( k# y* n$ K+ U" i& B
. X- j% n( G, E. W        private void swarmSetp() {
& |; @, `2 m' \' S5 u; m+ B                list.addLast(new Agent(Id));
: ?& M% P& }0 n' T5 K0 h# X* b                Id++;
$ D7 k4 z' f3 c( ]* M        }
' F$ }* J" D9 S6 {8 G- x; m# x) T. I  s
        public Activity activateIn(Swarm context) {4 U2 Q- M; o4 r" D2 ^) X% x; k, C2 j
                super.activateIn(context);
2 r' ]% k% O0 }' O                schedule.activateIn(this);$ j" l, i* w( ~# z
                return getActivity();2 q1 Q$ x2 Z, k# r
        }0 P7 U3 ~5 ~2 G; T+ i% `  I% V
$ E; t% J. i& ]3 r0 Q7 |
        public static void main(String[] args) {: I$ k" |" N( o7 P# D/ z8 z
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 d9 M4 O! K8 D  B4 ~2 ^& U                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# I6 {. }$ X/ x1 s4 X- e7 c
                swarms.buildObjects();# {3 Z5 v3 Q5 i: u' y- N+ F7 q, V
                swarms.buildActions();
( [; [9 t0 \2 K4 a# p- |                swarms.activateIn(null).run();0 m5 o7 \# S2 Q9 M$ D
        }+ Z8 [) }. y! L/ |

( L1 h" _) z! f9 k4 |}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-31 03:25 , Processed in 0.017220 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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