设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11783|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& B/ i8 R. n# J0 u& S. z/ r
7 t& E! N2 O: i% Z本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
9 B; P$ w/ L3 n% H2 ^以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
3 E# B! C0 j, O: Kswarm.SignatureNotFoundException1 @+ }4 d: C( X1 f1 C+ i
        at swarm.Selector.<init>(Selector.java:76)% D: M! k. q7 s. P) g
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)) R& W- Z: c* l5 s, u, u4 s
        at ActionGroupDemo.main(ActionGroupDemo.java:67)2 f; S/ b' y0 i9 J. t

* Z, f# O! S1 m  l0 b" G% D9 \% U/ T- L' v. d) W; m* g+ }8 }
import swarm.objectbase.SwarmImpl;
+ P3 j0 P  W0 P' ~" I- R0 N6 i6 timport swarm.objectbase.Swarm;! ~7 E" k3 E: K7 F/ g9 R" L. E
import swarm.activity.ScheduleImpl;5 A& Z( G, L% I2 q- @: n/ t- M# b0 N
import swarm.activity.Activity;
( c4 L) D: }2 n: |, k( Gimport swarm.activity.ActionGroupImpl;2 T& k9 N% C1 w- P) m2 z% U5 R( j! V
import swarm.collections.ListImpl;- v! Y" h2 F# M. G7 l; G  O4 i4 J
import swarm.defobj.Zone; ; E- \3 n' W* ^9 N8 [
import swarm.Globals;* T' V/ ~; l/ }& L. T8 g0 |% F, T; q
import swarm.Selector;' Y9 k. L( V* H1 I/ b& p
import swarm.activity.ActionGroup; " Z( \# @( f7 b. T, s9 n
class Agent {
4 W7 F9 E% ]% [! ]( x6 u) ]6 g* [& ]        char id;
5 w9 u7 l( l* f; I
$ h4 a; v& }. }- S5 x& Q        Agent(char id) {
# |/ |9 N( f  h8 i$ T1 i                this.id = id;
) l0 M! w2 C% _2 a2 @  e        }
0 g" i, e( ?$ a
1 O+ n5 r2 `1 I+ l! n2 V# k% S8 K        public void agentStep() {
0 s+ Y' b6 e7 s0 x7 U+ g+ c. @                System.out.println(id + ":" + Globals.env.getCurrentTime());* g0 D1 E. b: f
        }# T6 W* M6 _7 O4 O* B  T
}
, Q- a4 {" M9 [2 }  W* X- }3 ]2 v  h$ C* }
public class ActionGroupDemo extends SwarmImpl {% f7 ?. u$ {- E% `
        ScheduleImpl schedule;0 d, o4 c# q! \
        ActionGroupImpl actionGroup;
9 b% `, H6 X/ X        ListImpl list;
1 {! d! R7 M" D  {        char Id = 'a';( r9 T, u7 {, s# q# L& P" I

6 I' a7 O9 H: V        ActionGroupDemo(Zone aZone) {4 ?* I. V$ c' l+ H$ s0 Z5 R
                super(aZone);) b4 a5 O& [8 L# ]/ _4 T
                list = new ListImpl(aZone);: B4 G" K' ~# T% l& ^2 w, z
                swarmSetp();: B- h( _- }2 c/ E; M
                actionGroup = new ActionGroupImpl(aZone);
/ J5 H/ a6 V5 T% \                schedule = new ScheduleImpl(aZone);
5 l% A6 [/ l# C) G- }& q                try {( h5 i6 W+ I( F8 T8 \7 I
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);  g6 `- U8 t9 C7 J) D
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
: s* S  }- j* @- b* d# q                        2 K& l$ `% @/ p3 [: {
                        actionGroup.createActionForEach$message(list, agentSel);; u" w/ i; `; M
                        actionGroup.createActionTo$message(this, swarmSel);: A2 k# h& }. @+ Q( Y" j7 U0 B
                        schedule.at$createAction(0, actionGroup);4 o. p0 E; A  f, U; _
                        schedule.at$createAction(1, actionGroup);& f- U# l. i* n) j
                        schedule.at$createAction(2, actionGroup);
4 s4 E6 a8 b* W3 Y0 `" ?, X- W
" Z7 m8 N% m. Z                } catch (Exception e) {
, P7 ]8 T. F* O7 W: O* ^+ ]                        e.printStackTrace(System.err);
1 t& }$ p) @. b$ `                        //System.out.println(e);! @/ |2 ]* h7 @, u* v- o) p$ z* l/ o
                        System.exit(1);) d) ?; L  C. o6 {- w2 J
                }# V% Z/ c0 d. o* M0 ~3 j) j
8 @/ H  V) Q  j. `

; @: `+ p- g9 O        }8 T) E" A! j0 b9 T) T7 P( y) q

9 [( m9 T  X: a( k3 T# Z" k+ w        private void swarmSetp() {2 }9 W& _2 E2 \$ n% y
                list.addLast(new Agent(Id));
- w- j7 R* _- d, p6 \. d" e3 S                Id++;
; u, g/ [( c0 |& @3 g  s        }
5 t( |# {2 L  |; n) d1 ]8 Q/ b# u* L5 k; L$ c
        public Activity activateIn(Swarm context) {
% U6 M# Q* T  Y, t                super.activateIn(context);- U9 [3 M4 G3 n- T
                schedule.activateIn(this);2 Y8 K+ f& G" W2 |; j( A
                return getActivity();2 U! T! j: H/ Z4 h! ~, F1 v- R
        }1 a+ R& V; m8 |

0 t5 ?. E8 y6 ], h: J        public static void main(String[] args) {
4 f. J2 [; B# d. X% v                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 D% r) t* [9 V
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
8 M2 ~# Q  R* G, s0 @, C# S0 f                swarms.buildObjects();8 p* ]3 E0 r) [  f4 G% L
                swarms.buildActions();7 s0 A6 [; H3 q" `" B8 ~
                swarms.activateIn(null).run();
  D# P+ w# C% c* f        }8 o- v8 S# b0 y& Y

: {2 @$ g$ t+ S7 E1 P0 |}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-21 18:56 , Processed in 0.014181 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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