设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12139|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
- g9 g- W. R5 d0 P. @& ]- f" T$ t7 p; {5 N9 \
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; R; F# s/ R2 ]+ ?5 T
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.6 x' i) l9 F  C% s" D% G
swarm.SignatureNotFoundException+ l2 b9 q2 M, X4 f1 [3 R
        at swarm.Selector.<init>(Selector.java:76)- I  f3 V$ x5 i0 h6 L
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 `" [4 E) _" I% t& O- J! W( ?
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
) }2 g4 ^( ^/ @) W3 l6 u
. {$ ^* C' `% y4 T% ]0 E
& Y& z5 y8 ^; v8 o- u. g, mimport swarm.objectbase.SwarmImpl;  g1 Y2 R6 R' ]1 {; S
import swarm.objectbase.Swarm;
) A/ k1 \+ D( t+ L7 P* qimport swarm.activity.ScheduleImpl;: b4 N/ S2 S4 K- n
import swarm.activity.Activity;8 j7 S% B: ?* G
import swarm.activity.ActionGroupImpl;3 v# {4 r* Y3 P0 p5 J
import swarm.collections.ListImpl;
0 j4 I. B" P8 Uimport swarm.defobj.Zone;
  r( U) x" o* _import swarm.Globals;9 Y* z2 C- ?* X# d
import swarm.Selector;' S) M: B+ v- @+ r! D
import swarm.activity.ActionGroup; 4 \6 z5 W* F5 _" v6 Y
class Agent {
* Q/ c" d6 l3 j" i2 C        char id;3 [# D, ]  m; ^; |" T

0 `( ?+ m' r4 w  n5 E6 t6 f. A$ c4 N        Agent(char id) {, d6 E+ _/ x# K! A# p  w
                this.id = id;
1 @! ?! M) P: n$ @% k' `& u        }/ s; M" F- Y0 K! B5 H6 L
% \7 g/ A( H* m7 [) n. L0 ]9 z
        public void agentStep() {
4 J, T; p! p4 t% |* t                System.out.println(id + ":" + Globals.env.getCurrentTime());5 o( `$ D$ Y1 t# h
        }
9 i1 S( V) M8 ]}) I4 U4 ^, |9 d& v+ G- l

- T0 K0 k6 Y# k8 t8 T5 P  Jpublic class ActionGroupDemo extends SwarmImpl {3 k' v  H3 h; ]; y, E& y( ]; ?( D; T
        ScheduleImpl schedule;6 D- u/ G4 \: q; p- \; Y" Y( _
        ActionGroupImpl actionGroup;
9 g7 Q% A3 ]- z# P2 N2 ^# T        ListImpl list;; Z, a* J: P  f1 d; y1 y0 c# T/ w
        char Id = 'a';; g+ Y8 d" G/ J' ?4 v6 @% f

, `3 s8 p& \! _7 {0 x        ActionGroupDemo(Zone aZone) {
) o, V2 F& x* n6 S( e. E, h' Y                super(aZone);
% B$ l" d" n0 r                list = new ListImpl(aZone);; S$ }+ y! N# s+ Q# y9 \. C
                swarmSetp();  r2 t& \# q, n+ G/ ?
                actionGroup = new ActionGroupImpl(aZone);( `* U4 r9 Z) V$ E  Z1 h
                schedule = new ScheduleImpl(aZone);
% s: j# ^2 O1 L& r/ q8 F                try {7 T" O+ Y( A$ E" I9 L- N; @
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);# F0 W8 H/ L" M: R
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# a! \4 y. _; D5 X6 j* k' y
                        
& y7 x, C" d* I1 \  i6 z2 G4 A. c  r                        actionGroup.createActionForEach$message(list, agentSel);
7 \+ c7 Z4 F6 p# k  j+ J                        actionGroup.createActionTo$message(this, swarmSel);
) k- E0 v) d. V# y                        schedule.at$createAction(0, actionGroup);* E  S8 m) _- H
                        schedule.at$createAction(1, actionGroup);0 y2 u& D  Z8 R, F  r! Q7 n8 h
                        schedule.at$createAction(2, actionGroup);5 q1 G9 W% h: [9 n4 [
9 c% \, I/ `8 }% |+ x. d. O! R
                } catch (Exception e) {
+ w1 _, W. P6 M8 U# N" P! ~                        e.printStackTrace(System.err);/ B8 B9 J1 p. I; M. S+ N5 c  a
                        //System.out.println(e);: C' j. J1 u6 \2 x# n/ k
                        System.exit(1);) v: ~  s9 y! [3 g
                }
' Z5 I! z4 T( o! G4 i1 ~9 Y' F' W7 d0 ?

" t3 k. M' s' ]- c* ?4 O+ @        }
: `- {* k1 b1 J+ ~5 ?* L" |8 U/ n+ A
        private void swarmSetp() {
; c8 a: R1 J( R8 E4 [: G                list.addLast(new Agent(Id));
- g. p- h. |1 m                Id++;  c) T9 K  c0 V8 x
        }+ f% _, }* v: P* v
" a& G- _4 Z8 w8 H
        public Activity activateIn(Swarm context) {
6 z/ J4 A4 t) D% J% K                super.activateIn(context);, R0 R& ?0 w; m% ?: g# Z$ p- y
                schedule.activateIn(this);6 ^9 B7 U: c, n
                return getActivity();/ k3 |2 D. m% Y, d3 f1 N+ j( T$ F
        }
; m4 G1 i6 y8 \. g
3 v. [/ v: t5 l' g        public static void main(String[] args) {
: w/ \/ i, t# [4 D% i                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);' z# f- G6 `( M# v8 c& P, }
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 \& Y+ |$ Y, _& Y
                swarms.buildObjects();. W$ }5 H+ Z6 b( k7 l7 e! Z
                swarms.buildActions();% u# k  I( Z( k
                swarms.activateIn(null).run();* g6 s5 }- q; Y
        }1 B% |) A% D- H

0 W: }8 j2 |( v9 @+ F  q}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-31 11:38 , Processed in 0.019124 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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