设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5160|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 3 V( e9 O( E: `8 ~  a  b
* k! A5 H% ]8 N) Y( ~% `
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. d' x- b+ X8 j  q) j" _6 R( p
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.( r, m3 U  u/ y3 Z, K# \; n
swarm.SignatureNotFoundException  T1 [- i0 W& R3 `5 @; [1 y
        at swarm.Selector.<init>(Selector.java:76); @  r* @2 ^) q1 W/ o  t
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' m4 L0 U; Q" _% R        at ActionGroupDemo.main(ActionGroupDemo.java:67)+ H0 a- Q% R) |8 N2 x. T
6 o& c: h: ?3 i/ k; I7 J6 U

# Y9 N% E6 i; \$ _+ }. ^( P2 Zimport swarm.objectbase.SwarmImpl;
' _) U# k6 u- v9 `import swarm.objectbase.Swarm;0 z0 I3 L+ I( J# X% |. g
import swarm.activity.ScheduleImpl;
+ }9 T" k$ W7 f0 zimport swarm.activity.Activity;0 N. d+ X' `* ?% u2 ^# P, ^
import swarm.activity.ActionGroupImpl;; ?, S$ l+ @! r/ e3 t9 s; b' k
import swarm.collections.ListImpl;) R9 k2 q. s- f' P3 z* G' v: q( O( M0 k
import swarm.defobj.Zone;
9 W2 M7 j5 j) w  P, mimport swarm.Globals;
$ Q' E% v1 r' L* {6 Simport swarm.Selector;
& s: x. ]" Q/ @, K8 y/ simport swarm.activity.ActionGroup; - h" Q# h- G) z" Q* ?. V
class Agent {3 V5 \, S. h& [% y
        char id;' ~* S% s2 m0 f( G5 O6 k3 z0 s5 Z
5 _6 S) z' e! e, D. `) T
        Agent(char id) {) V, @. e3 D: ~1 r+ ?% z- t6 k
                this.id = id;
, ?; ~1 `* v  a  m6 |- R        }
9 C. f% x; }( J, }; Y- l. t& B7 K0 e- X4 H1 e5 ~
        public void agentStep() {# b) j+ a' C1 z1 _& u/ r
                System.out.println(id + ":" + Globals.env.getCurrentTime());
( f; g6 r) a. L) S0 a5 W, c" J        }% `2 Y2 Y/ M3 \
}
# A5 E5 G5 @& J9 O: w' ]3 X0 `* f( [9 l
public class ActionGroupDemo extends SwarmImpl {$ I( M. r7 k/ R
        ScheduleImpl schedule;
% v: B6 m7 Q) S) v: I: t        ActionGroupImpl actionGroup;
& g/ F  Z. e+ _6 J, ?+ M2 L        ListImpl list;
# n" P4 Z9 i6 i9 V1 V  W5 [        char Id = 'a';
; Y$ M, E! j3 S* P6 a6 L% n7 o& ?
        ActionGroupDemo(Zone aZone) {& z8 p. W8 t* N: Z
                super(aZone);* Z" v$ j" M0 B, l# @/ b% d
                list = new ListImpl(aZone);& N! T  ~8 `+ a0 n
                swarmSetp();7 ~, t& P9 y1 M9 o2 T! J, j! @  D
                actionGroup = new ActionGroupImpl(aZone);; N- P0 [4 c! Q
                schedule = new ScheduleImpl(aZone);, @, r* r  f6 I. K5 f) R  E$ K
                try {, S6 Q; u: k/ L" ]6 Y# g
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
* D7 v7 _1 q8 |6 h                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' ~- q2 d* P* G$ k                        
) ]3 P5 [1 H3 {8 G+ C1 e0 _                        actionGroup.createActionForEach$message(list, agentSel);
2 o0 ?. L, n2 K. M  k0 l" Z                        actionGroup.createActionTo$message(this, swarmSel);4 s" {4 F% G; Y3 N) z, ~
                        schedule.at$createAction(0, actionGroup);
! Y; B' o, o5 q# u7 c' p: K0 K                        schedule.at$createAction(1, actionGroup);
; i; ?# Y6 n% A2 ^                        schedule.at$createAction(2, actionGroup);# y- ]' j0 q1 n3 W$ Y
  Z8 U0 e  |2 o7 `4 `& d
                } catch (Exception e) {: M0 b% \/ c% p# k' T0 \' d
                        e.printStackTrace(System.err);# N. R& R9 |0 ~* U* ^8 K
                        //System.out.println(e);" m! \* E6 d2 |7 k
                        System.exit(1);2 g( A. Y* S) p- U6 L
                }$ S' c7 m1 Y" _' c3 T" @

' h% [- o- L- \* ?9 \4 R( h( F1 K! J9 d- G! F5 A
        }
* O5 N  m$ G$ O% f+ s
: S2 F& @* \3 j5 s# `7 S5 [$ X        private void swarmSetp() {0 g0 Z% q0 [5 r$ g4 m+ Q6 u, S% R/ D
                list.addLast(new Agent(Id));1 B8 k9 r# ]0 S: B+ K9 ~4 w
                Id++;: {0 S3 G6 C3 c7 w, @5 a
        }- y0 [* S' T2 z7 B* f* y5 L
8 m: w- @8 ~8 F% M$ \
        public Activity activateIn(Swarm context) {2 d. o, L$ T8 a$ Q/ j
                super.activateIn(context);1 n6 J3 h$ R" K0 {+ u
                schedule.activateIn(this);( g4 c) l2 j9 q/ m/ w5 H& F, m( }
                return getActivity();
* G) B/ U7 l9 i! V2 e, n2 t( n        }
8 e' E5 g* R0 A: D: N9 r1 F1 L! E: x5 ?8 u
        public static void main(String[] args) {5 N1 S( I9 y  L  O) x! b+ v
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 j3 u$ B8 s5 y5 F/ z1 ?                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# ]9 \4 j2 L# c; K2 |. J  V0 Y& D
                swarms.buildObjects();; @& H) A: ^- o
                swarms.buildActions();/ y* m9 L# l& q8 }( {- b% S
                swarms.activateIn(null).run();
9 J6 L, z" v4 e4 Y% s5 z% b6 o        }8 j, B: n0 f4 }1 ~

$ j# S& {1 a$ M4 E) O% D}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-26 23:10 , Processed in 0.015877 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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