设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10982|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ' I1 z4 i, L* G/ i6 f  b" Q7 c
! Q2 S1 }# t$ D2 v
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21: N' K/ p5 j9 Q% `* C$ @
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.1 C! g7 p9 r. Y( @. `
swarm.SignatureNotFoundException
% e& f2 ]8 J9 x9 b        at swarm.Selector.<init>(Selector.java:76)
# t/ a3 `* h6 k1 I6 B0 r) @: u# J        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)! A& p+ q9 _- b( K; A/ X4 m0 t
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
: f& n  {0 `/ C: W8 E* K6 E1 j7 h
" K) E) ]6 W" k; H- j/ i  J0 q+ t2 u5 m6 f
import swarm.objectbase.SwarmImpl;# B6 w5 @" n6 @  h8 T. C
import swarm.objectbase.Swarm;
0 A2 x( O  V- x7 \& l6 \6 J7 i' P. Aimport swarm.activity.ScheduleImpl;
9 g+ v% o, y# G& T, X7 z# u/ Vimport swarm.activity.Activity;0 H( a9 a4 \7 S. r; C& _
import swarm.activity.ActionGroupImpl;
  @0 p  y: c! r+ Dimport swarm.collections.ListImpl;. H$ u" @- ~# J
import swarm.defobj.Zone; , x$ C5 M- h5 {' g  B+ G
import swarm.Globals;! n7 Q( w$ M/ M$ N' z! v, H
import swarm.Selector;
$ P5 i4 w* V( v7 @0 Yimport swarm.activity.ActionGroup; * Z2 o0 v, t) f& ?
class Agent {
/ |; [6 z3 N4 k1 J9 B        char id;- p) ?% o' F0 t

/ E! E8 v! o  Q# f3 M+ t7 p        Agent(char id) {
; k- b, T- B# ~                this.id = id;
+ a. N  d" j* I' v$ j        }2 T7 X3 D" g1 {  _$ H" D( w
6 A/ H1 ^' e$ _2 |) `* V5 d5 |
        public void agentStep() {
# \  e. W* e0 X" [/ C                System.out.println(id + ":" + Globals.env.getCurrentTime());
9 U0 P9 S" W4 y) |        }
( W% O/ r; V/ `5 d" {5 {}
) Y3 {' q5 |7 D' p7 e% ^9 M3 y5 \3 f: @, J, \9 U
public class ActionGroupDemo extends SwarmImpl {/ S' G8 \6 \( v9 D  c
        ScheduleImpl schedule;
( p7 H/ n/ K& x/ b7 k3 \4 [: W( V- ?        ActionGroupImpl actionGroup;
* c9 e9 j7 Y# [3 T( V1 B" s& J        ListImpl list;
/ a& \+ e! Q" D9 J' ^2 V        char Id = 'a';
  A9 T" A( w4 P5 ]) z  D( d' d( d- n9 o. s  j, G# z# ?$ C8 [
        ActionGroupDemo(Zone aZone) {
* l# |% s% e5 {- q) q4 w4 e' p                super(aZone);, W* O4 p% G& s* Y- U
                list = new ListImpl(aZone);! W/ ]# H3 e# f) B% s) Z4 u
                swarmSetp();, L# ?$ ^/ ]4 \& ?  |
                actionGroup = new ActionGroupImpl(aZone);
. s  L3 k" |9 ]8 f8 W$ G                schedule = new ScheduleImpl(aZone);# X5 G: @- h- O- m7 m+ J
                try {
: c4 f& \. J- `: U                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
5 g+ k2 N& H" B                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行- H/ w: g* m( l- d# k, {! u
                        : W1 n6 x/ P" Q- F5 c$ j, W
                        actionGroup.createActionForEach$message(list, agentSel);  s  x" E. \4 S- G
                        actionGroup.createActionTo$message(this, swarmSel);" f. r1 H% G- m' q: e
                        schedule.at$createAction(0, actionGroup);
0 c- g/ O( N4 @- Z                        schedule.at$createAction(1, actionGroup);
) m4 d" j; D0 D8 r- W9 T                        schedule.at$createAction(2, actionGroup);
6 Q( J. H; {. [4 z, R! u$ _1 M; n
4 w3 T+ a! L- e1 S7 `2 d                } catch (Exception e) {' l$ Q3 s% R, V1 u" A) y0 a% {
                        e.printStackTrace(System.err);' s  I. R2 t* ]6 z
                        //System.out.println(e);( O8 {0 R$ V: i  E, D
                        System.exit(1);
8 D. u$ d: D  H! t/ B1 X7 K                }
6 `, x3 C! q! z) l( P8 u0 t: t* V8 M" k

( N3 {% u, J% g0 `, o! j        }
5 J5 D+ {. P2 V+ s: l+ N* y
: l4 D8 ?1 M8 [& c4 z& {# P7 F6 [        private void swarmSetp() {8 P  V1 T5 [: t5 @5 ]7 d# ^9 e! m
                list.addLast(new Agent(Id));
1 e3 C- z9 c+ }" w7 x                Id++;
# `& o0 I$ G) Z- r        }+ d. w1 c' N+ t4 }, q7 Z! g
6 p! \7 X" M, g" Z3 n/ |
        public Activity activateIn(Swarm context) {( [. y% _/ l6 C$ q
                super.activateIn(context);
2 E  G" T/ i5 Q/ U                schedule.activateIn(this);
$ ?3 D5 O6 V# F3 X                return getActivity();3 Y# }- `# P$ `9 t
        }
; P; ]; r# r5 U) [! ~( J# k
: ~: r: b9 o( ]        public static void main(String[] args) {
. U( D6 p: V! s& c                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);3 B7 w) o) c4 O9 ?
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);' r# k8 t! o" N' ~: F% E
                swarms.buildObjects();- M7 o( ]& k$ K" [, Q
                swarms.buildActions();
6 I3 ~& h4 g, D# S% ~5 L& N5 x# g                swarms.activateIn(null).run();
+ }9 B3 Y/ @7 v9 g  u- z# i  G        }9 c3 P9 `9 j& ]+ |
1 J4 v$ y, h( @  J
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-29 12:12 , Processed in 0.013946 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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