设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11406|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ M  F! m+ n2 l* Y& R5 b' K4 O* U( s
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
8 _4 H; w6 O* W, {% N以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 Y' |2 a) `1 |" B+ S" v
swarm.SignatureNotFoundException
+ \" C5 N# ?/ K" a# s% I        at swarm.Selector.<init>(Selector.java:76)& o9 K, W4 o$ q; E
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
- k( C7 f+ X" F& M2 W! j% q        at ActionGroupDemo.main(ActionGroupDemo.java:67)
' }* m, n# v$ P; g) o6 [( q8 n( r0 S6 q2 p4 _

) O# r  \! e- {6 Uimport swarm.objectbase.SwarmImpl;
8 ~( K* }, o; [% B2 Qimport swarm.objectbase.Swarm;# s. N5 P9 L( i' J; c
import swarm.activity.ScheduleImpl;: {) o  d0 B/ c& g
import swarm.activity.Activity;9 x1 h4 a* }$ t0 f6 w" v2 X
import swarm.activity.ActionGroupImpl;1 L0 {- o9 _% Y7 C& k# f$ z
import swarm.collections.ListImpl;
( ]7 p# b& P7 _import swarm.defobj.Zone; 5 ~) q# H) d5 A5 O; v( p
import swarm.Globals;
/ @/ ?& p& V+ f( oimport swarm.Selector;6 O5 X1 Z7 ~: U( g. g7 l
import swarm.activity.ActionGroup;
8 p7 P$ ]3 Z: o( @class Agent {
$ s2 u4 r- H( W- G) u" D3 {        char id;
: T( G( B  R: R& Y! k: F4 H2 z2 C; o* p5 j" l$ W" b
        Agent(char id) {
# h/ |: w7 G' W' I: h! \& T                this.id = id;9 f) A- C& e* @8 e9 @, E7 _
        }
. N# s7 N4 `4 h: v* c! h' H
( W* D' O8 A& G        public void agentStep() {- ]  I5 a- ]& w2 X
                System.out.println(id + ":" + Globals.env.getCurrentTime());+ w; E4 M  V: Y1 t& @% n2 ~5 \. D
        }4 f  ~2 E  q. o. ~9 @. G
}
$ G. c- M& i# \$ t# I5 ^- g- @
5 A$ j$ }& i: _8 Ipublic class ActionGroupDemo extends SwarmImpl {' M# Y3 p2 {# Y2 |0 D# ?
        ScheduleImpl schedule;
- g# z! N9 n$ S1 Z2 @* d3 Q        ActionGroupImpl actionGroup;0 v7 h: N1 b9 p# d1 u6 c, l
        ListImpl list;3 k7 k3 W& v3 R$ z, \
        char Id = 'a';2 ?0 F4 E, ^3 B3 C, Q

" k+ m, I" l* L) K. o5 V% f        ActionGroupDemo(Zone aZone) {
4 p' Z4 `& y4 M# g6 N" P, N; \  b6 J                super(aZone);
! G7 L9 t# Q) B                list = new ListImpl(aZone);
' j5 E5 k1 [; A* t( z8 n1 `                swarmSetp();# p. f1 T3 M9 {2 d2 e- v, W
                actionGroup = new ActionGroupImpl(aZone);7 x# y! |6 m# f
                schedule = new ScheduleImpl(aZone);/ P: S* P8 g, E) D8 Z9 l! A
                try {
+ z$ e- P0 B- {% G* N/ A                        Selector agentSel = new Selector(Agent.class, "agentStep", false);' [$ B: v9 s0 ^7 R9 z6 A! ]( u
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; p4 u: M$ [$ x9 i
                        
5 z- F5 R' G8 T8 g                        actionGroup.createActionForEach$message(list, agentSel);
0 u5 [" K( i% i                        actionGroup.createActionTo$message(this, swarmSel);
8 h) }) v, Y; V$ o, y6 B                        schedule.at$createAction(0, actionGroup);9 s9 V% S5 J% @) D
                        schedule.at$createAction(1, actionGroup);! ]9 E; W  z5 m0 x8 z& a
                        schedule.at$createAction(2, actionGroup);. Z! ?9 x3 f9 E; y4 s( T+ Z
  w$ U, d6 r6 W' }" F( _
                } catch (Exception e) {
8 f$ W& W7 |+ u  R) ~8 A" A                        e.printStackTrace(System.err);; q6 s! z( r4 Y; w8 m) I7 v5 z
                        //System.out.println(e);
, e1 \% \, ~, E4 e9 ?  Q0 H. e  [                        System.exit(1);
% ~$ Y; c# R3 K) `5 r( K. j9 c                }5 E  R- C/ ^8 o) U- e8 A9 ~

& }. d/ s1 U. z  e# m
9 Z( n1 E" B" s! p" a' F, `        }
5 B" d/ ~  w6 x4 P: V$ E6 A: g3 G8 _$ r' \, u( @* h) P
        private void swarmSetp() {. O1 x* E6 M7 {; |$ N, B; {7 \
                list.addLast(new Agent(Id));
8 @: l7 v* r1 W% F( ~! Q1 {                Id++;
" y* O0 h" J, f1 A' Q9 r! g1 N        }
, ^3 m1 f1 R# f$ _
& D5 o1 s# x. F# M. F        public Activity activateIn(Swarm context) {: @4 Y5 o4 r6 y  z3 x+ n
                super.activateIn(context);  l  _" ]- O7 ~5 s2 Q0 l
                schedule.activateIn(this);7 G% y1 j9 q( Z8 b
                return getActivity();
* M5 L1 a; d5 a' I/ f' R        }
: l5 v: z+ A  ^0 x6 Y2 Q( a2 Y2 ]$ ?5 J& \* I2 O
        public static void main(String[] args) {
4 ~+ G) s% m, e- R( O                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);; U0 C( ]% A* ^. V  ]
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% E: G2 p; q1 N3 m9 q
                swarms.buildObjects();
6 F7 i1 G) y7 t/ b                swarms.buildActions();
$ j- }9 Z; A1 U# F4 u) l                swarms.activateIn(null).run();. f; W# e% Q+ S7 S0 h' u8 ?' e
        }& h0 ]* ]7 v5 I( o, x/ M$ c
, x  y1 Z, A  j3 Q# B7 _
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-11 10:53 , Processed in 0.016353 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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