设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8216|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 9 C1 Q6 E# M, W6 j; ^' v. B
/ f; R/ u% a! @. z; E2 O/ B
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
% B9 k# e1 n" \以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.& y2 ^. ~1 C1 k6 K* f1 y
swarm.SignatureNotFoundException: Q. c* V+ w2 i1 y% o
        at swarm.Selector.<init>(Selector.java:76)4 ]  d6 r3 M1 f( R# v
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, Z- G4 h& @; [) V) `+ m5 k: S/ \' R        at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 R& I- e- h( C# o2 I! P7 _6 W5 D
9 N% J$ g( {8 q% ~7 Q! o) Y- q: v: L1 F1 ^& K7 ?- a4 v, ^. P9 r$ x5 t
import swarm.objectbase.SwarmImpl;) k- f, E/ K: P5 F' h6 H8 D& B
import swarm.objectbase.Swarm;
/ T/ g3 F1 g7 f7 t2 R; [3 jimport swarm.activity.ScheduleImpl;
- C: u7 v) R) Y- S* Bimport swarm.activity.Activity;1 h- y# `6 b, [& z" l0 C
import swarm.activity.ActionGroupImpl;, w! y4 h) A) d) N5 ?
import swarm.collections.ListImpl;0 W1 t/ i* ?; M/ F4 Q
import swarm.defobj.Zone; - M: j& r3 |3 ?; z0 l
import swarm.Globals;
( a9 Z& q6 K0 yimport swarm.Selector;
4 @1 X) |  x% y# {import swarm.activity.ActionGroup;
0 x6 @0 P1 ~: ^+ h/ `1 [$ Yclass Agent {& b# t/ I: N3 i9 C; W
        char id;9 d. v9 |" R2 a) o* t

; e5 G  v) o7 s+ A        Agent(char id) {% _( ^8 P" a9 Z" n7 W: y
                this.id = id;
+ g4 k( x5 r, `# j5 o$ D        }
+ H; z0 M: ^: F# n6 h: e5 V$ t3 W- m  |  R; `6 }
        public void agentStep() {
/ {  Y3 q( ~- e  {7 n! K5 r. q                System.out.println(id + ":" + Globals.env.getCurrentTime());
, n% g! G. C1 Y" W" p( R* [$ F2 T; x; v        }6 Z; J+ p$ @0 E: a
}, f; u$ [- ?0 T) N3 o, K& j1 B
. `* [' Y; W; A: ?4 A
public class ActionGroupDemo extends SwarmImpl {
6 P! j2 c0 _# \        ScheduleImpl schedule;  L+ f# o6 f  \( B% C9 ]
        ActionGroupImpl actionGroup;
7 s$ e4 x  H- J. Z2 {        ListImpl list;
/ _* m" B9 O  s$ p        char Id = 'a';* J! c4 K! b5 }

# Z2 t# j, m2 _' B/ h/ _        ActionGroupDemo(Zone aZone) {- h* ?4 j, }$ J" [2 u3 e' k
                super(aZone);3 j2 _$ z1 b0 O0 m  l7 W) U
                list = new ListImpl(aZone);
6 m. E; b' X5 U3 h$ u                swarmSetp();  N4 R2 i- t6 d- S1 K
                actionGroup = new ActionGroupImpl(aZone);
" `' a5 a* {2 C% @  m" Z4 d* A) d                schedule = new ScheduleImpl(aZone);7 p; b4 y0 ?2 u9 C. j* G
                try {
  H' ^6 H* L) W' K5 Z& r. [                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
! P( P: I  c: @% F+ c8 ~                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ v$ z0 B( p4 H/ {0 m
                        
  W- w2 J+ V3 {/ a* `* j                        actionGroup.createActionForEach$message(list, agentSel);
) i- y5 M2 q7 V* o                        actionGroup.createActionTo$message(this, swarmSel);
  s3 H5 K5 x8 T8 f                        schedule.at$createAction(0, actionGroup);; n: K! R, U& q8 |- l2 q4 m/ _
                        schedule.at$createAction(1, actionGroup);
9 [7 M. \8 T( ~% t3 s5 j7 W4 Y4 |                        schedule.at$createAction(2, actionGroup);! P) N. ]6 Z" e8 `( j% q. i# z

7 d. m5 h8 U6 c$ p: q                } catch (Exception e) {
7 c% I# s5 ~1 _6 I3 h, Z. k                        e.printStackTrace(System.err);9 o' T: S% R% O$ e6 K) d# }0 K
                        //System.out.println(e);, O) ~5 w! }. O; w
                        System.exit(1);3 I) [- R+ \; @" \0 e
                }
. }8 f! t* U0 q; k0 Q! f5 K" L. K$ _+ N
7 S; {' _- c' c+ o
        }
7 h7 q4 G# C) @
( L8 c& W7 z" l+ \5 g" m) q$ h        private void swarmSetp() {( W1 ]; u9 t4 n; S$ U; b0 g, L# g
                list.addLast(new Agent(Id));
+ W) `2 O& P& d9 ^2 r                Id++;+ M' k+ h4 a  z: p5 O
        }+ X4 y* Q5 r# M7 s( Y& e% b& m/ B& m

" X/ p7 r8 [% d% Z; v        public Activity activateIn(Swarm context) {! I/ G, V7 ?! v' J( V+ {, j' ^5 f
                super.activateIn(context);  M# ]# s: O2 `4 t3 C# C; U1 p# h
                schedule.activateIn(this);( k9 m4 G5 |+ Q, b
                return getActivity();
, U) w- e0 n' K& {6 O        }/ M+ m( N) H7 n
( F' F( }+ ~$ a
        public static void main(String[] args) {
! `% [( B" i, s7 O( x; i* o: n                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! K! o0 w  N5 u2 X) u                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);! Z9 [2 y! W" c& j4 V3 E2 A
                swarms.buildObjects();
! A0 `: {6 r5 f2 i: f2 I/ c8 g                swarms.buildActions();% k1 w. v3 X7 _
                swarms.activateIn(null).run();
+ v; [0 g2 C  n! r) F& k2 L: Y        }% A- M- A' \4 ?* |
) ~9 u& D& k/ C( `, G7 s( }3 M
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-3 15:42 , Processed in 0.021969 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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