设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11968|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑   e3 i4 J( z7 n* Y+ z  D# h8 O
# E& h% X& r2 r9 `* M* L
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
* @% ?: }- H2 p4 N7 h: ~以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# N+ z+ k, b. \: R
swarm.SignatureNotFoundException/ Z4 b0 B% l; D6 E
        at swarm.Selector.<init>(Selector.java:76)  i7 _$ m7 s% W6 |' K- j4 n9 `
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& @" W: a4 y/ I+ B; n9 N% [- [7 A$ S
        at ActionGroupDemo.main(ActionGroupDemo.java:67)  [& W. E4 q. }! P% ^/ Z7 c. x

  d- M2 k' b$ Z
1 n4 E1 v! N: limport swarm.objectbase.SwarmImpl;$ g& Y/ t, D' [0 T7 u# O
import swarm.objectbase.Swarm;
* z4 Y$ w" A' a- [& W, J! zimport swarm.activity.ScheduleImpl;5 e5 r% ?0 b' ~8 Y; J# i* {  Y5 ]
import swarm.activity.Activity;( P, `  u0 K3 W
import swarm.activity.ActionGroupImpl;/ h8 n" W! m4 r; S
import swarm.collections.ListImpl;
# ?2 o0 `6 ~- oimport swarm.defobj.Zone; ' y+ A" p: G7 V
import swarm.Globals;
3 v/ [3 f6 E9 L1 y# `import swarm.Selector;
- M  f1 P" A/ ?1 P; Simport swarm.activity.ActionGroup; ! C9 e/ Y; k3 Z% E! ?  Y
class Agent {$ ?, |8 y7 e7 T; U2 A0 y
        char id;6 f9 t- {$ [9 ?, x$ ]3 E
: ~/ I4 Y+ ~+ |5 H* z- Z
        Agent(char id) {
6 I' n* F! b$ B& S( V0 P6 [                this.id = id;6 F: v2 j8 C8 |. `( @0 }6 c
        }
' |; _( V$ S* s. `1 D( z; c
+ U. |" H1 h' B4 g, D1 O8 D' l        public void agentStep() {  h" o- a- a( v2 s9 n5 L0 B
                System.out.println(id + ":" + Globals.env.getCurrentTime());1 B: |+ n1 O+ _7 J" U" j% H. a
        }( j: \# u& x8 q
}
2 d' r, G/ T: H2 r9 l& A
2 M$ [7 T; v, ^. T% x3 Rpublic class ActionGroupDemo extends SwarmImpl {
+ C  X4 q2 H; j! S2 H+ M8 G. M        ScheduleImpl schedule;
, L0 `  T" Y  L# f5 ~2 z+ ?        ActionGroupImpl actionGroup;; r! f% A7 Y3 j: ~; e
        ListImpl list;
6 l% n+ \" \5 Q  Y$ F: R# W        char Id = 'a';
) m2 v% R4 J. l0 ]1 M9 q+ B
4 n1 Z8 `  v; G6 c6 y        ActionGroupDemo(Zone aZone) {8 F9 |6 J1 Q: n7 F% {  j( a1 x
                super(aZone);' o7 H" P3 `* T0 Q
                list = new ListImpl(aZone);
% t" o: R- A; c# z- z$ L9 p; x                swarmSetp();! H# ]8 y, x( v/ t; d$ i/ k
                actionGroup = new ActionGroupImpl(aZone);4 [1 B/ c6 G* a( I( s+ A3 M
                schedule = new ScheduleImpl(aZone);
( x6 E8 _: ]; e6 E1 f+ m                try {
0 c3 n6 O- N0 t$ W' t6 [                        Selector agentSel = new Selector(Agent.class, "agentStep", false);; x- R0 w1 E1 j& c5 p0 m' C
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行4 C8 S1 i# t9 o+ m9 o: I: ^
                        , t6 N2 Q$ m/ C  c9 u3 H  f
                        actionGroup.createActionForEach$message(list, agentSel);
( \3 O1 |% f8 K                        actionGroup.createActionTo$message(this, swarmSel);
/ R6 j- s$ X4 q  q3 E$ K7 d  ?                        schedule.at$createAction(0, actionGroup);
$ G7 P4 o9 V- O/ z2 C                        schedule.at$createAction(1, actionGroup);
9 J8 P: t7 N: F* ^8 l8 j) q4 [                        schedule.at$createAction(2, actionGroup);: F% B* `6 b/ C5 `: ~  |. g4 J& J

% U, X, v+ u# m8 q- S                } catch (Exception e) {. H) ~/ ?" o6 k' y4 w, A. ~
                        e.printStackTrace(System.err);
' g* K( s6 O! W5 [                        //System.out.println(e);
6 Z' I7 a% i' k. X, C! Z6 P) ?                        System.exit(1);. G: t9 Z% U0 Z/ \; h' }$ R
                }
( F  o" {! K% p. R( t/ e( I  k. t! W5 \( e0 y& l/ K3 ^

, J/ Q# `: c7 r# ]0 d& N4 Q2 a        }
* |# l4 B+ o. D' i# m, [; G5 H- k* g+ N+ |9 L
        private void swarmSetp() {
1 p$ h! x5 x- h2 p: z" J  j                list.addLast(new Agent(Id));
* T+ h# H) z7 r/ e0 x1 E                Id++;
" |6 T6 D) ]9 |+ \- s/ ~( ?4 D6 O        }
: Q6 v3 `3 W3 g/ k8 X( i- T" T$ J0 d: p% l9 O7 j6 Y
        public Activity activateIn(Swarm context) {1 Y) F! B$ O" ]9 x1 D
                super.activateIn(context);6 {- n% V% q4 y3 |: k
                schedule.activateIn(this);( r; d0 F5 t, Y! A6 {
                return getActivity();8 C% l1 N) v/ O. f6 n4 v1 ^
        }
; N3 S. [, v& ~% i, W7 R8 S0 t6 O# b, m3 P! I
        public static void main(String[] args) {
/ `+ l) k7 A& ?& A7 g                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
9 ~; o0 b; J  Q! [) w! R                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 K7 p$ D& ?& J
                swarms.buildObjects();
6 J3 l9 V- |1 G                swarms.buildActions();# T8 m. x3 k( r2 @5 t2 l
                swarms.activateIn(null).run();
, a& n8 b) s1 F9 F2 l        }3 a8 z/ B+ \& E- v4 p0 ^1 F

6 M' j/ m+ C0 r% b7 J4 ?* q}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-27 03:03 , Processed in 0.018836 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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