设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11071|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
" @: u' ?+ }" B" A: L$ G7 L) x4 y* o( a
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
8 T8 x, I- }" Q7 |9 d- e1 G以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.! S, j5 ?8 s2 {2 n
swarm.SignatureNotFoundException
0 p7 [8 t! g+ ], ~) [( c        at swarm.Selector.<init>(Selector.java:76)/ P% X- K" ^- w; [- V0 {# q' j
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)* S- D- \- x; Y% b. z8 P" R
        at ActionGroupDemo.main(ActionGroupDemo.java:67). Q( P9 W! N4 y* b; j

. L) L1 Z, P0 G' Y# {  a) Y; a. l
, E2 J6 G7 P) ]4 Eimport swarm.objectbase.SwarmImpl;, T! V+ l, t: Y' n# B1 i+ z
import swarm.objectbase.Swarm;
/ T& i; Z* U- N$ F8 N' ]2 q  T- [import swarm.activity.ScheduleImpl;% w6 ^& \4 v  {( l. u  m2 Q2 }
import swarm.activity.Activity;. ~" d7 R3 ]# ^$ h2 Y7 Z6 P, l
import swarm.activity.ActionGroupImpl;6 s9 C6 e0 r# v: Z" [
import swarm.collections.ListImpl;
: {+ e( d1 Y% H$ q! m& x8 Limport swarm.defobj.Zone;
1 {' {3 S% I7 e# \0 F8 I" e- Limport swarm.Globals;
0 L2 l$ G/ c, J4 T" h. u! v! Z! Ximport swarm.Selector;/ u- [' t$ M! p) \/ O
import swarm.activity.ActionGroup; * g' K* @5 l7 ^7 R
class Agent {
0 D# X$ y" C' Q. k$ A        char id;7 V/ W3 j  S8 L9 b* g. a

$ n3 H. J+ C; c8 i* C        Agent(char id) {
# s- s' R4 W4 w  I- M7 U+ j, `                this.id = id;  s6 t6 u5 W& a! [: n. K$ Q
        }& L+ y3 s9 `; c+ ]6 K' Y

8 Y5 S; [, b8 E1 x1 \; ~        public void agentStep() {
1 Q3 k% v6 P0 w3 H2 w                System.out.println(id + ":" + Globals.env.getCurrentTime());
# b) ^9 m& T6 Q" W5 L* B        }! J2 M9 R6 X; p: }  n" c: {5 N
}: b5 }. v: V* `6 p( u" T
( e6 u# q3 R% q# p
public class ActionGroupDemo extends SwarmImpl {
& C- N+ D6 X7 ^/ r2 c/ ]6 N- l        ScheduleImpl schedule;
# j7 u% z8 J3 K  j; z6 [        ActionGroupImpl actionGroup;
4 ], [* j$ [3 j1 `  r& [# w9 m        ListImpl list;1 F5 y; v8 y% y6 {
        char Id = 'a';
. _' M  I+ d+ F! D8 F- I$ A
; \6 S2 C& ~, L3 n$ J8 L5 y6 D8 _        ActionGroupDemo(Zone aZone) {' p+ V1 O; t+ ^2 a; V$ W
                super(aZone);) |, F9 T. |3 `  ~
                list = new ListImpl(aZone);6 r, R. A7 ~4 r+ r
                swarmSetp();
# ?9 d5 D# m' L% V. D                actionGroup = new ActionGroupImpl(aZone);
' a2 z6 \% T' e6 ]' P! T                schedule = new ScheduleImpl(aZone);
' }: s- G0 U; S. l" v3 ]; [- Q) @                try {
9 [2 M" d5 J) b/ V, J                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
' C* D0 M) w" a& p) s/ N; J                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
& q6 [: ^8 F8 F                        
3 y6 W" _& K' ^                        actionGroup.createActionForEach$message(list, agentSel);
+ `1 t5 V. j" m/ d. v2 L5 w                        actionGroup.createActionTo$message(this, swarmSel);
* P3 s) \$ B. N. w$ k                        schedule.at$createAction(0, actionGroup);
; s4 y* Y. F/ n: {8 \                        schedule.at$createAction(1, actionGroup);  K, }& z: m" x' q
                        schedule.at$createAction(2, actionGroup);
" B; G3 l7 O* `! f9 E0 z  o6 b- g/ {& P  q2 K) ^
                } catch (Exception e) {
# U* p9 k1 `3 O( q# {' a$ K& Q                        e.printStackTrace(System.err);
; ?0 p8 d: Q" S                        //System.out.println(e);
- B. q, W. ~6 I" A# E                        System.exit(1);
: }! d4 u6 X/ v2 {! e+ S                }/ s' I) d9 Y! y- Q

+ b; W: q& q4 X6 ^: c3 P, s% o, k
9 U; R/ m% l3 m2 C9 W        }8 J# h2 }- Y5 N! |
& J, y5 v% _) Q+ h! q
        private void swarmSetp() {
; K: s; N7 N# N8 p3 r2 V                list.addLast(new Agent(Id));$ O( t/ e2 g) H+ _9 I) R
                Id++;
: Z& i' s" r; Y* n5 L3 `        }
/ }2 \( }& u- m  v. X  `
& l& P: N, a2 u8 n( m* K( {        public Activity activateIn(Swarm context) {$ y2 Q& b& Y; w) ~! ]
                super.activateIn(context);
3 G& X, R8 p7 p. D1 b# ~                schedule.activateIn(this);: t5 h4 ~1 H- E: ]- h5 A7 g
                return getActivity();- K1 J+ M1 S& I5 P/ X! e+ ]
        }
3 c( `0 d3 R5 L/ J  {6 d
6 z- E6 z7 e( u! h6 E. {        public static void main(String[] args) {) O% ~) W5 G& ]3 v
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);1 T( g. x  x( v  N5 c0 t; J0 o6 b
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);; T9 @3 P$ _" p6 [
                swarms.buildObjects();) n) z1 p! o+ \  J4 n8 i6 s% w- o
                swarms.buildActions();: y7 g. o2 U) E/ \6 @1 p! J
                swarms.activateIn(null).run();: m+ P8 d9 d4 I# ^* V
        }8 X7 d# _: ]7 k5 d; v; h$ a3 S
7 f$ @' i- U; R2 M% D
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-2 06:01 , Processed in 0.014599 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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