设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9327|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ! @( D4 O# z) {2 |. z  G
. R; n: A' P: f+ L2 t: s
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
$ A/ ]8 v" _7 U以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.; {2 F1 i' Z% ^* ?! P
swarm.SignatureNotFoundException
! E) J9 L' R2 H        at swarm.Selector.<init>(Selector.java:76). R" \- R  V6 `# p9 R
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)  R5 ]. g/ e. s7 s# o8 y# T
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
! U- p5 B* g4 X+ i1 N4 z+ g5 T3 x2 l# T8 o4 J

; ]) N7 a. W1 [4 Q: G7 S* O' C: f* Mimport swarm.objectbase.SwarmImpl;
1 w3 ?3 v8 ?. D( [, O& o( b3 Vimport swarm.objectbase.Swarm;' c- k$ }" b- z8 V; x5 Q5 L' S
import swarm.activity.ScheduleImpl;
' J% p# ~' W  y, u4 e( i* b+ G- Pimport swarm.activity.Activity;& a/ ?! R; N! |7 G* t# X; Y
import swarm.activity.ActionGroupImpl;' I8 a( E2 Q7 z' J6 {! _
import swarm.collections.ListImpl;' G' m5 T$ B; z6 \# g7 s
import swarm.defobj.Zone; , c8 N# ]) x0 i) T, T2 C0 z  r
import swarm.Globals;8 N: s5 ^  Q0 d/ Z6 j
import swarm.Selector;& k- s$ h' ]* `  x; m
import swarm.activity.ActionGroup; & V7 b) O' B) F0 [
class Agent {
6 [4 a% `) o8 f/ h; K# H1 D4 a5 l        char id;
9 V1 m- R# ~/ l; t% D+ ?  }1 X2 U' r/ X' r. c. v/ G
        Agent(char id) {
" |9 z+ p0 H& p                this.id = id;5 h7 D( g9 I# t1 V. y( s2 P
        }
% }7 w  P3 L9 u+ ~2 C- x( X5 R3 c
2 c. G7 P$ i, z5 s1 m$ X$ }( B        public void agentStep() {/ E# Q) p. c2 e- V+ `0 w! l- Y
                System.out.println(id + ":" + Globals.env.getCurrentTime());% o' X1 Y( m2 c# `( t
        }. z2 y5 {4 u# ~1 B7 O/ r/ H
}, u3 M5 m0 c& I! q9 B; u/ y

0 c7 T. M: D$ k8 a# Mpublic class ActionGroupDemo extends SwarmImpl {
% G' C/ f1 P1 q4 M8 m        ScheduleImpl schedule;6 n7 f) h, G; s1 S# l( G, V
        ActionGroupImpl actionGroup;
& |5 X0 s! P7 Q        ListImpl list;( v8 U4 ^+ x2 u2 }& b9 L9 V
        char Id = 'a';
! Y' \$ m; U+ Z, w- Z; C6 ~! z* ]' `; x% A; G  O+ J2 f  v# Z% G! }1 z. i
        ActionGroupDemo(Zone aZone) {
; w8 l8 J) ~$ F4 N                super(aZone);8 u3 c) a0 b, ?- ?
                list = new ListImpl(aZone);
5 E3 s# @& S4 L. L3 g8 ]                swarmSetp();3 `: G# @4 l; O' C" {0 g
                actionGroup = new ActionGroupImpl(aZone);
- ?" a% g8 Q/ F! d( P* B                schedule = new ScheduleImpl(aZone);5 ~/ x$ P6 ?4 O1 E' ^& r3 j. d
                try {
% q; d: Q( r, x7 ~: g                        Selector agentSel = new Selector(Agent.class, "agentStep", false);/ s$ P7 V) {7 m. n" Z
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. [0 m" L9 ~  v& K6 f
                        
0 x4 e" o' j- e8 [                        actionGroup.createActionForEach$message(list, agentSel);! f& a* g3 j# v3 f
                        actionGroup.createActionTo$message(this, swarmSel);
' P- `$ D/ b; q- r: U$ f                        schedule.at$createAction(0, actionGroup);
7 [1 C% A9 D2 ?" {% ^# e- \                        schedule.at$createAction(1, actionGroup);- b; c+ O- F& o& o: _
                        schedule.at$createAction(2, actionGroup);
! b% ~6 G( x, _8 w* c- C; c! d% n
6 B9 R0 M; Q& [5 \2 x5 C0 g( H  v. m                } catch (Exception e) {
: @. W7 t# n! \% q                        e.printStackTrace(System.err);' o! c3 C4 d% g% u) M1 n5 f
                        //System.out.println(e);
2 C# G9 V- T# O  K                        System.exit(1);/ |8 y# d2 E6 N% U8 u& b
                }
6 T9 f1 |0 d- g. @6 ~6 A7 q/ Y6 w/ V7 O3 L. B# O2 U' P

" T1 |( t/ e% r* o" e- z/ p5 O( ]        }  J- h  @0 K  v3 G' M7 m
6 v- C! w' R9 O; K0 [; S  y  \
        private void swarmSetp() {
) u* @! o/ n: w6 I7 q% E8 B' i                list.addLast(new Agent(Id));$ t3 O6 A3 I2 F: j4 r
                Id++;
3 O  P- Z, k/ d7 e        }& X9 K2 R5 @9 V

( {& k3 a7 _$ k' s, S6 G$ ^/ }& c        public Activity activateIn(Swarm context) {
5 S0 c- v8 g/ t; N8 W  X                super.activateIn(context);
  `3 E- @! Q7 s& ]( `                schedule.activateIn(this);
" j! {* W: Q  {% h' B. E                return getActivity();
( }: B) T9 p9 ]* q$ G        }
3 N1 }* u+ t% H0 R" \  c& T  M+ J2 ~
        public static void main(String[] args) {! `& Z' B% s: H9 w  c4 f" i( W
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& v7 k' _6 D, r9 i1 C                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);5 v1 r/ ?* X5 F1 h2 D* n1 k: k
                swarms.buildObjects();0 u/ e1 a/ T) ~' z$ X+ K! n8 h
                swarms.buildActions();# {( S& m0 I6 N  w
                swarms.activateIn(null).run();( u8 C. k8 j9 p( L- d
        }0 X+ Q8 z# s5 s
4 k% R4 A9 c& c9 M2 z
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-8 17:17 , Processed in 2.321569 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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