设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12929|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * c8 R, y, W: n& Z2 b
1 \  R* e2 h. [& f+ S
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! ]. J; b8 m# l- T; S* X
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 K( }. J' c7 X9 c; kswarm.SignatureNotFoundException+ y/ E5 K6 j2 }: Q: t* j
        at swarm.Selector.<init>(Selector.java:76): ?  K/ E: d* S0 v0 P
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 d: r/ \8 k& a# p9 F        at ActionGroupDemo.main(ActionGroupDemo.java:67)' j4 _! F  y9 w) Y! l' o

. d9 i3 }: Y  Z1 H' Y* f' {5 G7 w& ~: O
import swarm.objectbase.SwarmImpl;
7 o9 h9 a+ N' B  S/ rimport swarm.objectbase.Swarm;. ~4 P2 \3 q2 X1 p- o0 Q* g+ }6 \9 n
import swarm.activity.ScheduleImpl;
# X' l6 Z$ K7 ^/ O& K) g" _1 _! fimport swarm.activity.Activity;
9 e% [, J6 z# J  @7 v; |* o( vimport swarm.activity.ActionGroupImpl;2 H. @. R! b/ u
import swarm.collections.ListImpl;
* Y! H- [; F+ R1 B- D  S9 _: Eimport swarm.defobj.Zone;
+ A$ h3 [# h: V9 F- Gimport swarm.Globals;
8 e. F( r8 U# b" v; }# cimport swarm.Selector;# R6 h7 {) D1 D2 l+ U: F0 |, i
import swarm.activity.ActionGroup; 3 R' i. e8 n- M4 H
class Agent {1 w4 ~7 F+ D  q3 C) e& c. l9 _
        char id;, v+ Q/ q; T+ E7 @" p

2 x# }4 ^8 i% s* z' U1 u+ K1 J8 Q( A        Agent(char id) {9 o$ L1 N" }! b0 h! c, O
                this.id = id;7 l  g/ L! ]+ J; L0 }/ E1 t
        }
9 X8 h( d& l+ f6 ?! |6 Z$ G% |. s4 n" E
        public void agentStep() {
# O8 T0 y5 S& a" |( X) v8 t: G                System.out.println(id + ":" + Globals.env.getCurrentTime());
( s( k$ u+ d( q4 ?3 @! d% ~! V' D+ A        }
2 S; ^5 L5 ?% ?5 D5 {- B+ A2 M) f  m}
. U( I1 v4 o8 g; a8 U9 E$ \
, I1 Z- M# C2 g, qpublic class ActionGroupDemo extends SwarmImpl {9 T) ^9 B+ u  P4 v! {; y
        ScheduleImpl schedule;$ u" @( @$ v; o* ~
        ActionGroupImpl actionGroup;
8 b/ r0 {& ~% i- @  @+ ~8 D2 b/ w        ListImpl list;
3 x* k) N2 e8 f: f3 J        char Id = 'a';& n) l0 \7 f* {  O
# t% g* y! g; U/ K, z
        ActionGroupDemo(Zone aZone) {
" d5 K4 |# p+ [2 X2 N1 _                super(aZone);
- n8 u) W, k: l5 q' N, R( W  z                list = new ListImpl(aZone);- H0 z2 G, [" p8 u  D5 f
                swarmSetp();6 n( \' C" I; ]: N) {8 y8 V  g
                actionGroup = new ActionGroupImpl(aZone);
3 @4 p/ ~7 N1 V7 X* L4 L8 W                schedule = new ScheduleImpl(aZone);
; @! S' W+ ^# X' g, f5 `                try {8 G! ~" |+ F# }% a' o" c: c' Y  Y
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);" h- Q, }8 G6 h, R4 `9 t& n( @# ]
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. o' w" e/ t* e! C                        & d& J% Q& |5 b$ o6 q$ k) x  _& `
                        actionGroup.createActionForEach$message(list, agentSel);. C1 W' w' p/ r* J
                        actionGroup.createActionTo$message(this, swarmSel);1 Z" ]4 b1 `% ~' n5 A3 q
                        schedule.at$createAction(0, actionGroup);
. e2 T. `! w+ F. _1 u7 U# T                        schedule.at$createAction(1, actionGroup);
# M2 s7 p$ ]6 l) N0 Q; w  ~3 t# W                        schedule.at$createAction(2, actionGroup);7 V1 Q# s/ ]- h4 M% g

6 m9 B' x7 D+ C! D% }/ n9 l, Q9 u                } catch (Exception e) {6 S8 ?/ R# D$ |( b
                        e.printStackTrace(System.err);# k( @0 n8 D( y6 X% m  P
                        //System.out.println(e);" d9 v0 D7 M0 e0 X+ Q9 y% w
                        System.exit(1);
. {( g7 b8 i- V) w                }
5 t' ]' e( S6 r9 R- d) e! O# a& ~- g" W

+ X# B0 g: X) j: W' e3 N3 D        }
& j) m; |. y* `) ?5 a0 w. G6 ?8 g$ s- q+ [2 K6 ?2 R& C
        private void swarmSetp() {
& p% P- N) B" e! d8 S+ u4 \) e$ Y                list.addLast(new Agent(Id));
, C$ c# k; \7 n: ]                Id++;
0 ]0 M- F; U# Q8 f% X        }: H' E& L% X3 a+ v7 U1 r' J

# w8 w, t9 E' p        public Activity activateIn(Swarm context) {* `' n7 o. ~& b( ~. O- y0 l
                super.activateIn(context);0 {3 F* X$ ^3 {, z& \2 t
                schedule.activateIn(this);
& R8 f9 |4 }  j1 _- n                return getActivity();! \7 y" D% Q( l1 J; [
        }
) e! m9 @2 g( n- c) j' ^% d$ R9 e. f* C( a; b/ B, g/ I! m
        public static void main(String[] args) {
( R& e# z5 C# ?                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
3 s. u4 {: Z' q6 I8 i) q                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" q6 w4 w+ {4 T% @                swarms.buildObjects();9 q1 r8 V7 z, S
                swarms.buildActions();4 }3 Z0 F4 t% {3 f0 @- Y  e
                swarms.activateIn(null).run();4 O% [. S3 l; C
        }
5 {6 E, G$ C5 L2 I
- D5 Z3 }/ X4 I# N: v}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-23 12:55 , Processed in 0.017120 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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