设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6110|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
2 m3 h" m. n0 N8 j; g  @
8 o: c; W7 X" g  d3 x/ H本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update219 C9 p% g6 R+ B
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.9 V5 {( u- @+ N1 P
swarm.SignatureNotFoundException( a& T9 S. H$ t7 p! u5 B7 X4 r, w
        at swarm.Selector.<init>(Selector.java:76)
1 M% \% \! s$ v1 j        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ r1 j, X0 t  y5 W: W' l6 I2 y        at ActionGroupDemo.main(ActionGroupDemo.java:67)0 r6 P+ p* Y4 F6 j2 O0 {
4 _/ W7 @7 G; A5 k4 M# z  g
, r+ Y/ p9 ]* e( ^9 u3 D4 z/ ]
import swarm.objectbase.SwarmImpl;
3 o. M+ H9 t- ]6 p2 y  Himport swarm.objectbase.Swarm;
4 \3 R& u& m4 ~$ }$ i4 e' Pimport swarm.activity.ScheduleImpl;
, B' {- A3 C3 a+ a" yimport swarm.activity.Activity;
; G3 O( \# }! b: B4 ?* F2 wimport swarm.activity.ActionGroupImpl;
+ c' v! b9 y* c4 T2 @% `import swarm.collections.ListImpl;
4 N5 k* b$ `3 ~: z6 Timport swarm.defobj.Zone; ! L1 ]9 S$ j2 v
import swarm.Globals;! |! y5 `: t0 j+ F
import swarm.Selector;! V2 k; P( Z% o7 d) i; O/ X) l
import swarm.activity.ActionGroup;
/ g( _! L8 N" B5 e8 S8 e% Dclass Agent {. Z) _/ k# ]3 U' y, {
        char id;2 X3 w# q( K2 Y/ W! K: V. V* i( V% i6 P

+ k+ l2 A% m  a6 h9 X, F% x6 g        Agent(char id) {* k% s& T' T% ~9 Z  e% d
                this.id = id;. m: @0 J* Q3 B2 n
        }8 ?6 k7 V1 g. |; f1 \7 D$ q
9 d% R. A/ P. _' t8 G: i- A5 I
        public void agentStep() {
/ y. s8 Z1 w/ m& `& n: \/ ^& S                System.out.println(id + ":" + Globals.env.getCurrentTime());5 D; Q  [0 L  v) z3 ~6 R9 X
        }
  H/ @" ]0 ~+ y& x7 c}
9 z3 D8 k# N. ?/ X: t& y1 O4 C
/ ]4 K: T8 [0 m0 @public class ActionGroupDemo extends SwarmImpl {
8 I3 `3 b0 z& }  c: @3 Z8 N        ScheduleImpl schedule;
: @6 p& u# b1 ^, L" Y# O6 W        ActionGroupImpl actionGroup;
- g$ ^2 q) Z- e: P$ _        ListImpl list;( T8 n+ A% K: w+ ~* u% p
        char Id = 'a';  q  n: N& z# Z$ H

( o( ?& P0 b' `" C        ActionGroupDemo(Zone aZone) {9 K* J8 |) D4 z" L, y
                super(aZone);
8 d& D; e1 F! S! s5 e1 h* N6 |                list = new ListImpl(aZone);
1 [* P+ h" p- _+ h3 E. n; o                swarmSetp();
$ K3 f  X: a8 r: ?, c; x                actionGroup = new ActionGroupImpl(aZone);4 R5 V& E% u- L# z0 o; `
                schedule = new ScheduleImpl(aZone);
) v3 X9 o/ w  H; e, x                try {4 T# \5 `; _% X
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ j" Y& g# e5 \. D8 e  s$ X                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% `8 s9 K$ |, u: r+ O5 C& p                        / z- u- s" U* L3 e8 f/ i
                        actionGroup.createActionForEach$message(list, agentSel);" D' ]& U9 H" M, I/ a  z, o
                        actionGroup.createActionTo$message(this, swarmSel);1 ]0 Z8 P9 F* t; |9 Z$ W: _9 f
                        schedule.at$createAction(0, actionGroup);
8 q4 c; C% q9 J9 F3 I                        schedule.at$createAction(1, actionGroup);
# n. v+ K7 H- i: K+ a) r                        schedule.at$createAction(2, actionGroup);& J; L+ V2 i: i: x9 V

: `/ e! q6 V9 @& n# p" q4 B* r                } catch (Exception e) {
4 ]: {3 y0 h7 E; i* D- B                        e.printStackTrace(System.err);0 d  k( p7 m9 A
                        //System.out.println(e);1 |9 d4 D! R; H
                        System.exit(1);
- D0 n/ u* K! ]. |; c                }
3 _+ `$ m. U  w* L8 P" {# G' g# V$ n' |' k: O( k
4 q3 B, Z  ~/ N* m' X' t* G
        }* ?* G/ `3 r( n$ {) o) b

; h2 |" H6 @2 O        private void swarmSetp() {
7 A8 j9 ?( Y  j( T                list.addLast(new Agent(Id));
& ~  }. V& o, k8 _  x                Id++;
# w5 t- ]( c) Z. t, o        }% ], Q6 g/ a. N/ p, t- A/ P

) U2 @) H9 {8 }6 [5 N0 a        public Activity activateIn(Swarm context) {
' q! P  A" e% @) ?7 `                super.activateIn(context);+ r* I; L% d  h4 U  o( z4 F! [
                schedule.activateIn(this);
9 n  g# D9 ]4 }                return getActivity();
. h0 f- t7 R1 ~        }
( R% ]2 I1 d; p+ `' ]% w  d2 g; v& N
        public static void main(String[] args) {
6 [4 v: z# p. I% c8 T                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);, D6 Z3 v/ n& K( @' z, A) q7 L& p
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( z: p) m* v4 M7 K
                swarms.buildObjects();
0 ~$ i; ^7 s" V& I( R                swarms.buildActions();
) f1 U. }, T4 p6 G. k                swarms.activateIn(null).run();$ Y! S: v# a& t+ n0 R2 u. H
        }, G) b2 \8 Z) k6 g

9 L0 ]; G+ U% ]# {* [4 W' E+ p}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-18 05:19 , Processed in 0.017430 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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