设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8719|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ' V( g, y3 O( c) G  o' s
' n! F. A* s- D2 j7 u, X% k. m# |
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21  \4 |# D9 J5 G& s9 U" k" p
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
1 e" w! W, I6 _& E/ n0 V8 ~swarm.SignatureNotFoundException
% ?, P" g. y& m/ j, ^. t        at swarm.Selector.<init>(Selector.java:76)
. p' e0 o/ f$ m  u9 q# U2 q) }$ D        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)/ @0 _% Z/ C7 G" m0 V* P/ G
        at ActionGroupDemo.main(ActionGroupDemo.java:67)- |4 t/ J* k& T3 {1 Z3 K/ w

# R* ~3 A7 D' H$ t, x2 @6 {3 R) U4 M6 D8 o7 s) @3 n9 b. z3 G
import swarm.objectbase.SwarmImpl;- G/ b3 {* H, p6 o+ ]
import swarm.objectbase.Swarm;" ~+ ]  |( T7 L
import swarm.activity.ScheduleImpl;
. h; E8 }8 @  j. K/ {import swarm.activity.Activity;* t7 H. `6 g- d# r! d
import swarm.activity.ActionGroupImpl;+ b( q5 ]1 {) S2 Y: |1 u' i; x
import swarm.collections.ListImpl;
* |/ U# Q0 x3 s- ]import swarm.defobj.Zone; * h9 f9 F$ A3 r* O9 h& X
import swarm.Globals;. H" H& f' ~9 K; L. A$ J% F
import swarm.Selector;
0 P' g2 \0 @1 W+ K$ a/ L7 f# Bimport swarm.activity.ActionGroup; . p+ J5 S. p2 _  B% O5 W
class Agent {2 y9 W# Q6 l. ^& O3 q( J& c
        char id;& {* i0 Y* w4 g
( ~, o8 l/ W3 S. O, F2 b" Q
        Agent(char id) {: X7 U& ?+ p& u3 F3 m/ ?
                this.id = id;
$ r# O2 V) k" {- \        }* `) C8 {2 r; C' K: O& ^3 o, g

- T2 R& e# `' q. D        public void agentStep() {9 K: e5 [2 i1 g9 }6 Y7 a# |
                System.out.println(id + ":" + Globals.env.getCurrentTime());, |6 U2 ~6 d6 Q: s. |
        }
! g. r  m4 I; V  ?* B3 f}
( m6 t. s7 j% f
4 k3 n8 T- ~/ Jpublic class ActionGroupDemo extends SwarmImpl {
9 Y8 F. {; ]3 |+ x' u2 G0 N& J0 {        ScheduleImpl schedule;
" D# K2 o# a- B  d9 W2 ]        ActionGroupImpl actionGroup;) d4 J: }0 s. @0 C& Z1 g; R" Q+ G
        ListImpl list;
3 v" d" X# y# f8 M7 u* R  y        char Id = 'a';
( Q  F7 K/ z) V" j
& d* w) P/ ^/ Y$ R- l, ^% E        ActionGroupDemo(Zone aZone) {
# H' R7 B) b1 r- F# A8 z                super(aZone);8 X1 j& j7 R3 ~( y2 o) t9 _2 y
                list = new ListImpl(aZone);! F3 a7 ?& p3 ?# B! h" Q3 X# P
                swarmSetp();
# ~: ^. {( n5 [5 ^# X5 S& z                actionGroup = new ActionGroupImpl(aZone);6 F8 p' ?8 k# @% j) i
                schedule = new ScheduleImpl(aZone);
$ R% ]) i$ k! p                try {
1 ?* e( g& ?& B, K- `( @) a                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
: J, ^) s2 g+ z4 M' k* M                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
7 d- U5 z% v9 h, p                        & k. Y7 Q1 o, q
                        actionGroup.createActionForEach$message(list, agentSel);
$ D$ P5 b2 N# K, o4 l" ]" |                        actionGroup.createActionTo$message(this, swarmSel);
# v0 z, L/ D5 g; o- m                        schedule.at$createAction(0, actionGroup);# C3 T5 s3 _0 R! x4 U7 k' G
                        schedule.at$createAction(1, actionGroup);, u" x# Q/ A  k/ _/ `
                        schedule.at$createAction(2, actionGroup);
$ T" c; y( M/ P$ {8 l" p9 F
' e. ~4 {/ Q, N- Y  S5 O+ o* w2 a                } catch (Exception e) {* _( E( Q5 S1 E; I3 @2 h1 C* x
                        e.printStackTrace(System.err);
: x; r& D- Z: D                        //System.out.println(e);
0 H" K) S: T& t) s7 A; ?% u/ P                        System.exit(1);% y9 ^! v' M: r% J5 C3 Q" j
                }
4 C1 d' s+ H7 |7 g& A- F
4 H2 p( P& v, }- j* g6 O  R6 X
/ ^/ S1 r1 }5 u; t3 O        }
  `5 U7 j! f& J/ }$ Y
9 N$ u% k' C) g5 u0 {        private void swarmSetp() {; A0 t7 H) ]; y, Z
                list.addLast(new Agent(Id));
/ A8 {! A3 J- x8 Y                Id++;
; n7 v8 h0 S$ ?        }  P) ?9 p0 M6 x1 H& y! O! Y. X  `) C

5 W' U2 m) P: Q0 Y. B        public Activity activateIn(Swarm context) {3 H) C# e# ]  o: w4 }
                super.activateIn(context);8 A4 H' s8 J+ f: \; i7 J4 C
                schedule.activateIn(this);
* `  M, W& P0 g2 l# D' s! C                return getActivity();2 E7 R2 w# v" t( s
        }
2 o+ S9 {& E" Y& L
3 `1 Y' [3 o; B0 [" X        public static void main(String[] args) {
9 n. k# K/ e6 ^: `8 P                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 j( ?, t# R1 g                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);, h* b0 |# {' O: @3 E' |4 Z* }; B
                swarms.buildObjects();
' R: h$ h; U8 S8 J                swarms.buildActions();5 B9 r. \1 O- ~+ O7 b9 P
                swarms.activateIn(null).run();
; y8 b* Q" W( L) V! R5 ^7 H        }" _% B2 |4 c7 E6 W  b

7 t' H2 A/ z6 D5 n- ]}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-20 13:09 , Processed in 0.013562 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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