设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12653|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; `2 p- K  E$ @0 h# h
! S' n0 D3 O% W+ U" p( E; [本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
4 c( X- c& N  y: E2 h* O, q* d以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
- u6 ^# Y4 M# P/ ?1 b8 h- M5 j7 lswarm.SignatureNotFoundException
2 P, W: x5 O3 O: `6 \4 Z        at swarm.Selector.<init>(Selector.java:76)" p  X, r* I8 [0 n/ m; E
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
4 p* s( L/ k9 E" m* a2 T# a: k        at ActionGroupDemo.main(ActionGroupDemo.java:67)
4 P4 }4 `0 D: H  h8 o) L2 E( X3 L  I0 g5 r5 ]$ q8 C' }9 V

" M0 R( b5 k( ?, i  T# q  nimport swarm.objectbase.SwarmImpl;
$ q2 N- j* |7 d& K) c+ w# i0 j2 W1 iimport swarm.objectbase.Swarm;
/ W2 d  A# M0 V: O- O/ _import swarm.activity.ScheduleImpl;: J5 p0 p  h( G' d) ~
import swarm.activity.Activity;
9 P- o9 P3 l0 [; e+ timport swarm.activity.ActionGroupImpl;0 l+ [& S# z+ z2 L  S
import swarm.collections.ListImpl;, B, y6 i& T: B1 I9 D" u1 y6 J
import swarm.defobj.Zone; / \% U6 S* A+ M( B  h
import swarm.Globals;% R: m$ f* ^0 i) C) R" a- g
import swarm.Selector;
  H1 ^; r0 [" Q$ u9 f4 `5 Rimport swarm.activity.ActionGroup;
3 b0 p+ R  l" V; Fclass Agent {- A7 n& X$ K" a) T
        char id;+ j, r& Y3 X# k" j- c+ g9 P; a

$ Q( J: v; a. l: |* k        Agent(char id) {
$ s  r* W; D/ E7 r                this.id = id;
* X* H3 G* j3 t& }: E        }( k& @9 f& U4 t' T8 y! C" E
! q' M$ G2 p! p# I: L- f6 y8 t
        public void agentStep() {) g, W/ H" g4 j7 B
                System.out.println(id + ":" + Globals.env.getCurrentTime());' L5 k# k) U1 t* ~' P; ^
        }
2 G5 c/ {; \) E, ?1 Q! U" {$ p}
' W, T  r/ h- I0 D) j% P
( g$ v/ R6 G5 I, k1 j9 b7 Lpublic class ActionGroupDemo extends SwarmImpl {( J2 P& ]% V& I& b# a2 y8 {  ^: Y
        ScheduleImpl schedule;
- E' ?& T$ |# h: L4 R3 Z9 g        ActionGroupImpl actionGroup;
9 v# E! J- ~7 r: p- A' {* w- y        ListImpl list;# m9 C" E) y5 S4 R" x+ o7 F
        char Id = 'a';* d- W% Y) D# Q
& ~9 W1 [( F/ [2 N* o: o+ a7 H
        ActionGroupDemo(Zone aZone) {; Y  y/ `) R5 a5 C( V0 Z/ C+ e7 m6 K
                super(aZone);: ^( m4 i8 e9 H; s  R4 N
                list = new ListImpl(aZone);
( f0 @6 K  \* ]2 [6 [                swarmSetp();
  q! Y  m& c; E                actionGroup = new ActionGroupImpl(aZone);$ W5 Q0 ?) |) k( b8 {& I
                schedule = new ScheduleImpl(aZone);
: W' R! |5 h8 t6 ^  E" i                try {' k/ Q* p: z* @2 B- R. r
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
3 s0 @2 E3 O  Y6 i- s1 T; f3 J                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% \& ~* V. ^" f$ l( c4 P
                        
/ Y: t: |/ M. G" k' ~. l" E                        actionGroup.createActionForEach$message(list, agentSel);
# R; m$ b' o# _" [$ B                        actionGroup.createActionTo$message(this, swarmSel);
* T' r9 [/ q" h& O$ L3 y                        schedule.at$createAction(0, actionGroup);+ y+ ^: l+ p5 i# o
                        schedule.at$createAction(1, actionGroup);% @0 H4 D- S) _/ j8 _1 p& H% t
                        schedule.at$createAction(2, actionGroup);
# F$ m% v6 u4 L2 b, ~1 \# I) p
) r$ x$ H# t6 o1 j8 I& C# s                } catch (Exception e) {
0 n2 H7 i3 @8 h                        e.printStackTrace(System.err);
/ Z9 u8 X/ b: G' W                        //System.out.println(e);
. T2 ]8 l; u- C* Y                        System.exit(1);& ?7 K0 J& Q1 L( O
                }2 F: a$ f( ?; n

' R& t( t, S, q, x& O8 s$ O2 K" j' }4 u
        }2 Z5 _+ U: ^& v+ E
% g6 ]7 L0 R# l+ a' o
        private void swarmSetp() {
! e; T* p, q: ^. W                list.addLast(new Agent(Id));2 y  p4 B- ~0 e5 c
                Id++;
2 Y) d9 a6 f. S0 J# {        }3 m) i! d! z" n2 W
6 r# c( ]& g8 K# E6 r
        public Activity activateIn(Swarm context) {
: @+ ?5 t8 T% ~5 b$ F% @& u                super.activateIn(context);
$ v# C3 E" I* A" V0 h                schedule.activateIn(this);: l$ }: x; ~+ Q* ?( F
                return getActivity();
# p' q) w# z, {) x  t9 C8 a& x        }
  H; D! }/ ?7 ]& m( J  g: u; h
3 L+ B9 K0 a7 h' ~, |5 a        public static void main(String[] args) {, b, m) X# c, P& h
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);- }/ q  |- h* @$ Q
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
/ @5 r' [  [' ?* ?9 n                swarms.buildObjects();( ?/ o6 r& r- g7 J
                swarms.buildActions();
; D4 s& _5 K3 V* P                swarms.activateIn(null).run();9 d) W+ O0 \  M) [* p
        }
2 y2 ?% }" s/ u2 F, _0 I4 F( l
! G% B$ O/ t7 D6 ~: F}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-14 23:07 , Processed in 0.014922 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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