设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10500|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 6 P* @) k6 A& C  E( W5 Z) ~# R) G

" y: N- y5 Q4 m7 d$ L1 i8 z本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
7 ~6 t1 g' T) z以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% J7 s0 G& h* R
swarm.SignatureNotFoundException
2 w2 j  H5 [" i        at swarm.Selector.<init>(Selector.java:76)
6 o* f* _7 z/ @' S        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)/ K' r. Q4 H& _
        at ActionGroupDemo.main(ActionGroupDemo.java:67): Z" S1 |$ V) H

! u+ E1 f; c! i! V. l, y; t
" d2 l& L; I0 v3 d$ b; U- wimport swarm.objectbase.SwarmImpl;& M" [0 v/ Q( A" i; c+ S
import swarm.objectbase.Swarm;
  T0 [2 _, k% Oimport swarm.activity.ScheduleImpl;5 w' e. q) r2 O- K7 l
import swarm.activity.Activity;
% n0 j, M4 g. q$ ximport swarm.activity.ActionGroupImpl;
0 g- t% p& f& k" k" d; eimport swarm.collections.ListImpl;) o% C# Y. T( s- n, d' H, c" k
import swarm.defobj.Zone; & o, `- z; A" ]1 X
import swarm.Globals;
2 c& x" H& R! f* H4 M4 c+ C0 V, \9 _import swarm.Selector;) K2 _1 c; G( q, E$ j8 o
import swarm.activity.ActionGroup;
2 f9 k9 n; j0 y( l( {class Agent {# m* b2 S- k! M2 N1 ^- A2 K6 ]) M9 m1 D
        char id;* h1 U4 Q$ J0 `

. h0 I4 E) x7 q/ g! i        Agent(char id) {
3 l5 M- d0 N6 D                this.id = id;
4 Z1 ~( z  j5 s. `        }3 s) ]6 Z+ a6 _* s+ `+ d

5 c  X. J$ t) |        public void agentStep() {
2 _; N# y  G7 v                System.out.println(id + ":" + Globals.env.getCurrentTime());1 }0 k# G4 [5 ~5 \" l9 R& H
        }* n; W1 W0 @' q
}1 o8 v+ @% g% w+ E' x) r  b
5 j! B0 m' g4 {( l0 J/ [  e" A
public class ActionGroupDemo extends SwarmImpl {
' k3 `) Z: V) |7 m9 a        ScheduleImpl schedule;
4 ~6 k$ ^/ m& j4 d" r        ActionGroupImpl actionGroup;& K4 B  j* N9 p& [5 J' h7 S9 a
        ListImpl list;9 {6 t( Q. [7 `3 e
        char Id = 'a';
' \8 S, J5 x9 t* s# v2 A, _+ G# P+ q, N# N& I) L/ E* m8 H+ G! Z' R0 b
        ActionGroupDemo(Zone aZone) {6 ?. C( o, z& \' M. m9 _" I
                super(aZone);
, ]; x* X4 W/ l; Z1 ]5 Z5 r# K                list = new ListImpl(aZone);
1 x0 k- w$ U! m) \& s! n                swarmSetp();
- T. e, U5 V6 j0 ^$ }                actionGroup = new ActionGroupImpl(aZone);# H) o, p  p/ Y& T. U
                schedule = new ScheduleImpl(aZone);
0 P. b$ B( y8 ]                try {6 f, n4 |+ O) n" l
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
, y/ ^/ I7 G& V( e& i                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
4 W) a8 @# |# Q2 h) @                        2 x% M6 q* e1 F4 F/ Q
                        actionGroup.createActionForEach$message(list, agentSel);6 Q! E0 l6 E0 D) C
                        actionGroup.createActionTo$message(this, swarmSel);- e, {8 \  {' j
                        schedule.at$createAction(0, actionGroup);8 s& d$ `+ X# r0 O' X4 W4 ]
                        schedule.at$createAction(1, actionGroup);5 t2 G. I$ G+ M, s  _9 O! B7 x: f
                        schedule.at$createAction(2, actionGroup);
8 M5 ~7 G/ e" r6 M& {+ L9 j+ w; E& d8 e" _* F
                } catch (Exception e) {: b5 g1 U; `/ P5 y' ^
                        e.printStackTrace(System.err);4 ]  q0 a0 q+ N! s; J& Y2 r  x
                        //System.out.println(e);& ^" c& F8 ]2 d
                        System.exit(1);
# m0 J" I9 T& H                }
* J" E1 M' O( `- ]$ f5 F
0 H5 r5 j: J6 ^( W( ]8 _
2 p9 q6 w/ h, D* q8 O8 k3 W        }
" P6 u/ }8 X/ l4 S
* [6 g% i3 Q& _" n        private void swarmSetp() {9 o3 o9 z. W  Y( r7 ~
                list.addLast(new Agent(Id));
* E1 B; u& V0 W% J                Id++;
1 T4 J0 M+ n  l        }
; K$ ^+ t) y# J( `8 N9 i8 h) P. F( k  l; U; q
        public Activity activateIn(Swarm context) {
1 t, O+ v% |. @3 {! H                super.activateIn(context);& S* v& r' q  j' J( ^) j
                schedule.activateIn(this);
) e5 S0 W1 p. T" R+ b                return getActivity();' |! x: v1 l* K4 v3 \
        }
& }+ `! ?7 K. {3 ?6 y" S8 [0 l+ Z: r1 q+ G/ D
        public static void main(String[] args) {
# ?' z, U1 O$ ^) r/ X; X5 R                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);- C9 k$ o! Y4 J, o
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 [: W/ o4 ]. \1 b) X  o
                swarms.buildObjects();1 x- ~1 p$ ]0 t+ p2 c: v# w
                swarms.buildActions();
5 O0 i4 {/ i/ e7 p                swarms.activateIn(null).run();- c% l/ m* f* c; X
        }- a& S" n9 I/ d) m5 m  w
# n9 p) w9 i4 r3 o; |5 ^" j! L
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-15 22:39 , Processed in 0.013031 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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