设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11532|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
) t# ?* A1 P( |. }/ m) i- S% o
" _. M7 R& D5 ]+ L% y( n1 ?& z本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
; }# o, K6 h) L3 ?以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.! Q( e& b( `( `! Y
swarm.SignatureNotFoundException) V" B( z5 g, I) x) r0 B
        at swarm.Selector.<init>(Selector.java:76)
# E; O* p# Q0 x  e        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; a; d3 B2 \9 f0 d9 L        at ActionGroupDemo.main(ActionGroupDemo.java:67). }8 b$ \1 l' X6 A2 N$ P
0 a6 o; a: r! P5 I4 X

5 ]  \* x, j+ V( nimport swarm.objectbase.SwarmImpl;
2 _& e: {- b: F7 L& g' e* ximport swarm.objectbase.Swarm;0 u: c2 S* T7 i9 w. N) a
import swarm.activity.ScheduleImpl;
. g9 u! b8 V% q. J! r: ]6 F* G( @import swarm.activity.Activity;
1 b; V& s* L( z) Z4 @: [import swarm.activity.ActionGroupImpl;' B0 l4 f6 `+ f; U: \
import swarm.collections.ListImpl;' M6 m, Q, Y5 w7 Y/ n" d: H
import swarm.defobj.Zone;
' L' K+ u1 \: L3 |import swarm.Globals;
0 e5 A* K5 R+ p* }# e3 T% Bimport swarm.Selector;
  ~8 D* h' @7 R# ?$ Himport swarm.activity.ActionGroup; * ?8 H: _* V0 T- x- A
class Agent {- h, n. P% J3 v5 k* c6 ]. [) y
        char id;$ L' i) G! j7 m4 ]. _/ v
! v$ d8 T9 Z7 }  Q0 v, W
        Agent(char id) {/ _2 ^  U& a3 y, d6 h) K# x
                this.id = id;
. c7 {) S5 R9 a7 R/ |# ]        }
0 j! [: E' c! Y. l% r; c; q
8 I- |# P, z/ j" K4 K6 y& \+ z        public void agentStep() {
) X/ R4 G- W% t# G7 [                System.out.println(id + ":" + Globals.env.getCurrentTime());( E! m! t) P1 q  B. l
        }; {, G1 i9 x7 X4 _8 a9 {6 ]
}
6 Q* L8 W. ~; V) P: t9 U* c
/ X/ E" \) m7 I/ ?' G2 S/ c0 L6 Apublic class ActionGroupDemo extends SwarmImpl {: k( p1 ^4 ?$ a5 i* B$ }% Z9 B
        ScheduleImpl schedule;
! d: V7 \/ l' H: f2 t0 n; d! y        ActionGroupImpl actionGroup;% w5 ?# J6 t1 [( @
        ListImpl list;4 |4 _! _) a7 m6 h6 D2 [
        char Id = 'a';  P$ J- `: {3 U3 U

# h0 G6 l! y4 I4 R: }        ActionGroupDemo(Zone aZone) {
; Z/ h1 M# i2 _                super(aZone);
# @5 G  J* x. w0 M                list = new ListImpl(aZone);
5 l- N8 w& [" `1 ]; R                swarmSetp();7 B9 K1 g6 ~) w, Q+ t( _# e$ ]
                actionGroup = new ActionGroupImpl(aZone);3 I3 g+ N4 a+ O- m2 I; O
                schedule = new ScheduleImpl(aZone);
% B( M2 a- n; N# Z; u9 L# l                try {
6 e4 `; g/ S7 Z% U                        Selector agentSel = new Selector(Agent.class, "agentStep", false);$ |  L6 b: v7 d3 U/ c
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
2 p, _9 v: R% C/ ^: r* W) W                        
1 j, K2 u5 ^3 I: M3 a                        actionGroup.createActionForEach$message(list, agentSel);
3 E: ^4 N6 D+ e: J3 {7 S1 s0 Y                        actionGroup.createActionTo$message(this, swarmSel);; G* h2 a  X* v
                        schedule.at$createAction(0, actionGroup);
! Q9 z0 F& x; x+ H+ i                        schedule.at$createAction(1, actionGroup);9 d5 ?2 E' e! f/ W
                        schedule.at$createAction(2, actionGroup);
  J7 ^% M8 ]% \- J* o( b+ R7 U  C! a/ x  }6 O  `) K" V8 L4 f
                } catch (Exception e) {. ^8 R7 m- m3 S
                        e.printStackTrace(System.err);/ b( V+ E3 y* A- y, G8 W
                        //System.out.println(e);
- k2 O# Z  A! K; c3 s8 Q2 g                        System.exit(1);! M3 e- o+ O6 P6 I1 z
                }& |% X) X. v; @1 t( T$ }
; u7 u5 \# {! ?7 `/ o8 P5 k

2 I/ U: H. O- V& P- I) I        }, B5 }- a" M" R# }
6 K2 P! p( F8 K: |; {/ w  C7 m
        private void swarmSetp() {
: C) [9 F  }6 a' h; E                list.addLast(new Agent(Id));0 e. e7 j. R  j- ?
                Id++;' _* i& o+ g( ?; _! n* E; o
        }
' L. q1 |& L8 u8 `6 i! ]3 ]4 ]
* m5 M3 i) }4 a$ G! Z$ f        public Activity activateIn(Swarm context) {
) S: l3 X/ r; M3 @5 z9 J, b+ v                super.activateIn(context);- [7 w2 [0 O& ^- E# b' R2 I
                schedule.activateIn(this);8 S$ R- G. K7 S& B
                return getActivity();
  l+ k6 W6 J8 B  B        }% E' A& I- e4 u3 ]/ x

# _" ?- T, ^  f, N" D9 q5 p( _5 d        public static void main(String[] args) {3 d! {$ G1 L. R
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% H3 M1 X7 W* i* O4 v# x                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
7 Z" f* K6 w; I$ ~8 N% @. B                swarms.buildObjects();
% l) \& O% i; p" x' k0 q" |) Q                swarms.buildActions();8 h3 A+ {+ T) p7 q% ]. o
                swarms.activateIn(null).run();
! J4 ?8 N" ?1 X& Q        }
; |/ [! {( Q& Q/ {
: P% r# T( c# P- s3 A" o! M}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-15 03:43 , Processed in 0.021452 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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