设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13860|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 x: Z8 @  p) r0 [! R% V1 _. d( [) n) K) O+ i7 h  P1 }/ P. w
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21+ g5 a- R& o# M: i% l
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 z9 H& T0 f5 C( D
swarm.SignatureNotFoundException% V1 |# w, O( l% i2 w: e3 M
        at swarm.Selector.<init>(Selector.java:76)4 o; W9 W8 _  C/ P8 \
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)5 i$ }: t! X: h4 C
        at ActionGroupDemo.main(ActionGroupDemo.java:67)/ K! G7 Z+ ]! o

" ~2 N4 s1 z: p
, Y7 y! y2 l2 _5 zimport swarm.objectbase.SwarmImpl;. L0 U$ r" R6 N0 i) G8 h" v/ T  T
import swarm.objectbase.Swarm;
% h8 X0 G3 C! m' h( `import swarm.activity.ScheduleImpl;
$ g9 }( z9 [' u- @; H1 ?import swarm.activity.Activity;
" l8 V4 p3 r% D/ D2 K7 [import swarm.activity.ActionGroupImpl;
3 m8 m; |2 Y1 B8 A* w1 y9 A$ Y7 rimport swarm.collections.ListImpl;
3 ~/ N* ~( R, X8 {5 S0 vimport swarm.defobj.Zone; 6 l3 i' ~# b4 [( I8 k
import swarm.Globals;* v% d  |' h3 I+ L' K
import swarm.Selector;9 \3 U$ z  Z& n7 Y
import swarm.activity.ActionGroup; & X4 m% \- \( M% B  O
class Agent {9 f  H. g& n8 T4 ^' N
        char id;
( E; c3 z  O) c1 R7 A6 \( T7 s$ X4 \2 }
        Agent(char id) {3 ]* |7 Q7 e2 s( Y% [- f& M0 u
                this.id = id;
! z2 Q2 k: O* z5 |& p- D3 p- z; B: C. b        }: y# i; m8 _8 h% V. G/ G

: @4 p+ }3 b5 R/ U) r1 g; V        public void agentStep() {
; q3 r6 h/ a# c* K' p% |) l0 A% ^                System.out.println(id + ":" + Globals.env.getCurrentTime());0 J* {% r$ K* {/ Y! N1 x
        }8 w% N5 P. P5 Q
}
) O' N- m- \- P" e6 Y
# a3 X* b* K6 R6 C! Lpublic class ActionGroupDemo extends SwarmImpl {
, q7 d8 P) M# _        ScheduleImpl schedule;0 l$ Y; e9 b8 U5 W- T; B
        ActionGroupImpl actionGroup;
2 q8 n1 p4 V6 t; C0 N; d        ListImpl list;% F! ^9 S3 O/ u% l* [+ R5 n
        char Id = 'a';. K, S& M7 O# B! y  M$ W/ T& n+ D
( }( y/ U* S' o" Q2 l: M
        ActionGroupDemo(Zone aZone) {/ }+ q# X0 d0 p
                super(aZone);
: m4 S% L  t& M                list = new ListImpl(aZone);
9 Z0 O, y7 m2 U! q+ K; s  @                swarmSetp();
3 j# m; p5 k5 {! {                actionGroup = new ActionGroupImpl(aZone);8 m2 ]  [% O$ u, O3 |
                schedule = new ScheduleImpl(aZone);
& r/ l; O" N' Z, p. K                try {
' i! x9 }+ |% L' L( K                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ m* w( w8 {) w                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# z- ^3 X8 u  S, Y+ {! m9 T
                        . x& X- M% l  j, j' f
                        actionGroup.createActionForEach$message(list, agentSel);4 U# L# ^6 c1 h/ v. m. m
                        actionGroup.createActionTo$message(this, swarmSel);+ z0 T3 _' s) O# T4 k" O
                        schedule.at$createAction(0, actionGroup);
* }# m! n1 H7 k8 ^6 }                        schedule.at$createAction(1, actionGroup);7 q" V8 f* }3 G8 a6 m7 m. S
                        schedule.at$createAction(2, actionGroup);
8 t: o2 O6 x4 t- ]1 K0 M" t* T6 K
                } catch (Exception e) {  t2 E( T+ d) a7 {
                        e.printStackTrace(System.err);
2 x5 Z7 ?% e/ U                        //System.out.println(e);7 t# u( s6 a. [; o3 L
                        System.exit(1);5 z! l  a  c, e- y
                }
+ s% E$ B% v! m) k8 j
2 E8 T; L  P3 h; ^3 _$ T  ?. C4 ?' \" Q0 G" [. X3 ]
        }' Q( ?; w4 }7 j

! V* g. K7 N9 P( b        private void swarmSetp() {6 R# ^2 G+ V& K
                list.addLast(new Agent(Id));
) J7 _8 }: I1 u9 W$ N. c# H7 J5 l                Id++;
" q- P- P/ Z! x5 ^: Z( X        }" U3 p8 f9 X$ m5 G
1 e* k: u% t1 _' z* x0 G0 e
        public Activity activateIn(Swarm context) {! ~: h6 K3 k0 g( n/ M# w
                super.activateIn(context);
2 k7 i3 p. z- G+ C. ^' ~                schedule.activateIn(this);/ a  h5 ?( A  m- C# b" D7 K5 F
                return getActivity();& U; j! c! N8 w+ B5 W% z
        }
  E9 T' x! X% A* c3 D; r
- ?! ^+ c/ G/ |        public static void main(String[] args) {8 T) l7 G4 d% Z7 e; p
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 ^" m; J/ I' `9 d+ S( @) Y3 d. r1 e
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
5 L. Z5 V8 \6 o& P8 m, Q) d                swarms.buildObjects();
0 K% M0 ~+ k3 g% k% I% a6 C  a                swarms.buildActions();
; H- e) c- X, f- ?& V9 Q3 h                swarms.activateIn(null).run();7 v) W, y" w: [6 P( H
        }
$ G1 j5 a4 @- w. G! s! v+ c" S
2 I) u8 s7 C0 F6 g% F}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-19 23:53 , Processed in 0.016378 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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