设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4875|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
5 G' @/ D9 n( e: O+ ]4 p6 ?" w0 a) S
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. L. c& Q! Y( a
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
& n7 }0 @" {: v- Qswarm.SignatureNotFoundException
7 q0 f  |; n; O1 M/ l0 A        at swarm.Selector.<init>(Selector.java:76)
: S6 s! R/ m. ?# N+ \        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ J( \% ]2 [( S6 U+ Z        at ActionGroupDemo.main(ActionGroupDemo.java:67)5 l7 j$ |* v- X: k. t
& {% b7 {0 j/ Y7 G- Z
3 g1 \  R. a) z0 A- u* z, s
import swarm.objectbase.SwarmImpl;4 w1 l) B, j8 w! _0 O
import swarm.objectbase.Swarm;4 r/ u: \  b* D
import swarm.activity.ScheduleImpl;9 h: f& E, o( \) L6 [
import swarm.activity.Activity;: L0 D3 ]4 A/ _4 b, I1 _; d7 w
import swarm.activity.ActionGroupImpl;
* Z! }! e0 U$ E8 gimport swarm.collections.ListImpl;7 s0 K2 K% l1 r, D- L" J
import swarm.defobj.Zone; $ H* [" i- i; {" I
import swarm.Globals;
- a  ^9 a! ?8 L+ O, qimport swarm.Selector;
% V/ G) e5 e. E6 g' {import swarm.activity.ActionGroup; 5 g# H6 p' t: Z2 ?
class Agent {7 X' t+ _: V! l! d4 o7 n
        char id;4 e6 U! Z  U' T9 f# x  l6 O" ?

7 q  r7 s$ M4 H8 F1 m- k/ G        Agent(char id) {& K5 I8 G: e; I6 `5 C& E' K: v
                this.id = id;
: S" p1 e& X3 h) h) `        }
  b# F) Z& B) |5 t% W6 u( G+ _! h; h5 A: A
        public void agentStep() {' K, q) ^+ A/ ^7 @
                System.out.println(id + ":" + Globals.env.getCurrentTime());
: }* x1 }) C; Q& \        }
# X% U/ P2 W- x}  h( `2 p5 a" F; c' }6 {) y

! S. z: {% l9 I5 I6 ~public class ActionGroupDemo extends SwarmImpl {2 G6 X8 p* V3 o; m  W9 y0 H, T( |
        ScheduleImpl schedule;
* m# [  q7 g$ b4 X8 t$ K        ActionGroupImpl actionGroup;. B! B; b% l" _3 q8 \6 e" e2 ]
        ListImpl list;
2 x. _/ X' r! {        char Id = 'a';7 e& E' L1 g' X" ~" @# I! ^; t
9 e& D& n. b" P9 j! Y
        ActionGroupDemo(Zone aZone) {
& E- y2 x) s& O% e+ c" m9 z% D                super(aZone);% @1 j! r& Z8 Q) g; o6 Y: z
                list = new ListImpl(aZone);
4 u8 K1 y! u: n! X. |  U2 [, Y                swarmSetp();# U, F: q+ _3 E1 h
                actionGroup = new ActionGroupImpl(aZone);2 ~: g4 H  a% E+ j7 e( \3 v2 S
                schedule = new ScheduleImpl(aZone);
" g1 i9 `/ c+ f; s9 e0 d                try {8 V8 T! {2 O3 }2 ^
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);7 K) m( A- j) L9 a! g
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
5 C. X: y+ f/ K* V% ^6 }% z                        
+ b1 ]2 g  Y4 s* C' ]                        actionGroup.createActionForEach$message(list, agentSel);
+ U# e  F% ~' O                        actionGroup.createActionTo$message(this, swarmSel);4 [% d7 O( T+ W5 N8 o0 ]0 K0 _
                        schedule.at$createAction(0, actionGroup);* V7 T2 D% R4 }; D
                        schedule.at$createAction(1, actionGroup);
" Z8 A  z# f  Q  S6 p                        schedule.at$createAction(2, actionGroup);9 V* K( H/ Y8 v% N; x
% v% q) t: @5 N  @6 [" m9 s
                } catch (Exception e) {
1 H# D) W3 [& i3 y                        e.printStackTrace(System.err);
( Z0 g( i5 d# Q" B                        //System.out.println(e);8 e5 A! s  h4 Z& L4 x7 e2 O
                        System.exit(1);% q; ]* V, m- w+ R) ?
                }
7 c1 i' G& W9 F' o% x. j8 c7 o! ?' s$ S! k0 N6 i3 @

/ a8 N# m3 j* d6 ]3 Z* S        }
0 \2 I7 ?7 t; J7 i( j# D9 x5 n: Y9 N7 e. P; `- e1 \
        private void swarmSetp() {* `. b* |: y- z4 [6 H( x- @% X
                list.addLast(new Agent(Id));
9 ?1 N2 Q4 X' |, q& ?& w                Id++;
6 O( u# r. H2 ]! ~# F' a  J5 e        }
* G# e/ j- @( V( y$ l
& i/ T0 I" L1 I        public Activity activateIn(Swarm context) {5 `: L! v* p7 L  D# u
                super.activateIn(context);
( T$ @( O$ `1 `% H5 J! j( f                schedule.activateIn(this);
- p; X& o. G1 j% U& o2 X5 X2 t                return getActivity();9 r6 b9 o1 n4 X, m
        }* U& H* f7 X6 S: R& @2 f

3 u7 a) p( G8 b* M( A6 b( l( c        public static void main(String[] args) {
" _' J7 b+ D2 A) o  i# p9 E9 e                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; ~4 ^( j1 J, S/ b                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);: \4 F+ i! k; n/ Q
                swarms.buildObjects();+ D- w* Y# q% g/ a/ W
                swarms.buildActions();
- Z! Y6 E. f+ v  Z( e; O. g# q4 A7 S                swarms.activateIn(null).run();
) y3 G$ y6 w6 m. Z        }
0 k( D" y; c1 S0 s: I
& V" C8 f; C" v7 h, G  b8 H}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-15 12:27 , Processed in 0.020824 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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