设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8196|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 $ R9 K( X+ V3 [/ n5 a8 C: r
/ Y; r* W5 D9 i4 [
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21+ g2 U' F" v/ F9 e) Z  T
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.  L; O8 R2 u& K! p
swarm.SignatureNotFoundException
6 Z3 ]4 H: J3 g% Z9 C/ e        at swarm.Selector.<init>(Selector.java:76)
. |6 B  ~& M# n# @4 t  Z        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
* @6 z0 p# f+ d0 L        at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 Y5 C3 Q  `' j" p6 a( \
4 F  R9 w9 u! @+ \! y2 ^+ [9 Z( \" {7 T
import swarm.objectbase.SwarmImpl;
& K/ o  }; ?* G9 G* |import swarm.objectbase.Swarm;
' w, [- a3 Y8 G! @import swarm.activity.ScheduleImpl;
0 K, t; j0 Y  g5 m: G9 simport swarm.activity.Activity;
  w: L. z3 K6 O0 U7 c* Bimport swarm.activity.ActionGroupImpl;! H8 m: l$ v0 s7 W2 t3 E
import swarm.collections.ListImpl;+ |# D# `4 ]: V& U3 Z; m
import swarm.defobj.Zone;
+ }; [5 L- ^! `% Y: limport swarm.Globals;9 m9 u$ s- J7 `+ r. |. W6 C
import swarm.Selector;
* I) C3 Y$ F! K% i- Himport swarm.activity.ActionGroup;
- N% N) I) E# M* z' ]- xclass Agent {) G7 O( G" w' \: N, a
        char id;& r+ S5 {# Y; U0 J8 f" d
. S9 r5 ^0 x* A2 o$ P
        Agent(char id) {
) W" T8 R: q+ a                this.id = id;# d* r# C) [+ z9 f
        }3 y8 ^0 F2 M4 i" Q) d

: s# i2 Z% ]) g+ q) ?, e7 a        public void agentStep() {
3 k! c  x0 I7 b4 I                System.out.println(id + ":" + Globals.env.getCurrentTime());
# Y, h3 l+ H: F* b        }' N( d, y5 g4 n  W% s2 o5 z/ A
}' t$ @9 H4 p; j0 x& X( t% K+ B

. |7 N, D: r3 O" @public class ActionGroupDemo extends SwarmImpl {
0 n: x- G' }6 z0 |( X( G& i' E+ J        ScheduleImpl schedule;
7 e8 H8 S* Q; |2 d8 r        ActionGroupImpl actionGroup;
$ h4 v. X' s6 z1 C2 d! z- k        ListImpl list;
9 S' B. n9 o6 Z( ], `* d, `        char Id = 'a';
# o" \6 j! [1 A. ]4 D* d- B1 @5 }
: q4 ~+ h! ?& E( [        ActionGroupDemo(Zone aZone) {
! z+ }9 Q: c( P1 E" p# J                super(aZone);
; R! ^0 P# g9 P  n5 v( ]: B3 p                list = new ListImpl(aZone);: K0 Y# q( F- |; r! r: K
                swarmSetp();
" S$ x/ T3 }6 j3 n                actionGroup = new ActionGroupImpl(aZone);
, w7 A4 W7 r9 g6 w9 |" n7 x                schedule = new ScheduleImpl(aZone);0 R' B( s# a8 ^7 q# \
                try {
4 x3 y, L& B8 a! q; G                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
! O4 i+ ^( j6 d1 o- I. t                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
& ]4 \6 E" w/ N  e                        
3 R7 x2 Z. w$ s" ?. `2 m+ Y0 l                        actionGroup.createActionForEach$message(list, agentSel);
% W7 N/ G) \7 }# [& r7 P                        actionGroup.createActionTo$message(this, swarmSel);
( ]; \% |, [; E) `9 U' [                        schedule.at$createAction(0, actionGroup);
3 ?. y% e; i5 d$ a4 f( D                        schedule.at$createAction(1, actionGroup);9 C) n$ B, V) b* u) s
                        schedule.at$createAction(2, actionGroup);
( |2 b0 ?$ Y9 H" |, P" ^+ z3 m5 _/ Y: Q7 L1 v
                } catch (Exception e) {" J' R" S% l# l! w3 t
                        e.printStackTrace(System.err);6 U3 g1 F& T4 E6 h3 u
                        //System.out.println(e);
7 s( o( K) R# W                        System.exit(1);0 p2 W. Y7 j0 O2 g: o
                }3 S& h# V& T3 t0 L- s1 o
4 x" p- D$ W* I& B# t& A$ U
: G8 p9 b2 t5 `+ i3 C
        }
' s  H& Z/ c% L7 T' Y2 f3 _
- a0 }9 O" |4 m7 X- n        private void swarmSetp() {7 H' l7 \  Q/ C* a6 ~. V* e( i
                list.addLast(new Agent(Id));
# p8 X) P6 b" g0 \) x) \: z, M: X                Id++;
% k5 }% {% v3 T        }
- r  G& h+ K) W. d8 ~# l* J
" Z- e* n0 h. b: B$ v        public Activity activateIn(Swarm context) {4 A8 `* Q. [: O
                super.activateIn(context);
! y* H3 W( J% M& ?1 w                schedule.activateIn(this);
2 ~6 @: d9 {! m5 L                return getActivity();+ V: Y1 c8 C# r
        }
5 r+ h0 N! ]. _5 c
; j6 M7 e3 y5 b        public static void main(String[] args) {  s( s* U$ H& H( e4 R
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);& p" Z/ t0 O% h% D9 |4 j
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: _: r. v, O; J. Z1 w' p                swarms.buildObjects();
: o, L4 b8 M6 A+ }                swarms.buildActions();2 L- X: x$ D0 I- T1 G1 N
                swarms.activateIn(null).run();
% D) e: y! y7 Z1 P3 b% h        }
3 H  n  T8 `: s  F
& h9 ?% m2 t, ]1 }0 F}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-2 16:30 , Processed in 0.020245 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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