设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5112|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ( O) b6 Q% B: l9 i8 B
5 [6 J. \9 P9 M! w% Y+ t9 _; ?  w
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) L; d$ F4 i+ i: a
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
* W& X* a# D' q' @; C  d- ~+ Vswarm.SignatureNotFoundException7 u$ i0 e; f# b+ y  g# l3 o
        at swarm.Selector.<init>(Selector.java:76)
0 i& F5 I7 o+ C        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
  ^- E8 `6 D1 g+ j- j        at ActionGroupDemo.main(ActionGroupDemo.java:67)
0 \1 ?3 H* u+ {! C. a8 ~6 |+ Q/ M, e" y7 L: O+ \2 q( j
' T; f  j( k( l' _5 a9 a
import swarm.objectbase.SwarmImpl;# V* i. D; U+ E/ }; z& ~; k) c( g
import swarm.objectbase.Swarm;
% e, O4 I4 f! F% p9 ]# ?( L  yimport swarm.activity.ScheduleImpl;
! p, i0 J% \$ j2 Oimport swarm.activity.Activity;' b# t* D* R0 [% o) x
import swarm.activity.ActionGroupImpl;3 B$ r$ [8 W; e0 y. `
import swarm.collections.ListImpl;
" m6 p* k0 A8 u  C! ?  r6 pimport swarm.defobj.Zone; 1 D' j# c0 {& f/ D% N, T
import swarm.Globals;
( n1 |5 ^: W: D7 N1 f3 \import swarm.Selector;
$ d% y! u* f" H+ I/ `! fimport swarm.activity.ActionGroup; ; Z! `3 P' x7 h- w
class Agent {# r! j$ [5 N* [3 o8 p$ F
        char id;
- M" ~. f& d) C# h
2 T" v/ O- V( G/ \        Agent(char id) {
% M6 B! |7 T: ~" q9 ?# i6 u                this.id = id;
0 B8 O/ k+ u# t8 G% g1 }# y1 a9 u: ]        }
. Z/ P9 O4 m, h# H- e7 Y4 S! ?4 r5 Q
        public void agentStep() {. m, h4 {  a2 S" L4 L5 U
                System.out.println(id + ":" + Globals.env.getCurrentTime());
$ y8 E$ |( ?3 v1 o/ q" B        }5 t! F9 t3 u% y: F$ P* |7 X
}
8 f/ B  m/ j' A4 ~8 Y# C7 t% L2 w' ^4 ^- ?
public class ActionGroupDemo extends SwarmImpl {
/ z# s+ w; ^7 N* a' C$ o5 ?, S        ScheduleImpl schedule;: g, {; G4 H+ k) J/ n. e
        ActionGroupImpl actionGroup;5 x& U6 [4 T+ O
        ListImpl list;
7 d$ t# s3 w, s" M        char Id = 'a';
; C3 q& F& K, A  K; L: E- p% o! d- Q' G9 s9 C2 B
        ActionGroupDemo(Zone aZone) {3 f, B9 {. k$ d
                super(aZone);
/ }: n, u, }! c3 X                list = new ListImpl(aZone);
& F( P# B6 a5 Z4 K8 S  J) p! P                swarmSetp();
7 ~6 B# u2 \: j5 |/ w- ^$ C                actionGroup = new ActionGroupImpl(aZone);# ]8 g6 G4 D& W4 y( f
                schedule = new ScheduleImpl(aZone);
+ Y" _. D# C6 |# y                try {
6 m* [0 v+ v7 I9 I8 c  r                        Selector agentSel = new Selector(Agent.class, "agentStep", false);6 n1 X) k9 X" \7 N
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
1 S9 l5 z8 J0 \' c8 b0 L$ V- c                        # Z+ j, C: ^8 b. W
                        actionGroup.createActionForEach$message(list, agentSel);
3 r6 O6 B1 a0 p8 w/ y6 u                        actionGroup.createActionTo$message(this, swarmSel);
9 S! e! u) M5 }& _, q5 ?1 d                        schedule.at$createAction(0, actionGroup);( P1 Q- V4 ]; a" m! X2 ]
                        schedule.at$createAction(1, actionGroup);
2 b$ I1 d- l% ^                        schedule.at$createAction(2, actionGroup);% \. T- W' U/ R. z8 K- H
: N" v+ u0 a3 G2 P# z% t
                } catch (Exception e) {
, p3 W6 A; O: V                        e.printStackTrace(System.err);' Y$ g& Z9 H, [' U# b2 O
                        //System.out.println(e);- F# O( W3 M! G* `- H  c+ ?* W. r
                        System.exit(1);$ I% ~- J) l7 T5 p
                }: Q. l* x  o7 k

/ g' K, Q8 E9 p9 o
0 o( v7 t7 F8 Q4 X$ p! L% A1 o        }! J* _. H. P3 F2 x/ f
0 |2 @+ |9 d2 D- i( J
        private void swarmSetp() {) ^/ y5 F% T& r$ p& b6 K
                list.addLast(new Agent(Id));+ ]2 v4 `- m# Q( t: W- T  s
                Id++;
% h6 ^$ h8 U$ j' T8 f        }
* f* F6 F% W7 C: n8 S  U* W) `: Q, M# a+ E0 r- m: q9 y
        public Activity activateIn(Swarm context) {
5 G; T, A& J+ e                super.activateIn(context);5 p. E; ^( J$ b
                schedule.activateIn(this);
% J' n2 q( B. u/ l                return getActivity();
$ r+ W: @) j$ Q% e        }
% S, q; g! t: _" t) Q
8 ?; t8 |8 V& j, }; t        public static void main(String[] args) {# H2 v$ V3 Z# a5 ^6 p, o
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);: i) v# J' n9 y0 A7 A
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# l/ Z# k, h' m; p$ @+ C                swarms.buildObjects();
2 F1 u1 h9 s4 S  p                swarms.buildActions();
1 a& o/ c+ P5 W' g! M                swarms.activateIn(null).run();; _2 Q  N; q2 Y- H$ g( G
        }5 u+ h9 g2 ?9 h# U  X0 h, R
- a! T; ^" H: N$ K1 ~
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-25 09:29 , Processed in 0.021799 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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