设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5401|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . c, N% s+ k, @' U2 s
* J6 F# Y) d2 M" g: p: s$ G( ^
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# r/ ?2 P) R# P: E6 H: I. R以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ ^6 T6 ?9 d  I3 i# T0 o% l
swarm.SignatureNotFoundException
& L) L% w/ G8 n' j1 Y        at swarm.Selector.<init>(Selector.java:76). j& r( \# d6 p; ~) I/ e  Q
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 |9 b/ }3 _9 ?+ R; m& V' @6 g, u  y
        at ActionGroupDemo.main(ActionGroupDemo.java:67). t) W, y) u7 L
7 Q- P) g( T: @+ a# M( A

$ d3 e3 u1 X$ ximport swarm.objectbase.SwarmImpl;
' o8 ^/ S- O+ w; U4 i! x5 O% {' fimport swarm.objectbase.Swarm;
& m( q* L/ P$ p2 @import swarm.activity.ScheduleImpl;
  R$ d4 e& J/ z8 `( W3 {- pimport swarm.activity.Activity;
% A  J& {% u7 L, cimport swarm.activity.ActionGroupImpl;  k1 V% u; Y8 M# w6 Y+ A5 s; Y1 X' ~
import swarm.collections.ListImpl;
6 u/ x6 @6 t% z* r! ?# N; Q* eimport swarm.defobj.Zone; 6 {' @5 I; H5 h3 J; @
import swarm.Globals;  C. G$ Y' f' B2 P5 i# k: ~
import swarm.Selector;0 r) b/ a# E0 V( }
import swarm.activity.ActionGroup;
- v* w0 n. K' }; j$ u6 O; cclass Agent {
$ k3 q  B# b, q: h0 U4 W        char id;% R" q- I  C9 O. Y9 H: e1 w9 S

  M( X$ V2 v; L        Agent(char id) {
! n/ }+ b4 |# X5 x5 ]8 {                this.id = id;
+ P! g* H: u$ [1 Q& w0 U. O% H        }
, a- C4 K! z+ E" S. V: x3 ]  h& O9 h
        public void agentStep() {: O% \2 J* c% y+ n% S  b
                System.out.println(id + ":" + Globals.env.getCurrentTime());
5 |) U2 ^9 P2 X6 }. j; ^        }
8 `0 w9 x8 ]  K* ~/ h7 i}
. Y3 ?" s' [4 j! k7 C# h% J$ y, D+ W1 e
public class ActionGroupDemo extends SwarmImpl {
: Z% ?1 I, Y4 o/ j9 q        ScheduleImpl schedule;
8 |2 B  s  x; f        ActionGroupImpl actionGroup;! K* t% }; M! K3 x: m1 i' F+ U' Z
        ListImpl list;. U4 d  o5 W+ h+ C0 o
        char Id = 'a';
* _7 G* o/ E6 i) S1 R5 r9 ~9 q2 m! M3 y" E
        ActionGroupDemo(Zone aZone) {
/ R0 Z1 g& t  L/ p3 q                super(aZone);
7 }- [" Z1 k$ e. z+ p, T/ ?                list = new ListImpl(aZone);: c% F0 {8 l2 g
                swarmSetp();! i: B- ~* T% k
                actionGroup = new ActionGroupImpl(aZone);
" ?, r7 T3 L6 W& g1 i" ?  D                schedule = new ScheduleImpl(aZone);, k2 q  R: i/ F& w! ~& }0 O" \
                try {4 H7 y  ^8 ?, @' {( ?
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
: `1 B. m, |8 Y5 X* c1 G/ R8 u  V                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 @- `0 X- A' c. k9 w1 d* G                        + \, ]; [6 [% o5 S  ?- b
                        actionGroup.createActionForEach$message(list, agentSel);
( [8 ~9 F! }' d+ X0 h7 @1 Y                        actionGroup.createActionTo$message(this, swarmSel);" n! B8 r- E, m9 z) h& Q) P
                        schedule.at$createAction(0, actionGroup);, W3 f  Z* {7 g/ e* Z' d5 E
                        schedule.at$createAction(1, actionGroup);% ^6 L  N' X* ]6 C' Q) G
                        schedule.at$createAction(2, actionGroup);
* J3 ^. i  d, r0 [9 G! m7 f7 E; u1 x% a/ @+ M% p
                } catch (Exception e) {# d1 u, M0 G7 l: L1 ?: p! ~
                        e.printStackTrace(System.err);
. ~# V! H- {( U- z                        //System.out.println(e);8 \- D& `1 M6 |; K5 g1 n
                        System.exit(1);! T5 O+ J$ ~) {- _) v+ ]
                }. {5 p+ c- G# \1 R/ t3 D

' F% W9 K) `) f) m- t# p8 ^$ X; Q4 z( O- F4 [. ?
        }
7 u! N7 |7 Q% B) W. p9 |( k  u; }
  m+ `5 L- c2 {. b# a2 R) k        private void swarmSetp() {) S; W' l& W% R0 r3 n  T! c
                list.addLast(new Agent(Id));
, ?4 k( X3 ?: M; y                Id++;
2 v2 o7 \; X9 x$ R" r        }
- W* ^$ e2 m3 _1 `: Y1 k( L9 O" c
3 Z2 c$ {# F0 Y* V; H" ~        public Activity activateIn(Swarm context) {
; n) b$ Y8 D2 i                super.activateIn(context);4 b$ P7 k8 [% j& o  K7 [8 \
                schedule.activateIn(this);' ^& ]! F4 h1 y4 Y( g
                return getActivity();( l3 H' V( {' l' ^! _4 ]# h" K  B- S
        }
# o0 C8 x& x7 |: j% b$ J  j, q. f& I5 Y3 ^% `
        public static void main(String[] args) {7 Y# G: X+ v: I' m( h* X0 a
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);+ }/ N4 k" X' K7 e( U
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);. b) m1 k9 a& L8 U, m, W  L& q$ Z
                swarms.buildObjects();0 d$ }( P1 m. U
                swarms.buildActions();+ g3 w0 G# |: t
                swarms.activateIn(null).run();0 K2 ?4 K  D, }" i" T& f3 e
        }
* r5 P4 s  k; a4 ?+ q' u2 {5 G% Y' U0 X" E+ Z; u5 t$ u+ h$ _* z9 F
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-7 19:51 , Processed in 0.018873 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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