设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5563|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
8 ?/ D9 H* Y+ {8 h5 V4 B- Z& r( \# X" x" C8 g
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' M& T' [# h. H7 l$ F6 w以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 w  R0 v* X2 |
swarm.SignatureNotFoundException$ J9 T6 n/ N8 H5 |
        at swarm.Selector.<init>(Selector.java:76)
* D+ H; \' i6 t, e4 K# U! o        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
! g% a' b: k% g! I8 B        at ActionGroupDemo.main(ActionGroupDemo.java:67)
  ~; t2 Q$ W% L4 ^. @( Q; w( L& }+ h
; h. i1 K% A1 \* W0 T# q( Y
import swarm.objectbase.SwarmImpl;
3 M! s3 }! h  N# C* V6 u: B$ Iimport swarm.objectbase.Swarm;# o& Q: d* j' E8 o
import swarm.activity.ScheduleImpl;
. [- r" P, [. ]5 eimport swarm.activity.Activity;
" }* F& Y- z7 K8 v" a: ?import swarm.activity.ActionGroupImpl;
  {9 _. g) _) I* Nimport swarm.collections.ListImpl;
- h& ?6 |  S$ H2 u1 w! J; [) kimport swarm.defobj.Zone; ! W4 u0 M) P& a7 \! ^
import swarm.Globals;
* W5 o6 h/ W3 I5 I& R1 j* q! g/ o$ timport swarm.Selector;1 k8 E9 q) z( e6 M9 E
import swarm.activity.ActionGroup; ' p, H: D2 b" {  G2 `. }" ~0 p( I
class Agent {
! B; j4 r3 G& K4 m        char id;
& g& w& F4 \* h, ?3 U/ {  h
8 h5 f7 a" b3 c% L        Agent(char id) {
' h2 E7 J; x9 I* W                this.id = id;
3 f3 ^7 O* F6 U        }
& R7 A1 ~9 m# n& E# ?9 Z1 o
" a& U& P" y# E  @! m3 T) B, t' W        public void agentStep() {
& m/ t0 p- W6 f* f. U                System.out.println(id + ":" + Globals.env.getCurrentTime());
) c; l: o3 g/ Y# z/ z' {        }
0 \9 g& {6 A% J$ s7 X}; G5 l$ ]2 b4 U+ z
' M; P; j9 T1 X) S, e( a
public class ActionGroupDemo extends SwarmImpl {
  D% W$ ^) i" B3 P# |        ScheduleImpl schedule;
6 t8 B. E( i5 C, M  _        ActionGroupImpl actionGroup;2 P( T+ j* X: P1 d: B, b5 q0 @
        ListImpl list;
" B: ?9 o4 A' u* ~' S( Y        char Id = 'a';% K9 V) l8 K2 O/ J; x
6 n1 g  o) y, b: ^  h1 F# G
        ActionGroupDemo(Zone aZone) {; U% K' L5 |  f$ n
                super(aZone);3 u2 A! ?0 k; M+ p4 I
                list = new ListImpl(aZone);8 m" g  ?2 V  v  q7 g: u
                swarmSetp();
  G  w0 y! J) w7 n. H( S3 b1 R& X                actionGroup = new ActionGroupImpl(aZone);! ~, G8 a$ Z  R' c
                schedule = new ScheduleImpl(aZone);$ n8 h/ ?- v  p
                try {
; L$ V; `" f) \9 r( s' u7 P+ W- M                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
8 E0 f9 k3 s; G, }                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% P5 B$ F7 ^# s7 z
                        ' Z- R0 d4 t7 v$ b0 q6 N
                        actionGroup.createActionForEach$message(list, agentSel);: G" y& a+ g$ F5 g7 a. e
                        actionGroup.createActionTo$message(this, swarmSel);
5 J: Z+ J' u: r5 h$ n4 E                        schedule.at$createAction(0, actionGroup);
8 b% Q( F4 m* ^: L5 F7 H, N                        schedule.at$createAction(1, actionGroup);8 C# e' T9 \" j2 y, ~% `
                        schedule.at$createAction(2, actionGroup);1 U; U4 t( J& _: l% c2 c
8 c1 h3 f# z) {" w3 _! j
                } catch (Exception e) {5 G% T! x. w- [. C4 j
                        e.printStackTrace(System.err);; ]6 l7 Z5 g% U7 k
                        //System.out.println(e);$ a. R% z. T. f2 q5 I3 h
                        System.exit(1);
$ f, j6 g2 i9 ^1 n                }$ S  @4 k, P* c' Q6 q7 A
! _( b( l' ^' b* M0 H3 y- U+ {' w

- R) c4 z2 T$ I3 Q; H, P        }
8 y  }& g# l, ^; d) s& @; W5 s- ~9 l0 }; [
        private void swarmSetp() {$ p% ~4 H, L! t
                list.addLast(new Agent(Id));
4 d, z1 G& S& w3 ]/ p! L% e( a                Id++;/ N2 P8 b# O: o: a. G
        }
" v% S( G& e( c2 l) b6 Q
: e) n8 p+ |: b( a        public Activity activateIn(Swarm context) {
6 t$ _3 u' C( W0 T0 E; e                super.activateIn(context);
# q8 A6 ?/ P3 h# |                schedule.activateIn(this);. O8 H6 I2 U* S: j
                return getActivity();9 f( {' a) X  j! [
        }
" E* h6 X% Z: z, G
; w7 S. z* A* V6 V: ^1 Q        public static void main(String[] args) {8 @' Z( v+ L+ ^7 M) Y$ ~' _
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);6 ?) M1 T9 u& a+ X6 a# o. w* F( V
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) E3 L/ L4 e3 G5 X& O0 b
                swarms.buildObjects();
% D3 q2 i" u' X                swarms.buildActions();
* Y* S: f6 _% I4 N& @# ^/ W% D4 `" F5 q                swarms.activateIn(null).run();
! t0 K, a/ q* F        }& v5 F9 R0 }: D6 s. V

+ D# d, ?0 p: p; \% Z3 C}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-13 04:01 , Processed in 0.024279 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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