设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5261|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ' Q7 O. B) n  H* b
. f& U6 s9 X( p7 b; T  |
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update213 y! }- K- Y/ i! r: R. w
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
% t: R+ l3 b9 T( ?* I8 t  @swarm.SignatureNotFoundException
  x8 _8 M, G0 h& M5 b7 A1 j        at swarm.Selector.<init>(Selector.java:76)
$ x, [$ j, t# u( x        at ActionGroupDemo.<init>(ActionGroupDemo.java:37), x! P: b3 N4 g1 W/ r, B
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
# v; X' t/ h, S( M$ R3 ^- s9 h% O% s. R5 H7 ?

. S! O  g( l7 S0 Kimport swarm.objectbase.SwarmImpl;
9 h) k9 i5 Y7 N1 o' H) o! A( N' \  n' uimport swarm.objectbase.Swarm;+ S5 S8 B9 m1 V2 k
import swarm.activity.ScheduleImpl;( j0 k5 N: n$ I6 m. ^$ o
import swarm.activity.Activity;# h) A- Z# ^; O  T5 H( l6 ^$ R
import swarm.activity.ActionGroupImpl;6 q, K' R* c0 R3 R5 s
import swarm.collections.ListImpl;& y* j; R/ O2 r" s# h
import swarm.defobj.Zone; 6 c' w; I: P, x6 x! D- G
import swarm.Globals;/ L9 v2 r! Y( ]; s: y# X; B+ A
import swarm.Selector;' G! q3 n8 l, O4 ]/ ?
import swarm.activity.ActionGroup;   U& S2 o! G0 Y2 y
class Agent {
1 p" [* w4 R# e1 B* W) [" a, z( ]0 r        char id;
% l' B$ x1 ]3 V1 h" `0 [9 N
5 M0 j- C% t; w6 |: i        Agent(char id) {9 J  ~6 p: t# p1 R8 E- |
                this.id = id;
! Z& M7 I; w" P9 V        }1 ^+ u  a( X6 X2 g

, C7 Z9 k+ i3 N2 y7 R        public void agentStep() {* e4 ?6 l% H* }9 f% a" W
                System.out.println(id + ":" + Globals.env.getCurrentTime());
& ^9 A+ r" L  P" s, m) y0 J        }
! T" v2 R( V' h}) P: b. c1 k  Q% `, I( K
) S8 b: Q3 P5 }
public class ActionGroupDemo extends SwarmImpl {) N$ r, w$ o, {; A  U& ?+ @$ e
        ScheduleImpl schedule;% s8 N# R- p; \( V$ |
        ActionGroupImpl actionGroup;+ a) F* X( S' P1 b# }- ~. Q6 h
        ListImpl list;
& b4 x3 {' W. f* o0 C        char Id = 'a';' ^# k- O& |1 L$ Q0 z8 P
" w6 q5 \) f  K# m
        ActionGroupDemo(Zone aZone) {* L# g, \8 o# c' d! d
                super(aZone);$ O6 l. S. Y: r9 N5 q" d9 ]
                list = new ListImpl(aZone);6 |5 J5 K6 r: `7 k0 c. {2 n
                swarmSetp();$ c$ N0 N+ N  \% V
                actionGroup = new ActionGroupImpl(aZone);
% W9 o/ V# V: R' N! p* q                schedule = new ScheduleImpl(aZone);; O' d5 i3 x2 W) G! N3 a
                try {
, `) Z$ X) {/ s! ?- D, s5 O6 f8 l                        Selector agentSel = new Selector(Agent.class, "agentStep", false);; m, b# P4 ?. t* ~
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ [& W" Y. i$ L/ s2 e; X! l                        $ x& F7 ?$ i! M
                        actionGroup.createActionForEach$message(list, agentSel);! J8 F, m* ^! N! c
                        actionGroup.createActionTo$message(this, swarmSel);
" m$ [, T* |$ @. y5 O                        schedule.at$createAction(0, actionGroup);5 ]$ M$ R$ h8 f  W
                        schedule.at$createAction(1, actionGroup);" G; k9 ^! `/ [$ q6 X5 c& u
                        schedule.at$createAction(2, actionGroup);( }1 ]/ B* ^/ {( Y7 n& V" B

, o8 U3 r; H  |- K' a8 S, X                } catch (Exception e) {
: O5 G( O, L; E0 e: k' S                        e.printStackTrace(System.err);* \6 ?! A) a2 ^9 x7 G; ?4 p
                        //System.out.println(e);
6 P; \# Q5 k( {+ f7 @' O& ^7 ~                        System.exit(1);
3 X5 R$ w. w0 L                }
  b" |9 W4 f* M8 }4 T$ l8 [& Q
+ V0 y* G% @1 l; |
        }
3 \1 j* f1 F: q! i
- Q" Q) t) M3 N) c        private void swarmSetp() {4 @& p  q7 m7 @! i0 n; M
                list.addLast(new Agent(Id));
$ }2 c! n9 X" ]8 L& H/ r4 q, s# @                Id++;
6 F9 l5 Q( D( M        }2 v4 k4 m6 ^: U1 }# P) ]
) K: ~" x9 C) K: ?; ~- H' Q
        public Activity activateIn(Swarm context) {/ m7 q8 ~% v& t) ?1 _( I, G/ W
                super.activateIn(context);
" P3 [+ p: n; t: W" @                schedule.activateIn(this);
$ }3 \9 U6 S  v/ c5 m$ C                return getActivity();
* `$ G" O5 K/ i9 {3 k        }
6 I/ C! E4 b0 L2 c% P5 p" e& t' S. B% n% S  ?5 N$ u& [
        public static void main(String[] args) {
. Y/ q8 @( L9 K3 ~2 v                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 }9 e+ l  P# w% m. F% Y                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
9 x) n7 w7 r8 X$ W3 b8 n8 c) C6 R* O                swarms.buildObjects();- W* v, r) u% J; x5 G
                swarms.buildActions();4 F" D" e3 ~1 L9 w6 d1 C9 G% E2 x2 D$ {
                swarms.activateIn(null).run();
* g: O% z; M: _& l- K        }5 Q( {5 M1 j$ r4 W; O) z; T- V
% i3 s5 t# m5 ~0 @. X. W
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-1 17:01 , Processed in 0.017169 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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