设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6249|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * D6 j% E: W5 B
7 n5 d" f( H& M1 l
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! P  A; k7 ~# e: @! C
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.9 n1 u& J& v6 N. ~
swarm.SignatureNotFoundException
8 A  `/ ~. e, r        at swarm.Selector.<init>(Selector.java:76)1 J* A5 \4 F; [4 {( `
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
+ i7 y* C6 L- }2 ]        at ActionGroupDemo.main(ActionGroupDemo.java:67)
3 h' }5 X! q' R& {
+ k( Y; |- P  W7 _, Q8 K0 B! }8 Y' ?  m3 u* e
import swarm.objectbase.SwarmImpl;7 ?# S" E4 m" K0 R+ N
import swarm.objectbase.Swarm;9 Y, N+ k4 m9 v
import swarm.activity.ScheduleImpl;" a) F' ^: p( b2 m. U2 F+ c
import swarm.activity.Activity;! @, b9 @/ R5 P; S, _: `+ a; P( ^
import swarm.activity.ActionGroupImpl;
# n* B6 U* Q8 n: X- i! gimport swarm.collections.ListImpl;
+ a3 r! V, }: Q6 h5 d" X- |2 Jimport swarm.defobj.Zone; 8 b, W3 Y. W$ ]5 l: z- t- a
import swarm.Globals;$ h8 l+ Y: j" ]& ]
import swarm.Selector;
: A1 T( o5 D& h* Q* k1 m1 Simport swarm.activity.ActionGroup;
. X; P0 o# f/ _2 e* }8 `class Agent {
8 a2 ]. `" [5 l4 F" E        char id;+ q2 w. R) L1 C$ Z% i' o
% _' ~0 \; X8 ^' y6 K7 ^
        Agent(char id) {
& I/ [6 S1 z2 U                this.id = id;
3 t2 J2 k9 Z  S( s* g3 W        }
& L+ u7 |& Q2 r9 S! Y. F5 Q8 @! v# \, x
        public void agentStep() {
3 F; n8 G% x; ~# O/ V0 ^                System.out.println(id + ":" + Globals.env.getCurrentTime());
9 y2 d/ B. m% C; K" V5 z        }
: F* ?& ^. o" ]; `2 n6 _}
/ m% |1 K, Q( [* m4 t, ~" c$ f4 I" Q- G5 v* L
public class ActionGroupDemo extends SwarmImpl {" T8 m7 g' H2 N. U$ _1 N7 p3 U
        ScheduleImpl schedule;6 q3 c: E0 O& |5 ]% B
        ActionGroupImpl actionGroup;& l0 L+ A8 l6 m3 {2 o$ L
        ListImpl list;/ T5 P* N* K( ]8 O3 P; ?
        char Id = 'a';
$ G/ t3 A) V6 D1 @8 F) L6 q- N$ a- J" Q1 K
        ActionGroupDemo(Zone aZone) {& K1 j) K' ?& q9 @# o1 [
                super(aZone);7 B# C" c9 v0 |! ?2 F( @" i
                list = new ListImpl(aZone);
& W; w8 G4 k0 m$ L" A, C                swarmSetp();
% h( }5 e  K' D, H0 I. a                actionGroup = new ActionGroupImpl(aZone);
: V. J) F5 ~& _% _0 ^# h                schedule = new ScheduleImpl(aZone);
& j( z6 K/ i/ k% n1 O8 h                try {. ~2 ^8 |7 W+ A8 m4 H" l
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);; T, h; ^$ A- O4 Z- y3 n
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. O2 ]  d4 T- u' e' T                        
, N! T  H$ q6 Z) m% E  j% a+ ~                        actionGroup.createActionForEach$message(list, agentSel);
, k( N) T/ I! Y4 a2 k% C                        actionGroup.createActionTo$message(this, swarmSel);
# E- `& u: c2 ]8 @- N5 f8 x) r                        schedule.at$createAction(0, actionGroup);  I1 S( w- j1 h  V  I
                        schedule.at$createAction(1, actionGroup);
# j! R" E, m% Y6 I" A" T9 K                        schedule.at$createAction(2, actionGroup);8 H6 ^0 J4 H5 f  l1 e4 B

- C( ]6 F0 O# i  {. X                } catch (Exception e) {4 b$ }' J+ q: }7 l$ k
                        e.printStackTrace(System.err);
) A1 u# @0 q- {( N                        //System.out.println(e);
8 K! E/ f" |/ ]/ X; h  T: K                        System.exit(1);
; B. \; i) ^8 X4 u# H                }
+ g* ~# u9 Y9 f3 Y# y8 Q! j/ y- D- T. [; g- P; E( O

0 s3 l, M7 i! {; T( j% A        }
3 A# J) n2 ~/ ?: k5 |9 p3 ^- B) |8 B2 H% `
        private void swarmSetp() {
  a" C5 e0 |7 V1 o6 U                list.addLast(new Agent(Id));0 T" \% k8 U7 y8 i4 v2 D
                Id++;/ a. @' e$ p- P
        }, m$ o1 f6 K  ~" w& ^  C+ {9 g

; @) ?' P. Z$ d" L0 J7 Y        public Activity activateIn(Swarm context) {
2 H$ _6 A1 `9 s2 U                super.activateIn(context);
. u4 K$ Z( n2 o; t4 ?+ v                schedule.activateIn(this);
0 T( e$ _# L% J; a6 d9 N9 b                return getActivity();
, @: O& H8 T/ i' K! y- e        }3 @5 r- G% g* `6 h

' v7 _2 ]5 W6 b        public static void main(String[] args) {. u& e9 D1 b. j
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);% {/ K5 b6 k- |( i" B# S
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ \, |4 m# o* R2 y7 u6 ?8 N( `                swarms.buildObjects();! k) }9 h3 E. U) T: n# H8 H! C
                swarms.buildActions();
- K+ E- b6 a' f                swarms.activateIn(null).run();
8 X6 P0 ~8 N4 k. y        }
  Y  P+ T/ I* E) C* r3 E! ]: [6 x0 S1 A' v* r# o
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-22 16:44 , Processed in 0.018113 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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