设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12752|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . j5 l# u" [7 t0 _

7 E! _* ]* G% V) S& R本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 l) ?& R9 P. W- k6 V+ Q$ n% G
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# G9 W7 D# y  L& jswarm.SignatureNotFoundException
) g+ T# d4 d! |9 X! K" `        at swarm.Selector.<init>(Selector.java:76)+ Z% ?# O( A2 g
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
: W0 E% t' m* A5 {: M) Z: i( D' M        at ActionGroupDemo.main(ActionGroupDemo.java:67), O- ^" K, i  f  Z

5 |7 r- p, Z+ [2 A7 h% ^2 V; ]$ d/ a( @/ i- q# C
import swarm.objectbase.SwarmImpl;$ g9 Z, \" w: G- N  d
import swarm.objectbase.Swarm;
2 s( ^- Z" p7 U& ~import swarm.activity.ScheduleImpl;
# a$ G: O& x: P. {( e8 R( Yimport swarm.activity.Activity;8 K9 [7 t; U0 u9 c6 G2 ]* @
import swarm.activity.ActionGroupImpl;5 w/ y/ i0 u9 k7 J
import swarm.collections.ListImpl;: ~& K& F3 p  h# {* E
import swarm.defobj.Zone; + K6 }& m5 C/ o# ^# A
import swarm.Globals;
% F( v9 q  p* @import swarm.Selector;
  Y  a  P+ e- G. d: \+ Aimport swarm.activity.ActionGroup; & e+ [3 p+ ~" Q* I4 x
class Agent {
- k2 l  a  W8 W5 q: S& Y, i3 t        char id;  I3 A! X  @- x/ w% `9 _
9 A; w% L4 N. O0 u7 y; v
        Agent(char id) {3 W+ G8 v: J& [0 h: V9 C
                this.id = id;
3 ?7 S- B! A( G# y% b! ^+ p: @8 s        }
$ L- w$ ?6 w* K; \( Q' Z1 }7 `6 _" m/ s' W: L* O' `% s( j
        public void agentStep() {3 e- m# \& `( i. S5 h1 G
                System.out.println(id + ":" + Globals.env.getCurrentTime());6 f2 w7 c% w3 O* R
        }
9 I% m9 X2 S  D8 u+ z  D}: f1 m" s9 `0 w. |( o2 b- B

; F3 n4 @' ]8 l. s/ Xpublic class ActionGroupDemo extends SwarmImpl {- i, l6 ~# n5 O4 u
        ScheduleImpl schedule;
) A, Y) }* ~  g$ H1 F7 H        ActionGroupImpl actionGroup;  b  P% W; _; A) i" b
        ListImpl list;# A* J; j' f% w' X1 {9 w6 k1 n
        char Id = 'a';
+ `( j6 R. G3 m+ W7 l8 v3 K+ x5 X
        ActionGroupDemo(Zone aZone) {
$ B/ l* j* ^$ p3 X( P+ y                super(aZone);! ~+ D  |3 Z% y+ g
                list = new ListImpl(aZone);
; L) L( M5 _) k- E% ^& H1 J/ G                swarmSetp();
0 H$ l1 Y) E+ ]7 u1 v: h                actionGroup = new ActionGroupImpl(aZone);) L6 }- ~+ b5 X5 b; v# O  F6 G
                schedule = new ScheduleImpl(aZone);
4 B  |" M. v$ I; b6 ]7 x: T                try {: r5 t" y! X6 t1 b4 s! f  `
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
7 Q% b$ j! G  g$ k; k, k6 h, D7 M                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行" r% w' l- o2 h7 r! p) I
                        ( p: O( i1 k1 `# [4 S
                        actionGroup.createActionForEach$message(list, agentSel);- w& i# d, ^6 {% _
                        actionGroup.createActionTo$message(this, swarmSel);
8 m; I, s# J+ H) N1 c# t5 B                        schedule.at$createAction(0, actionGroup);, k$ R. ~+ q1 Y( R1 }% X& p3 p
                        schedule.at$createAction(1, actionGroup);8 t- q: n) m  o8 ]& S, `  J
                        schedule.at$createAction(2, actionGroup);
% G4 b3 H8 D1 \  D/ o2 R! C' L3 W/ X+ q. B3 q
                } catch (Exception e) {
1 l- L) n- x1 l1 E+ `( X% B6 W                        e.printStackTrace(System.err);( i% c" N9 u/ B* ]# @' B$ _2 R0 V- H
                        //System.out.println(e);
7 b+ h5 {. ~6 x1 c                        System.exit(1);( O& @) ~" g2 R: L
                }
+ s. k" j, m. B' J0 x, t3 E% j- |: W, X/ z+ J3 y
8 Q. C0 k% p1 i% A# d" [6 X, x# Q* I' t
        }
# w0 {+ O, {7 c! u6 Q! e" u7 \
        private void swarmSetp() {/ ?% f( V: D- s3 v6 [1 D! Q+ z
                list.addLast(new Agent(Id));
, O8 V: V' X7 A! W) j                Id++;
# m1 E# Q1 X9 M3 C' ~        }& o& [  }4 z0 {6 b4 H  p, b
" A$ N, g. }. {6 \
        public Activity activateIn(Swarm context) {
! M* E. B! T% T6 D* S0 K( l4 d                super.activateIn(context);+ R: v( d% ^, v: z4 V. @" B% ]
                schedule.activateIn(this);& \& A, T) z0 I. x% g/ a& z% p
                return getActivity();$ B9 x: C2 }# \0 r0 n: D4 @. u! ?8 S
        }
6 A" h. I, S% D; q
* N- Q. q+ c! D- b3 l; g( P# o        public static void main(String[] args) {
$ G" \$ Z- @: d5 P- _                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% q# \. g" \2 u- u                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
1 f3 O# d$ k. N! j7 G1 N. ?6 o                swarms.buildObjects();5 t$ H% f# A& g6 T( n0 u
                swarms.buildActions();9 R  V6 d" U. {' c
                swarms.activateIn(null).run();, S1 @6 I* v* ~2 H+ F5 O
        }
  {9 q& y  b: _; ^+ g9 x7 t
* X! [3 }, V6 |, I: V}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-18 02:34 , Processed in 0.015061 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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