设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11408|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 6 x# |& k: I8 M' s& }4 U( M

* U8 p% K" j, f5 q本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
. n2 e5 r3 U0 k$ v( g3 M5 A以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
. g; C1 I1 k4 [3 f! V' a$ wswarm.SignatureNotFoundException
, X( t* g3 t3 Q4 o        at swarm.Selector.<init>(Selector.java:76)
. }' r* K9 j. F# S7 K0 A2 k  j, F        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)5 Z' ^4 f8 f# }0 f7 r0 t7 S
        at ActionGroupDemo.main(ActionGroupDemo.java:67)% R: {  n( u0 \1 r' S/ [
' l' `& k2 ?' p! e

5 q4 s1 v8 V% {% z( himport swarm.objectbase.SwarmImpl;
$ p: b" E& k8 B  ~import swarm.objectbase.Swarm;) N4 u0 q: v- R$ o/ Y1 h% L; I
import swarm.activity.ScheduleImpl;. [* b3 n- p8 O& j1 Y
import swarm.activity.Activity;
3 s) g; o3 B/ u3 ^  i2 yimport swarm.activity.ActionGroupImpl;
( F/ k3 o1 G$ Uimport swarm.collections.ListImpl;9 C$ Q. k! Z* T# Z: [) F$ Q% [
import swarm.defobj.Zone; ! y1 i" R1 B0 e9 g2 u' c7 F
import swarm.Globals;
- \# G: Y1 O/ J5 G% limport swarm.Selector;/ A  j* N% _: h! B6 P/ |, F) ~! U
import swarm.activity.ActionGroup; ! y+ b: Y* ?% m! @
class Agent {
/ b9 ]  Q0 G+ U        char id;
2 W2 i% D/ n& _3 ?2 i* b
! `4 S$ n" l6 u. v1 i        Agent(char id) {
* D3 Z( |4 u6 _, B6 N                this.id = id;
/ Y' e, i0 ~* e' i8 x! |8 _        }
, f# Q! @* z( {. F. t( Z
+ R; w6 m0 {2 D' l& @        public void agentStep() {7 l  }$ M, J/ l! O# z: u
                System.out.println(id + ":" + Globals.env.getCurrentTime());
8 u) Y. m; h  H        }
3 x' I; E0 R, v7 e( O0 e! E}! z& d2 W$ A2 p

8 s/ H8 y( H5 o5 N) [2 A8 Lpublic class ActionGroupDemo extends SwarmImpl {
* u/ p/ _) [! k( E4 {# J1 F; B        ScheduleImpl schedule;6 i4 G. ^; H1 g, H7 ^4 t
        ActionGroupImpl actionGroup;
0 x, I5 k8 V7 |# ?, i) `        ListImpl list;% U* F2 r' C& ~  V) N& S6 g
        char Id = 'a';
  q! x9 s7 t+ v8 D4 O; W. p+ `
$ _& A# E, N) v. e6 X! W" n. H        ActionGroupDemo(Zone aZone) {+ @; v2 m3 J8 y: N- j. \* K1 G
                super(aZone);
2 R! b, \) B. g2 z: R7 I5 ?+ K5 a( P                list = new ListImpl(aZone);$ b  ~) x+ ?; R, E) b& C% p
                swarmSetp();
3 r# {0 R3 C$ F8 ^' j; j, ?7 f                actionGroup = new ActionGroupImpl(aZone);
$ K1 K6 ~  Q, z( Z2 z                schedule = new ScheduleImpl(aZone);' L+ H" d# B5 u! w
                try {
9 R" G! w( G2 p/ f; A$ P& u. W5 l                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
# b6 j9 W/ `8 Y7 M: E                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行7 J: q& n# t$ C
                        5 {$ i1 X" y- c2 R6 i" O
                        actionGroup.createActionForEach$message(list, agentSel);& U3 f1 ^! L. I6 s
                        actionGroup.createActionTo$message(this, swarmSel);
/ ^7 o& c* o9 O4 i. t                        schedule.at$createAction(0, actionGroup);
, S1 _5 w, r' a* c- a# j                        schedule.at$createAction(1, actionGroup);3 {! V. z% G  p2 u" n/ ?" d
                        schedule.at$createAction(2, actionGroup);" A1 @5 n5 K# E- L; W/ i! @8 S
! w  q4 Y8 D& p% q
                } catch (Exception e) {- L7 e7 N: p! J5 @4 n3 I
                        e.printStackTrace(System.err);
* `; T  b# w2 o% W8 q! J                        //System.out.println(e);
7 p+ Y: Y2 l% O+ a( a/ a# T& `# F                        System.exit(1);' J0 @: C/ u, E1 c7 E
                }
6 V& N3 g0 ?2 _4 Q9 {1 V) u
: V$ @, P2 p, @, F6 I  y" O' P8 f. T
        }
7 }) A5 [- F, g% |# X" Q: d0 r4 Y. p1 E: c6 i3 |
        private void swarmSetp() {% ~8 x0 D6 K* J) ^/ c$ R
                list.addLast(new Agent(Id));
! ?- R1 o6 P' d7 p                Id++;. S4 z! _* N+ u% y0 _) f4 I( t* `
        }
( @: O" t1 b, w9 b9 d7 I: E- h
3 R6 _: {  r- q% X        public Activity activateIn(Swarm context) {
2 p6 H& }+ R- E4 l8 b% O0 j                super.activateIn(context);6 P* r* }& h% G7 h
                schedule.activateIn(this);6 ], ~/ [2 ~3 ?) v, m4 ^% X" L
                return getActivity();* D# n: j. b+ x  @+ [+ L# y
        }& {2 u' j/ R( _0 ]3 V& ^; l( W
% t( ]* S2 b2 n) a- t+ r7 T( }
        public static void main(String[] args) {
9 N/ b: ]$ I  j  U6 P5 S) m                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
/ l; z8 x% T) N1 K  J, x5 ^1 K/ @                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
8 l/ B# ?4 S$ u) k% x3 I                swarms.buildObjects();/ O. s6 C2 k, u4 G5 F7 ~/ U# y
                swarms.buildActions();# P& P8 ]/ x( f
                swarms.activateIn(null).run();
" i9 F9 T) d: N" W        }4 ~5 n: j6 ~8 O' r! x( D

, u6 f5 P1 f. i: K+ E5 F/ Q}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-11 12:29 , Processed in 0.011994 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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