设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11084|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . z. M" z! [. X2 N. }
4 b# V  ?( f0 t2 f) c( t% x
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( ]$ R2 o7 A+ u  A以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: h* T; ^6 Y. S
swarm.SignatureNotFoundException# H% u4 @  ~+ ?
        at swarm.Selector.<init>(Selector.java:76)  J/ G1 E, w* \1 q
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)$ ^4 W9 P: v# b" D5 A
        at ActionGroupDemo.main(ActionGroupDemo.java:67); c& A' ?% ]  Z8 `
9 p0 \" n0 R" l8 z

6 K- G# X3 x3 h3 l: Kimport swarm.objectbase.SwarmImpl;6 T2 B# w  D" |$ _
import swarm.objectbase.Swarm;4 n: B- D! D* D8 P! L$ B' i. [
import swarm.activity.ScheduleImpl;  _% ?( w) Z  u# f
import swarm.activity.Activity;# W+ Q* ?0 @/ ?/ D* K9 e0 J
import swarm.activity.ActionGroupImpl;
+ y7 n  J! A! r" Y, P% k6 s' jimport swarm.collections.ListImpl;' ]4 A# c' T8 {7 K7 Z; D6 Z
import swarm.defobj.Zone; ( o/ X" ]9 |2 Y" J; r1 r8 P
import swarm.Globals;
5 N! a# E( `/ Y5 Ximport swarm.Selector;
3 Z5 E; s- u8 Q+ V9 e# _7 aimport swarm.activity.ActionGroup; ; s: u5 e* @; M8 r9 U6 E* H
class Agent {
5 K) h* p4 N  h: Y        char id;
  Q9 t$ C" T0 ?6 B( [" R- I
* g: g# s: o0 a, X1 `1 G" H        Agent(char id) {; ?. j6 N* x/ Q2 O1 v+ R- V4 K: o
                this.id = id;2 S- q! h' c, ?
        }0 q$ Z, j4 v  m. a& \
; ?, b( N# D* t  Q
        public void agentStep() {
. E) F  P( m4 [# a$ K/ y3 Q                System.out.println(id + ":" + Globals.env.getCurrentTime());' s  n! Z9 J5 k- [  i8 T& c& y# G
        }
1 i+ O8 i" `* g( U& D5 m# b7 o, G}
& x0 K+ }' c/ i& C9 {% c) ?" [  P% X6 i3 f
public class ActionGroupDemo extends SwarmImpl {
$ c6 d, Q. D* R6 y$ V% w8 X. T        ScheduleImpl schedule;" s3 l# k3 r; g( V# [% V/ m
        ActionGroupImpl actionGroup;; u! D2 h- A9 T4 Q
        ListImpl list;
/ C3 F4 y1 e0 L  e        char Id = 'a';
0 K9 D5 R' E1 E7 q3 a3 l- O. k
, N  [% [3 Y" q        ActionGroupDemo(Zone aZone) {
3 @3 `' x$ s/ J) S/ S9 Z; ]5 z( s                super(aZone);2 A, C; a( I# ^$ o4 L, }/ I4 S
                list = new ListImpl(aZone);. K' s& H/ O" I7 o; P: V5 w
                swarmSetp();& }6 E; I) i9 [
                actionGroup = new ActionGroupImpl(aZone);% Q% ~3 r  n, z0 m
                schedule = new ScheduleImpl(aZone);# D3 e4 X# m0 P3 N
                try {- r$ ^+ e+ ?- H+ [* J; w4 ]
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);+ t: j3 i' F4 c5 o  H0 ~1 E
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行) B  Y( d3 b& ~
                        
" ^$ c% D! r6 H8 F0 T9 ^                        actionGroup.createActionForEach$message(list, agentSel);( P- K. |) @. p  ?
                        actionGroup.createActionTo$message(this, swarmSel);
8 G% T( M9 B4 e                        schedule.at$createAction(0, actionGroup);
# @/ v& V( p) ^6 ?0 [( d                        schedule.at$createAction(1, actionGroup);+ V8 u8 q7 d4 ?8 z$ {- D' l/ S$ K5 B
                        schedule.at$createAction(2, actionGroup);
" ?4 f6 k3 B* A9 |( {. ^, B  Q+ i0 _% D2 d/ g
                } catch (Exception e) {
( \( L' K% z" N; h2 n- Q- l; Z                        e.printStackTrace(System.err);$ ~8 I# |, @3 M: H6 L3 f
                        //System.out.println(e);/ L; [0 M8 ]+ o" _4 C# g7 V) Q
                        System.exit(1);
. D( H8 E) d+ V8 N* b' f                }, |2 F: V' R! ~. G' i4 B0 J4 I
) H' q: y% u8 v8 s
( v' Y; p5 o1 g& C0 g/ f; {* X
        }
: g0 X- l! ^( D$ O1 v' R7 a7 |6 z
        private void swarmSetp() {
8 h6 s9 q  w. \0 @                list.addLast(new Agent(Id));
; x6 a  v" L; G/ p                Id++;
) G1 b9 w, d  N8 N8 ]        }
! R4 A3 P, \. p# M; I% g* {5 A" \0 V! W0 l& O9 G. k/ ~1 Y
        public Activity activateIn(Swarm context) {# c: q; {% M1 N/ z( @( _5 P
                super.activateIn(context);
/ y2 P/ B6 E$ k. O  P8 N                schedule.activateIn(this);; x/ M0 e5 {& K
                return getActivity();
2 z; ]% p9 V) X/ {- r. n0 L$ q        }
( @4 t1 ~1 d5 N  v2 w  q5 s
' [. B' _% I6 N' q        public static void main(String[] args) {
; C; K2 J* U5 M" x                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
4 ?) ]  J5 D. f/ H                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);* W0 P! b/ G3 ~/ u  L
                swarms.buildObjects();
# o* X+ w) G% g! v, @6 z  ?- N% P                swarms.buildActions();. o2 g0 B& g" g/ F9 _
                swarms.activateIn(null).run();
# S$ F* I4 e3 \1 f        }. e& i8 ^' r. a- R7 [% Q7 J

: l$ \. w" N5 o1 q7 X- o( O/ E4 m}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-2 13:49 , Processed in 0.014866 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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