设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5939|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 6 F: L+ x+ w- y3 s) N' U  o' @

" c( j. q# O' E) V1 |: l本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
6 S; f; T' h* j0 H6 p5 Y以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 X, _  ]- L, N
swarm.SignatureNotFoundException, U+ `8 T0 A/ }$ z$ Q% y% k
        at swarm.Selector.<init>(Selector.java:76)
& ^: I2 U# n. O  v; T7 j        at ActionGroupDemo.<init>(ActionGroupDemo.java:37), P# G  \+ Z% m* }) i9 M. \* S# f
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
1 Y$ r9 i9 v- G7 y; B- M" `1 n( l6 J" N( [# b9 T' ~
0 f2 h# m1 [1 L( P: i8 G# Q/ l
import swarm.objectbase.SwarmImpl;
1 U" m7 X% R) a7 O2 \# _  U8 Himport swarm.objectbase.Swarm;
. v. z" b0 s  q1 @- \import swarm.activity.ScheduleImpl;  J0 X" t9 f# V% K. Y
import swarm.activity.Activity;
( q5 A7 Y) U. }& b2 H  mimport swarm.activity.ActionGroupImpl;2 h* Q% J+ v# G+ g9 N1 N
import swarm.collections.ListImpl;
- o% f) J. r  ~1 ]8 E( ?2 W5 Q+ Rimport swarm.defobj.Zone; 2 z# Q; S9 v  k( r
import swarm.Globals;$ E2 x/ I5 O+ j: G' A+ m
import swarm.Selector;2 E$ ^$ S2 n( Y7 P% Z
import swarm.activity.ActionGroup;
, B: S. u( {$ N- Q6 Z4 M: ?class Agent {
, S, o; g& C  \3 m( J        char id;
; b( w7 V& x8 g; M
/ K" `& t. B# L6 x2 J$ v        Agent(char id) {
- O/ p" C& C; q- z: M( d( Y! H$ ]1 ]                this.id = id;* L0 K1 U( v0 f5 _8 K7 o# R8 Z
        }
( ]" w* j/ L6 B
; D8 W) i% x2 ]" e0 v1 U! d        public void agentStep() {4 Z$ y4 Y! ]1 ?; G' d
                System.out.println(id + ":" + Globals.env.getCurrentTime());7 q5 V4 J% }. {  ^
        }
1 X& s& G+ i9 Y4 r8 T}5 R# d% J  w+ [  _( ^2 a) L

: k1 \6 k# V6 o3 @public class ActionGroupDemo extends SwarmImpl {  S8 z. p3 L  C
        ScheduleImpl schedule;
# S& p) H" V/ m5 d* ], y/ X4 P) U        ActionGroupImpl actionGroup;
# ~5 l/ j$ a9 z2 m0 C        ListImpl list;. \6 H& z: P( ]! S
        char Id = 'a';
& _: r& Q' u& c* H  T! L6 w$ X8 q: B" ~
        ActionGroupDemo(Zone aZone) {
' {' N* I4 B- t4 V4 x1 R4 ?: D9 j7 ?                super(aZone);
) b% l+ W& ~7 m$ i, |                list = new ListImpl(aZone);/ v4 [! q6 `6 W; ^6 H3 U" g
                swarmSetp();4 j3 H) O  p/ V- u7 ^
                actionGroup = new ActionGroupImpl(aZone);
' D0 A) a; r% e* V% z6 Q1 a' R                schedule = new ScheduleImpl(aZone);
! J' n& T; Q: {+ G; `1 h                try {9 E& w0 S- P# k, p
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);) c& {" x9 \$ ]+ z, R) m5 I
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' n- s; x+ r& j- @1 _4 P  M& l' [: D                        
4 m0 K$ {% A9 M                        actionGroup.createActionForEach$message(list, agentSel);. ^  l: X, ]7 p/ T
                        actionGroup.createActionTo$message(this, swarmSel);9 j! ^  _# `: Y" ]$ o$ w
                        schedule.at$createAction(0, actionGroup);  T$ P* x7 N& U, H4 O) ~7 Z& z
                        schedule.at$createAction(1, actionGroup);
/ A) L& |( @% n& r8 X+ q                        schedule.at$createAction(2, actionGroup);1 [6 Z1 M1 ?2 h! R# ?5 J3 b
0 f. i2 R6 `) n) S" O
                } catch (Exception e) {* e8 R* S2 m6 I4 F8 @) b2 k
                        e.printStackTrace(System.err);) m; r1 p  D* O4 K6 a0 g
                        //System.out.println(e);. j6 z! p2 i8 i9 ~3 h! H
                        System.exit(1);
$ c' @$ D2 e. \# i# W# d) F4 L                }
9 g# b  R7 r3 [$ l7 ?" Z
1 G! b9 v1 G  N+ V9 B  Z9 x$ s6 p; A; W# z( A. I" l
        }8 @7 z* W8 @8 f- o8 o
8 G. l0 [5 n! i
        private void swarmSetp() {
2 w" R) E, z' i7 h6 g* Y                list.addLast(new Agent(Id));
' ?6 y5 K* q$ a9 ~. w                Id++;
" J! F+ y" Z- u0 ~  h        }
9 |$ ^$ `1 u) D6 B/ h, [7 k. o+ V. d7 h( A" v" O
        public Activity activateIn(Swarm context) {: W4 Z# W4 A' X7 ]/ L
                super.activateIn(context);
3 I7 x, r5 S0 t5 @; [* J, j  \                schedule.activateIn(this);
/ }# o' `9 O0 T6 w. U7 ~+ R7 n+ n                return getActivity();+ J% ?7 Q- X/ B8 p& u% `/ j
        }
, n) h0 s' L) r. e5 U& E+ B; e; B; J) N3 f" S
        public static void main(String[] args) {
) c3 c# g) F2 r) \                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
5 F. H' {( [$ V. _7 a: s                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);6 c# t* ^$ b1 @) Z. R( q% ?
                swarms.buildObjects();" y& C- A- r. e. F- J6 T
                swarms.buildActions();9 F7 Q0 {6 a' Q7 c; N9 b! Q! P
                swarms.activateIn(null).run();. P0 m% D! |; D" q& ]
        }9 c" A6 ^) h; |, i' ?8 o. I0 @
  F* W7 Q4 Q7 j9 K0 ~0 A1 I
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-10 16:41 , Processed in 0.015593 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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