设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5318|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 3 |7 @1 @5 k5 L
: C. m' M& w+ @5 T, D8 o9 k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21% J# C, W% I' R' [
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ b) c9 L; h6 V' G. I& I3 w
swarm.SignatureNotFoundException
% O7 J. \% g# z- o$ m( ?3 B        at swarm.Selector.<init>(Selector.java:76)$ ?: U6 j9 y! o2 T
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
% |) {; j) u7 v/ H. C( y        at ActionGroupDemo.main(ActionGroupDemo.java:67)+ h* N& p4 H6 t
6 k; {7 d- H: V3 A9 I: v* d
( Q" I3 x6 d2 z1 R/ X
import swarm.objectbase.SwarmImpl;6 X$ r% X/ {2 m5 u! H
import swarm.objectbase.Swarm;& D- \! r' N3 W# i9 o
import swarm.activity.ScheduleImpl;8 Y9 `0 j$ _+ b' o+ t% i2 ~0 e
import swarm.activity.Activity;
: z% k& i$ ?/ x" n; a$ Fimport swarm.activity.ActionGroupImpl;# j" C7 y1 R" H, ]3 A& M4 q2 t. X( y
import swarm.collections.ListImpl;  X) N" x: {* K5 W" L" b, `
import swarm.defobj.Zone; 6 v) y! ?  m# ^1 B; s, ~, ]
import swarm.Globals;
0 V' J6 ~6 I" Uimport swarm.Selector;3 n7 v5 V$ r2 |" m" b
import swarm.activity.ActionGroup; , L3 k$ m2 r4 J+ a4 r
class Agent {+ P# e5 o: ]4 K4 g
        char id;
! G: L* b; ^3 P7 g/ h, C2 ~  F6 f  D
3 K) {& g: h% Y% `# }, s        Agent(char id) {
& S/ A) g( Y3 I5 y5 R9 C                this.id = id;' U9 \7 [8 d" I- k6 K; ~$ T- Z
        }5 D4 |' _0 H! c3 K! u

. [$ b% _; c. r/ \( h! b        public void agentStep() {$ X6 @, y- f3 A* v3 S% h5 P  w
                System.out.println(id + ":" + Globals.env.getCurrentTime());2 s; b9 [2 R: \& w
        }; X% g  v% K1 e( ?
}
9 _3 I! }: I* h. U; Q2 D& h$ N1 q, g- l# j; q% N
public class ActionGroupDemo extends SwarmImpl {7 U5 C& p$ z8 W# i4 E6 w
        ScheduleImpl schedule;
% ?/ i$ |7 o( A/ T        ActionGroupImpl actionGroup;# j/ c- j; u, S, b1 i! l% P
        ListImpl list;
( D/ k. g1 e( C0 v" P; [        char Id = 'a';* d7 ~. Q& J$ u  x' }

( w/ ?9 L; B3 b3 f, \) q        ActionGroupDemo(Zone aZone) {
% h/ A& J2 E5 P% \; |4 @8 u3 t                super(aZone);. E. y% }9 X& {  Y& l
                list = new ListImpl(aZone);
  v3 e: G5 I3 X  g' s                swarmSetp();
& D; K; p; F1 q: R                actionGroup = new ActionGroupImpl(aZone);7 j3 ~$ n* t& R" L2 D$ V7 g3 {
                schedule = new ScheduleImpl(aZone);8 f- C" N9 }- W5 F  S# x- y
                try {( k3 s6 F5 K9 w0 R1 Y6 p
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);  _) [$ @# D; G+ p4 ~
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ X! {" Q' _$ z+ o( f9 X0 a0 ^                        
$ R& Z# s0 X" A9 P7 O                        actionGroup.createActionForEach$message(list, agentSel);: N3 O/ s. h3 E3 b/ _0 y9 {9 [
                        actionGroup.createActionTo$message(this, swarmSel);2 H! Y  t5 Y. X
                        schedule.at$createAction(0, actionGroup);6 O* I6 F& M# j% z( e! d: B
                        schedule.at$createAction(1, actionGroup);1 L7 r4 D/ H1 G6 v
                        schedule.at$createAction(2, actionGroup);) ?7 c. F$ h  c
0 W9 I0 E/ B6 I
                } catch (Exception e) {8 d$ P' m9 {0 ]" S4 W) e
                        e.printStackTrace(System.err);) A% W+ j, l3 ^3 N
                        //System.out.println(e);
; {- M: }' p  {/ z# z# w                        System.exit(1);
8 v& ~: S, v0 S! E0 ?( ?                }
( S$ G4 ~7 l1 `" A
. u, h0 F7 @8 z! _, w3 L9 K1 h) Y0 r% @
        }5 ?" W# W8 h; M% u, S7 o

7 Q# t/ q! v$ Q# I        private void swarmSetp() {( g4 L6 k2 I4 S6 k
                list.addLast(new Agent(Id));
9 i. X! g3 s8 ~2 \# q- x                Id++;
2 M/ ?) W! @& x. J; ]5 |        }
. z7 q4 ^  J! O" S4 N$ {" a) T! w/ f9 j
        public Activity activateIn(Swarm context) {
! Q2 n% g. _1 ]5 r! k% {/ O; B, L                super.activateIn(context);
# m) B! }! [5 R% o                schedule.activateIn(this);
/ |1 C. G! O5 g6 Q! K( j                return getActivity();3 Q9 z1 L+ ^; r  T1 J& u) D
        }
% Q- D! w" j: j' }- D, x' N4 X" A! B* f& @& K4 M/ U) N" S2 \$ ?2 [
        public static void main(String[] args) {
- W5 _$ V& I5 J% J. E, U; A: J                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 z! i% J1 j' ^" n9 y) q! H                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
! n3 B4 a5 d* q/ [4 M; f                swarms.buildObjects();
4 B& `% k7 n/ L# i                swarms.buildActions();
5 _! ?) ^) c2 O1 e% o! c                swarms.activateIn(null).run();
: m/ H' e8 U$ r7 e& T  f        }
+ x# x: q8 j) D) n- o
% Y1 x3 X, U# L" k6 ?}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-4 00:30 , Processed in 0.023499 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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