设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6150|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 9 L" x+ v  C: P7 [( }( [, N) n7 l

( }6 N, l& T  |9 ^$ w本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
, ^( ~: i$ }! D3 f) u0 U以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.1 N* h+ p& O) L% _1 @
swarm.SignatureNotFoundException
3 E6 n2 z% |; M% g# m( C) t        at swarm.Selector.<init>(Selector.java:76)
: x8 w$ ]- \+ v  K- v+ d        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)) O* U; `" D; _2 p
        at ActionGroupDemo.main(ActionGroupDemo.java:67)8 V/ \; _& \# \6 Z! x5 |

( r; O) X6 E( p8 @0 H8 C* ]0 Y. P' t8 K4 O/ r
import swarm.objectbase.SwarmImpl;( ~2 E+ O" H7 q! y. b8 i2 X
import swarm.objectbase.Swarm;$ F& b# g' r- w8 S0 [7 H1 r: ?. O
import swarm.activity.ScheduleImpl;% C9 f, h& ]& _, _
import swarm.activity.Activity;
" ^( p$ I; |: c7 C6 uimport swarm.activity.ActionGroupImpl;
; ~+ t7 O, i7 W* o+ W  J* p. limport swarm.collections.ListImpl;8 `( c3 ?7 f& b& y& A
import swarm.defobj.Zone; ' @9 f; ]+ f; J* ^
import swarm.Globals;+ s; y& J7 v% a" O1 t; ^; O- S
import swarm.Selector;
. [. i( u+ c. C4 V. Timport swarm.activity.ActionGroup;
. W8 q. D$ X) @! }class Agent {
& _: w5 e. A1 |7 g/ \" k. h  |0 f        char id;3 D: E+ ]1 X+ A7 u, p/ \5 p3 b
6 E/ T3 ?3 M5 A! d/ T6 q
        Agent(char id) {
- V/ ]+ @8 a& u% m0 E2 v$ z                this.id = id;6 C& H8 u# }& R6 o5 I1 z
        }
/ j# w; K2 }0 K! O0 t8 |* m6 j2 I
+ q! M) ?. ^0 B0 g, `5 D: q+ r5 }        public void agentStep() {
8 J) C; W  D9 H3 W9 I0 L' \+ [                System.out.println(id + ":" + Globals.env.getCurrentTime());" |6 `1 J! P$ c% x9 E4 n# z
        }
- Y% u' i- t4 m9 X1 g7 Y}2 y. k7 U: @- q# r

' z4 ~1 R4 u! G7 ?! N4 Epublic class ActionGroupDemo extends SwarmImpl {. [/ ^9 p3 o: g1 z1 `
        ScheduleImpl schedule;; l, A  I' m, G* h! M* t4 O
        ActionGroupImpl actionGroup;; m) F- W! X) K
        ListImpl list;
0 d7 s- g9 Q% e8 C4 h) k4 C6 V        char Id = 'a';, A8 G* q! Q6 E( ^- l) w0 Z

9 v$ j- a4 ?, G2 Q0 e$ k        ActionGroupDemo(Zone aZone) {/ M2 g, y# s+ ], D% N' {
                super(aZone);
) ]% ~* G0 A% B6 v! M& j# I                list = new ListImpl(aZone);
0 G& F4 @& y8 [% k: F                swarmSetp();
3 ^& W5 Q  J0 Q4 x2 V( t                actionGroup = new ActionGroupImpl(aZone);1 R# D; x: }; B% @( k; i9 Q
                schedule = new ScheduleImpl(aZone);: t' m4 S  }8 r, p8 ^
                try {
. y) K& k$ b: h! u2 E9 Z0 Q% k% G                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
: O/ z9 Q3 y  S  F3 N  C/ s                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' a% p8 g" H7 @: h! x
                        2 c* L6 ~: x0 ^1 Y
                        actionGroup.createActionForEach$message(list, agentSel);$ |1 y; V7 P9 L6 s8 M% s+ U
                        actionGroup.createActionTo$message(this, swarmSel);, P, B1 ]/ H/ V' A# v
                        schedule.at$createAction(0, actionGroup);: }, a& }/ `. ~& K4 [. ]
                        schedule.at$createAction(1, actionGroup);7 }+ {0 ^8 U' c  ^
                        schedule.at$createAction(2, actionGroup);
2 f+ L4 c3 j; M" m. a  n% P% D% s4 U) J: Z: i2 t
                } catch (Exception e) {( y- c' |" y; `, v, g6 L8 z
                        e.printStackTrace(System.err);% B  Z$ P7 j) x3 V3 H
                        //System.out.println(e);
$ K4 L% A" R/ U                        System.exit(1);& g+ O3 D- o3 |% c
                }
! S/ G7 u( p8 {0 o: B1 p7 U) H9 r8 K! [: G/ O: m
& o# _, ~+ `% |2 q1 K( Z& D- p
        }/ h  F; D3 D, N! M& i- {' J& h6 r2 V

2 R: Q, {0 R$ f, s" a' L- ?+ _        private void swarmSetp() {) Z. e) A9 q; w
                list.addLast(new Agent(Id));
* Y. K: {7 N# P: R/ i' H3 n                Id++;
5 G7 ~2 r: l2 E6 J. ^9 ~; V        }/ s# U2 x2 c& M9 w" }. ~5 a: \
: p* h4 c, c8 p$ g: H& p* M, Y% W
        public Activity activateIn(Swarm context) {: O+ ~2 w# d, S, j
                super.activateIn(context);( D4 \+ j& \! u8 s; g7 m' ~
                schedule.activateIn(this);
1 B' A5 U( M4 w6 p' M+ H2 Z5 k( ]                return getActivity();( I% R4 |6 }2 q7 z, I# f' }
        }, Q+ q! R  |# Z+ I$ E# y# R2 Y
. a+ z# ^* w$ _7 ?" Z$ r# u
        public static void main(String[] args) {
( c- j% S1 L4 Z- l+ Z                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
# q+ |5 [. u! E2 V9 L' Y" M; Z7 W                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);1 F* T5 q, t) H9 u
                swarms.buildObjects();1 ?! H& Z3 t6 h. H
                swarms.buildActions();" Y$ z8 R- [; j- R8 ^! z
                swarms.activateIn(null).run();! L. R0 ~2 N) T& e/ Q2 X
        }
8 O, J- T+ ~3 H& B: w4 |3 _2 `1 V
' N1 b1 @+ ]! m! r+ Q3 \3 \/ D" `* Z}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-19 14:13 , Processed in 0.014185 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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