设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12682|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ( Q) Y. ~" x0 G

6 L5 |: x* M/ }& S5 _) ?* K本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 V) @$ ^; l" S) R% w" E
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.9 b: \+ k& M8 J- \; ?
swarm.SignatureNotFoundException
# S# P0 x; N6 Y5 J        at swarm.Selector.<init>(Selector.java:76)# e+ u, M; t4 O' R9 a0 M$ e# V% x! I
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& d8 X3 x% Q: e- F. V( F( H
        at ActionGroupDemo.main(ActionGroupDemo.java:67)( Q( H: M6 A/ Y/ @' G

& I3 t( j4 M, s/ b
) l' ~- Q: ^+ b' d! wimport swarm.objectbase.SwarmImpl;
9 n- v8 c( ]1 f, Qimport swarm.objectbase.Swarm;
1 w3 C7 K. u8 E7 z; F/ fimport swarm.activity.ScheduleImpl;
; v* ^# ?5 q, P+ N' timport swarm.activity.Activity;
. P' `' I$ r, x3 |: [  D! Fimport swarm.activity.ActionGroupImpl;
7 M+ a1 K! p& f' I. V2 U9 H+ }import swarm.collections.ListImpl;) o" |. ^. J% w
import swarm.defobj.Zone; ' f: }# ?3 m/ \! z- }: s
import swarm.Globals;
: Y- O( F) C) k5 e1 a* Oimport swarm.Selector;/ B4 {- N: _# f' |! p5 V
import swarm.activity.ActionGroup;
4 G- k' U% c+ z: u7 Vclass Agent {. ]8 L- w* r2 a5 _
        char id;6 e2 p" D! H7 y- U2 p
3 k0 v  k8 k, u; M! I1 |$ ?5 L
        Agent(char id) {9 u& N, ?( b- K: Z
                this.id = id;
5 J9 B% M" s% H        }! N- B4 q, B/ @9 h" c

8 Y  K6 T3 v$ t! |        public void agentStep() {) u% l# C4 d; X1 N9 q
                System.out.println(id + ":" + Globals.env.getCurrentTime());
6 T% _5 I6 T6 _        }
+ c8 R$ Z8 _7 Y; R. ^, j. @}
3 F2 D6 i- ^, z5 k, C/ ]" N" {- V! i4 r( e  ~
public class ActionGroupDemo extends SwarmImpl {, q$ a  F5 z) _- f9 H, R" @7 P1 t
        ScheduleImpl schedule;
. \6 J" ~( e- e: e        ActionGroupImpl actionGroup;
4 }$ \7 o6 ?# A$ @- l- z: _+ ~        ListImpl list;
' c% U9 A4 K1 R" L% ?) V        char Id = 'a';, }$ \# c1 M  Y1 ^
$ p" M6 v! b% c, j* {
        ActionGroupDemo(Zone aZone) {! ^2 _. p0 k; d! m8 h+ O8 V3 w
                super(aZone);2 ?+ F! `& r1 n3 v2 S
                list = new ListImpl(aZone);
- v1 a$ r3 |2 Y8 O" S% N( G1 }                swarmSetp();
! m+ P" a! I+ x1 H, k. g                actionGroup = new ActionGroupImpl(aZone);6 O1 e6 T: T% h" k6 J& o
                schedule = new ScheduleImpl(aZone);
7 F! U  P/ a6 B$ N% a1 N& l- u                try {
( G: u1 j+ K+ u1 Q) i                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
! r  X* P9 v; X, C# ~- k                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
" H8 L7 U# |. r                        6 _& [% z9 _1 G7 q5 v
                        actionGroup.createActionForEach$message(list, agentSel);
1 N8 t: q$ V0 F! A7 Y- d0 y( y4 ?: z                        actionGroup.createActionTo$message(this, swarmSel);
* R$ ~3 }: r" m( ?2 j( B4 J9 P8 c+ J                        schedule.at$createAction(0, actionGroup);6 k. u' D( m, w4 M) B  H) u
                        schedule.at$createAction(1, actionGroup);
* F) J  ?, I$ d% n8 R                        schedule.at$createAction(2, actionGroup);7 s0 h! ]7 w( y0 c! g, y, C

8 q- p: L7 ^2 P& |# P                } catch (Exception e) {8 \( D9 I1 a) Y; R7 A$ ^% e
                        e.printStackTrace(System.err);
8 {0 U/ f6 i1 h/ S                        //System.out.println(e);% i% N; U$ ^& M* _+ |. g# s; \) S
                        System.exit(1);
% ]" O0 j1 h( n& T6 X% i4 J                }: j+ Y  N- Y" T, y) J
$ x+ I% ?! T% Q7 Q. x
8 E* D/ w( p7 s/ M# U& d
        }
5 @* i5 V" I$ _2 M/ H
, V6 D1 ?% q8 B& n5 P6 Z3 W        private void swarmSetp() {
. T" m7 e5 n. K( Y8 K( {                list.addLast(new Agent(Id));5 B+ y1 e- v/ Z
                Id++;
9 A1 ^8 i% _( q9 c" {        }( S3 V! s- l2 p1 l
* D3 G8 ?/ p& o# {
        public Activity activateIn(Swarm context) {8 V4 D) g9 q+ ?: |
                super.activateIn(context);& _$ A! T' P# p! t
                schedule.activateIn(this);
+ K  [) E" M* P4 z* a' c                return getActivity();6 {  a- ]# M# U8 A. F' D+ [
        }
1 x4 j* Q' S8 E! A8 J" w- j
8 C# @; w5 a1 p        public static void main(String[] args) {3 r: W3 r, c# ~& t: w
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
5 d' ]; W( U( `7 z4 @( v8 A                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);; L8 F3 O7 S1 g/ M0 O" j
                swarms.buildObjects();
. @8 c8 ~& b7 {' M                swarms.buildActions();
% j& m+ |( F6 S  J" k* I                swarms.activateIn(null).run();+ Q8 A0 x& v7 a; w# \
        }
9 ?# R0 |  ?& h' H' {$ s4 e9 J& a; l
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-15 22:42 , Processed in 0.020320 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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