设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13752|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # ^  ?" b. O8 L: u! z
& C) ]8 z) s1 P0 x% t
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
  V, j3 {3 K6 a' d! G以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.1 I; G3 Q( \1 f
swarm.SignatureNotFoundException4 n: N4 c3 r6 C( I/ f
        at swarm.Selector.<init>(Selector.java:76)9 H2 g& \% j9 D* Z3 ^! l: ^# W1 D
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
8 {$ a, i9 z6 A        at ActionGroupDemo.main(ActionGroupDemo.java:67). {6 l) Y$ ]& D0 z. x2 k

$ h  x) X  D4 H3 r( |1 k
/ L) G& i3 \# m# Dimport swarm.objectbase.SwarmImpl;+ D5 D0 [! A4 [$ b4 T
import swarm.objectbase.Swarm;
( v: {5 y% z& g0 c- |6 k3 q5 jimport swarm.activity.ScheduleImpl;  g' q( U( l  y. d3 ], q
import swarm.activity.Activity;( D4 F  B' p5 d
import swarm.activity.ActionGroupImpl;
( h! ]& I" N, j  l& `import swarm.collections.ListImpl;
0 D" M+ U9 u+ E$ nimport swarm.defobj.Zone; / t/ D- S3 [: t0 u9 |# G
import swarm.Globals;+ m. H9 l  f) h* t6 r" M4 |
import swarm.Selector;) m& I% K$ x2 v% V; |! y, A1 _
import swarm.activity.ActionGroup;
1 O. y+ d/ W5 bclass Agent {# p  o# n  U- l: u; p: U6 l  ^% v
        char id;! |. r1 P+ l/ q7 O* K: @  Y

. X+ N; S8 ?( ]# W        Agent(char id) {4 J* i4 m+ d3 L5 x8 I. i6 c" M% P9 I6 A0 X8 @
                this.id = id;
5 {1 V' W$ m3 @2 L$ C7 s4 I        }
% X4 I  Y0 h1 f9 U' c- U2 L3 V3 d+ n6 l% f7 S: @- h) @" P
        public void agentStep() {
% O1 V& _! J2 {                System.out.println(id + ":" + Globals.env.getCurrentTime());9 {$ W4 J/ Z, m; z9 y/ k
        }% D& _$ U$ p% g: w
}
: Q- {& m# r2 f8 D5 N5 H
) [, p& I; A7 J% k/ [6 O! d9 upublic class ActionGroupDemo extends SwarmImpl {4 z* o/ w+ y# D. r: M% f% W' r* F
        ScheduleImpl schedule;6 z0 W, v% f. a( [  G5 ]2 }& Y
        ActionGroupImpl actionGroup;9 t. L" W8 ]: Q- H. J; N1 |2 G
        ListImpl list;
6 z0 b6 R$ _" M! j  t        char Id = 'a';) Y4 u$ S& Q- v5 B8 R% z

& O; }( i; L" q, M        ActionGroupDemo(Zone aZone) {
% @6 z  a3 y2 p- J                super(aZone);
9 i- q  S8 I$ I5 H/ `0 }9 z                list = new ListImpl(aZone);
/ S: f! s' j1 Z- [. N6 V                swarmSetp();
3 E9 [' z* x7 j+ T* e                actionGroup = new ActionGroupImpl(aZone);
( g( w) M& y/ r: _, Y                schedule = new ScheduleImpl(aZone);
5 o7 m9 u$ l7 j: v$ o# Y5 N                try {
# c( c* Z& R; Y: P3 }) d. P                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
( ?( |7 R& ?- T' O+ x' q" x* {                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行1 W/ K1 A- S0 F& ~/ p" U$ M
                        $ d2 A3 _0 U7 _
                        actionGroup.createActionForEach$message(list, agentSel);
" r: D1 F5 ^) e# Y: H, S4 [# U                        actionGroup.createActionTo$message(this, swarmSel);
$ c$ G% t2 ]+ b                        schedule.at$createAction(0, actionGroup);
* c0 V& a2 R, M" H) O                        schedule.at$createAction(1, actionGroup);
& L, h. ~  b8 f/ x2 M/ v8 Z2 ~% L+ X* A0 t                        schedule.at$createAction(2, actionGroup);
  W% @4 A' P& z4 S5 Y* s& g  h6 J0 v# |  w- m
                } catch (Exception e) {4 r2 E5 A2 Y+ E/ K
                        e.printStackTrace(System.err);
$ M0 r+ w2 r; u3 ?+ t5 Y                        //System.out.println(e);8 B1 P, X" E- B6 H2 c0 E8 ]
                        System.exit(1);
6 u7 Y; F1 R' T& M                }
" q! F% L& K4 ?' `$ M  _) g3 P& K5 W: v3 N+ y

+ l% J% C# ^! \! L, o, K        }3 ?# p6 c7 [) ?" C  Z0 ]! R

$ A* A# u7 k) c' ]) p, J: d. v        private void swarmSetp() {
. N% {, |! m, Q! l, s0 H3 ~0 D4 V                list.addLast(new Agent(Id));
+ X, o$ X9 G& Z/ g2 F+ E                Id++;7 Z0 K3 v5 g& U% H/ ~+ q" R+ p. r
        }  S) P" l9 t+ [' I

9 s, Z' \& @1 L        public Activity activateIn(Swarm context) {( x4 K( C1 C' p
                super.activateIn(context);
) x- |# v) g: f, J4 n9 h: m; ~( ^5 P                schedule.activateIn(this);- b* ], s) @. A8 p8 ^) A
                return getActivity();
" H; b- i+ O; R$ M5 g0 @& j- S        }
/ R! w: k& t! a. Y5 Z+ G
# O/ k7 K# h5 }        public static void main(String[] args) {6 c9 t/ S* F4 Q* ]$ A+ n, P
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 T+ c8 b. Z9 q, o( E0 q, K. D  _                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);+ x  x7 d7 w( B, ?$ I
                swarms.buildObjects();; ~+ ], }: K7 O* r
                swarms.buildActions();* f9 l  z- R; B$ K; k
                swarms.activateIn(null).run();
/ c- q2 a! k7 S7 T% c2 \        }6 f+ h# Y; V2 z9 P$ M8 K1 X

' C# A2 x7 e! a. A  W}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-16 11:28 , Processed in 0.016020 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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