设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13575|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ; j- m% B% V+ f# \* q/ a
: I& I9 Y) r" h7 t7 n# T1 }
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' V- w2 F( i3 Q" C8 ]( ~  `以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
3 x, ?3 ?& k. q; Pswarm.SignatureNotFoundException
. R* u9 I6 ?% g3 [- h9 @2 R        at swarm.Selector.<init>(Selector.java:76)6 ]$ x5 w1 k9 c" _3 z- \8 L# V) ~0 E
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
9 X" R0 e6 f1 `) k  `        at ActionGroupDemo.main(ActionGroupDemo.java:67)/ ~1 J! e7 A/ o  E
8 T( K! l0 s6 E6 S4 t- F& r

; D& a6 R( E/ w' ximport swarm.objectbase.SwarmImpl;
" i" y/ D1 `2 rimport swarm.objectbase.Swarm;
, V0 Z* t2 x8 ]import swarm.activity.ScheduleImpl;- x! l# P1 C# Z- c* V, X
import swarm.activity.Activity;
& @. a% Z  J! K. Limport swarm.activity.ActionGroupImpl;
7 M6 V+ z# b' B6 ~import swarm.collections.ListImpl;3 @, g( J+ f1 S0 [0 t1 G
import swarm.defobj.Zone; 0 r/ W, s& v# R
import swarm.Globals;
1 c5 `4 _. i, }% C, v" \7 rimport swarm.Selector;) u7 x5 c; B% m7 O, b3 y( V# M$ @# y1 }
import swarm.activity.ActionGroup; # [& h( M; E. y8 G9 H
class Agent {/ `# a, R. N) F/ Y  d3 Q/ w! o
        char id;1 d4 t( x* m, f5 ~* P! M
% p. m& l. Q/ ^3 n( k
        Agent(char id) {2 v. J) D, j- G+ |1 d0 O! {
                this.id = id;" Q  ^, ]+ @% m( N% E5 ~7 q3 {) N) t
        }9 V+ g, {1 G! W, _9 J
% L- I/ p8 p+ E) K
        public void agentStep() {  S( W8 |8 S( K* g& \8 C( m5 ~  U, O
                System.out.println(id + ":" + Globals.env.getCurrentTime());
. ?  l$ u* S1 U" j        }
2 z$ b; k& l; w& L6 _, h}
/ z# t6 B. d, z/ E* a2 t4 B$ {" _, T3 |( v) e. z
public class ActionGroupDemo extends SwarmImpl {( t5 L2 H5 r* w+ y: C% [9 }7 g7 p
        ScheduleImpl schedule;
" K( H' f' r* W        ActionGroupImpl actionGroup;
7 e. S: y* ]( y% h/ }% A8 r        ListImpl list;) _2 m" d5 H& @  G; \
        char Id = 'a';
5 B4 [- W6 q: p- g  Z5 d" J$ N" A2 }; u0 O: _6 k, b
        ActionGroupDemo(Zone aZone) {: t) [- ?* `4 p0 X# I0 i0 M2 A
                super(aZone);
6 b( `5 H2 t8 R% z, ?" ]: a& J                list = new ListImpl(aZone);3 o8 s; k4 b. i) a
                swarmSetp();4 _* D, x. z. D9 o
                actionGroup = new ActionGroupImpl(aZone);
* m; }1 c6 g' b9 s, x5 L                schedule = new ScheduleImpl(aZone);
2 e- a4 `0 K- d. @                try {; o3 ^( I+ o! G0 K
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
; h5 j0 E, Q/ H& ^                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行* W7 ^4 s# [7 |
                        
/ B) Q5 N, a) i5 p/ V                        actionGroup.createActionForEach$message(list, agentSel);
& _  G, t3 I! ^! x4 m" ?                        actionGroup.createActionTo$message(this, swarmSel);# q# E: G; s7 @% g
                        schedule.at$createAction(0, actionGroup);
9 y1 w9 n5 c1 q  i/ n# {0 G                        schedule.at$createAction(1, actionGroup);# x/ t# j) Q/ V3 l, c0 F$ I
                        schedule.at$createAction(2, actionGroup);
/ N6 J1 Z  A4 {4 G' V
; n2 m7 i5 W$ L1 G+ O7 P2 v; u                } catch (Exception e) {; k: u2 o& i! C8 O
                        e.printStackTrace(System.err);. P* q0 n* ~# _* P& H+ N. D
                        //System.out.println(e);
2 s6 U! v# g- o: x                        System.exit(1);4 |3 w5 S2 f7 K3 v8 r% J
                }! K' H5 y) ?7 J3 ?: U4 D

) a$ \! K2 ?$ K- k0 H# k/ V& E- m
        }3 I9 Z  k& ?0 k- g0 R, t

& y3 M/ w9 O3 E        private void swarmSetp() {3 \$ I. P5 b( ^
                list.addLast(new Agent(Id));
0 ^, W3 e8 [: o* V                Id++;
9 O$ ?3 ~! g# F5 a  h2 R        }9 F* B5 e8 r3 h# [

1 k+ D7 x) M; `  I8 G        public Activity activateIn(Swarm context) {
- F  S  S/ b6 }- c0 g3 t. \: D. y                super.activateIn(context);
$ D$ m" o4 J$ m+ ^: {+ F: @& |                schedule.activateIn(this);
% C" {5 e) c. C% [7 M! O. p$ m, d2 `                return getActivity();
* ]" l3 k6 Q, z% e        }% p" W! J  M+ r9 J2 J

  e- g8 @2 e3 G- a$ K/ V. {+ b        public static void main(String[] args) {
+ y# {7 o5 ]/ A6 `                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 V4 Y+ u! V, x2 o, i% W3 @
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, T$ S# ?- \8 c/ W/ m                swarms.buildObjects();
$ |$ S) X. V+ E$ p) h                swarms.buildActions();% ~/ u! i' |+ k1 E; _* r% M+ l  L
                swarms.activateIn(null).run();
2 p) X, A( u: L5 `+ n) O        }, ^$ E4 S# L& C; r. F$ @
3 J7 X6 h" p& A2 ^
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-11 17:18 , Processed in 0.018920 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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