设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6994|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 0 j) _$ Q8 Q$ J! A: Q) v
6 `9 j3 I+ ~1 k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21' I: }% \+ s: m  r
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# a6 H4 W2 Y. ?swarm.SignatureNotFoundException
! m6 t& J! E4 G6 ?0 x        at swarm.Selector.<init>(Selector.java:76)
' Y; [* X5 @/ N* B, I0 d        at ActionGroupDemo.<init>(ActionGroupDemo.java:37), k7 V* v) I3 _3 L8 I" p
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
- u& ?# v" a, s3 l
9 i- o. @3 F, B" \) T; N+ ]6 k% Q% ?$ s
import swarm.objectbase.SwarmImpl;* t. ]: V- s2 q! ^$ ]1 Y) W# K6 s
import swarm.objectbase.Swarm;
9 d4 @3 V1 `0 s! t; V, h/ [+ Aimport swarm.activity.ScheduleImpl;* z+ j  n6 |( _) T" b: b* \
import swarm.activity.Activity;
8 @8 f; u3 f9 }1 {2 A1 Zimport swarm.activity.ActionGroupImpl;+ ^7 p4 y) H- @" j1 t1 H0 ~( b  F
import swarm.collections.ListImpl;( b% [) T' i* U& `
import swarm.defobj.Zone; ! I6 j: y: e: t# ?+ k- b
import swarm.Globals;7 h$ ~' ]& {* x/ b( G+ V
import swarm.Selector;9 w1 _/ q* d$ c2 C, E1 S
import swarm.activity.ActionGroup;
; T: d/ k& u6 Dclass Agent {
# W6 H( P  B$ [4 L8 T4 Z; ^        char id;
+ [4 i- S2 \% _# Z- _  w# c
, ]3 V' j2 I1 L: ]        Agent(char id) {5 {, k9 I' ?- f
                this.id = id;+ \5 o6 j  X) f0 b
        }
" Y; W6 ^% g4 O+ T) x# m( Y. E# ?' ?' ]' C  ?3 y% P+ b
        public void agentStep() {4 m" _+ ]) y+ H, j8 i
                System.out.println(id + ":" + Globals.env.getCurrentTime());$ z) a* z8 N2 D" {  o5 ?: J
        }
9 W2 v; ^% G# a( n- S7 M}; i7 N- z0 Y( K# W
3 t& W9 n  a& T$ e
public class ActionGroupDemo extends SwarmImpl {
/ G( J* m8 w: }, g% @0 B        ScheduleImpl schedule;
3 ~1 {' p( ]6 @% J        ActionGroupImpl actionGroup;
2 l1 d2 v" s9 J4 m        ListImpl list;% z! v6 I6 h2 ^( l
        char Id = 'a';
- u" U8 i2 o( u* S
- V) T& H/ E; M8 _/ \# u+ i, D        ActionGroupDemo(Zone aZone) {
8 Y$ Q8 A6 G7 p                super(aZone);1 A0 s/ W' j5 }& {* S- b$ ^$ m
                list = new ListImpl(aZone);
, v/ L' y$ Z  X0 `9 z/ |  K                swarmSetp();
5 c* d) v4 h  X                actionGroup = new ActionGroupImpl(aZone);( D: Z  p3 g4 h" `5 m- R; l
                schedule = new ScheduleImpl(aZone);& N6 v& A: i  N1 D
                try {. l' w% B# Y( w( q' V
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
3 Q" ~0 n8 R9 y& H# \, y                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& e# ^- O) f9 O( i/ _- M/ b. O* n; V
                        
) h' `) W8 J; B! T5 z                        actionGroup.createActionForEach$message(list, agentSel);6 L2 \  @- }8 o+ Z4 Q
                        actionGroup.createActionTo$message(this, swarmSel);6 R. ~. T" v" e! k
                        schedule.at$createAction(0, actionGroup);
0 C  w, H5 L) W6 G# x6 U                        schedule.at$createAction(1, actionGroup);' M) q' y! V2 A: U6 W& w
                        schedule.at$createAction(2, actionGroup);
, z/ T( F9 }) S( E8 r0 J& ~4 p& O! F7 p7 h$ V0 t
                } catch (Exception e) {* i9 [* ]3 ]/ A+ u" i% y
                        e.printStackTrace(System.err);
% I! a. a' v% J3 i9 V, E" R5 t                        //System.out.println(e);
: k+ v. t8 i& q+ t                        System.exit(1);* v7 j2 d, W0 @% {7 C# T
                }
- z( j. B- F: R+ U$ c3 T) r( r( o- M! d5 T7 ]$ T

/ x" R+ ?7 e# d7 @8 c, ~- ~7 g        }) ]: S1 S& Z" [( |- z, X& f
" V& Z; _3 f- _5 J* v- d
        private void swarmSetp() {
$ K% k6 Q8 U& `* s$ ]                list.addLast(new Agent(Id));
* {- w+ B1 H# h8 o                Id++;5 l; A4 L0 b. _: S# V4 {
        }
9 M) j6 y+ |5 _$ r. W! c! ^( r- E& G. ]3 `% O7 Q1 U3 C
        public Activity activateIn(Swarm context) {
% T7 H( n# b: K                super.activateIn(context);( w2 D4 U$ F' c9 H
                schedule.activateIn(this);
/ U/ a& W8 v6 @" r                return getActivity();- I9 \" J7 O2 N* u% B( a
        }. a$ S9 U& q5 P9 x

1 O$ o" E+ t9 D* S        public static void main(String[] args) {
! s! a2 W8 m8 \( D* f# H% }                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);+ R1 b, T( M% ]
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" b# y0 e  f- E9 L                swarms.buildObjects();
6 V" L0 w1 A3 u5 n- g: t                swarms.buildActions();
( y* O5 W; S9 s3 y                swarms.activateIn(null).run();- S0 f  L# U1 C; i+ i) d: G8 j3 S# U
        }
2 Q7 y5 t; N9 `& G& o. F, E0 c
4 u6 u0 {; e' J- Y8 f  E) p1 o}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-16 00:23 , Processed in 0.017829 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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