设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9919|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 + U' G- j7 V! p/ i% ^3 m/ i+ ]

* H) {% Y1 }; {; o  w本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
2 }' j8 v4 B  G3 a以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 R! I8 N0 `/ \$ S# L/ p
swarm.SignatureNotFoundException
, u$ o! q" \9 a2 k: ^$ C* ?- G        at swarm.Selector.<init>(Selector.java:76)9 o1 G* Q7 {7 \) ]" v7 l8 I* L
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 X0 K" a; R; v* ^  v4 |
        at ActionGroupDemo.main(ActionGroupDemo.java:67); d2 g& X2 U0 |0 Q. t  h

$ D: H  e# X5 d, s7 R8 c5 Y: A9 v
import swarm.objectbase.SwarmImpl;
4 Q/ u4 ~3 I5 ^8 B( a* n8 M5 Mimport swarm.objectbase.Swarm;
2 |4 t% |! G: Q1 }0 t$ O6 Timport swarm.activity.ScheduleImpl;, c) M8 m  ?! |* N' i. T" t" Z
import swarm.activity.Activity;+ ~7 C/ z* D4 _
import swarm.activity.ActionGroupImpl;/ U# ?  Q) U) H& N5 p  j
import swarm.collections.ListImpl;! X/ z/ `9 M$ y
import swarm.defobj.Zone;
! M8 l7 W) J7 \5 ~/ rimport swarm.Globals;
$ H" x; e1 D5 f2 E( E; C+ ^& @  timport swarm.Selector;, e- L$ `9 g" O$ r1 ^- F
import swarm.activity.ActionGroup;   S% ^- h7 M# _- T5 t' D
class Agent {4 ^/ i: E7 d: S: ]9 I8 B) M
        char id;
1 K' D- Q/ K+ F9 M3 ]) ~
. m0 N% k" J: ^8 u  n        Agent(char id) {
9 d: T: d' u# L3 q                this.id = id;
7 a6 w& K/ V, S4 q- R, v  F) O        }% n4 Y$ f/ C# B, U; r( W& W

& G' `, D: [* J        public void agentStep() {- B: U6 Z2 n6 \' p
                System.out.println(id + ":" + Globals.env.getCurrentTime());0 l2 T& y7 h0 F0 n1 ?$ y/ w; i: S  Y
        }
6 m# f' C) p* t! d# P}
" @' G6 w: C" x3 O# g6 w
* O- \: d2 D: L8 @public class ActionGroupDemo extends SwarmImpl {" K% \9 m; `  v3 ~5 u2 }
        ScheduleImpl schedule;. v9 m4 h3 f9 E) B. i3 j: N
        ActionGroupImpl actionGroup;5 v: E. ^7 g3 T( J; m
        ListImpl list;
0 B+ i, g6 ~: {$ B* Y8 w* {        char Id = 'a';
1 n% s2 a$ U: q4 I/ j, _( k! A8 k3 a4 M5 ~4 ~0 f; y: A
        ActionGroupDemo(Zone aZone) {+ q8 T. k" t% A  f
                super(aZone);& T6 y/ C' B' e
                list = new ListImpl(aZone);9 G' }$ D, k0 C- i( ]+ }5 r0 r
                swarmSetp();
& A3 d$ W( b% F3 m' r  v                actionGroup = new ActionGroupImpl(aZone);
1 U; o* X# [# t4 Q9 |. V                schedule = new ScheduleImpl(aZone);" l4 Y  z7 m* H: E
                try {
! r: v6 p6 g. U; g- m                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
! g$ N! k0 k* H2 ?                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' j) i0 Z& \$ z5 v
                        5 b" T: T+ Z8 C4 s6 h( ]1 _* v
                        actionGroup.createActionForEach$message(list, agentSel);
3 w3 G, i" Z. [7 P/ j                        actionGroup.createActionTo$message(this, swarmSel);4 \2 z! I3 T, P0 r  a$ A
                        schedule.at$createAction(0, actionGroup);7 N; y# l* k, D& P6 l/ i2 i/ f
                        schedule.at$createAction(1, actionGroup);
* m3 {% H7 |1 o                        schedule.at$createAction(2, actionGroup);, r9 @( ]: v1 e

4 Q0 v& p  f7 j/ y1 n: i3 e                } catch (Exception e) {8 p: R2 \( S$ o$ p8 a+ v: h
                        e.printStackTrace(System.err);7 N9 B# E! m) ]3 h: @  m
                        //System.out.println(e);9 r% Z8 _" k. D3 f! P* ^  c
                        System.exit(1);
4 w$ S8 L6 E3 c6 S- a" c                }
; p6 b0 x9 h! N! e% a
! a: u; A/ i/ g. Q
: L+ }6 B& A7 W4 ?0 w6 U        }0 d2 T$ o9 [7 u, q. Y& k' I
5 w4 ]) c+ r2 l* \* W2 t- @9 y
        private void swarmSetp() {
7 L7 L: ~9 R" l1 b3 G/ I                list.addLast(new Agent(Id));% E9 x) {2 [5 F- f$ e- `: \" q
                Id++;- ^* J- e" f$ C! v9 t9 o' D9 I
        }0 O$ H( a: e" E6 H, ~

% X' E/ X7 a" H' ~8 `0 w6 K        public Activity activateIn(Swarm context) {% B( o2 m" L; X1 B. j: _' ]& p9 Z: {
                super.activateIn(context);6 y6 k$ {7 x6 m. o, G
                schedule.activateIn(this);5 o  |7 s+ g& @7 B+ ?8 R
                return getActivity();9 Y! [7 m" Q0 z1 @( Y9 I1 G% h
        }5 ^" s4 A9 z- N! L3 S: N$ e2 ^; U

9 T' A: I) g) p7 S5 n/ r/ f        public static void main(String[] args) {
/ P- Q- Z' V) d& `1 ]& i                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
. M$ C$ C/ Y: k                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
6 }- d& J5 A7 H' N# u' N                swarms.buildObjects();
" o, W) q( r. m0 ?& ^) K/ R+ W5 m                swarms.buildActions();  ]) x! I1 O3 e# ~% K/ \
                swarms.activateIn(null).run();/ R+ D) {2 n) V% [4 S/ J
        }0 I. g# p" b3 Z: |% U
7 R. R! O, C* u4 C# m0 B& r
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-27 19:59 , Processed in 0.014909 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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