设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8684|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ! ^5 I8 m9 @+ Y5 z- d+ t
+ z& O) M, G- k: L& o) f0 o2 E; `
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21+ X! v# Q9 i5 T) W+ G2 M
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ C- @  r% d6 v+ y
swarm.SignatureNotFoundException: o8 Q  H3 i5 {/ u; N0 y
        at swarm.Selector.<init>(Selector.java:76)
3 M/ f! m% \% W; {. \' x        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 G4 Y/ r% P4 N8 e: {        at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 a8 l7 L# G) n, r) ~1 B: x+ g) Q1 T$ H) R5 P
) M1 `! }8 p6 N5 k; }
import swarm.objectbase.SwarmImpl;1 b' Q0 N; z# d6 U  |( I) ?
import swarm.objectbase.Swarm;6 R! X+ |4 K- r
import swarm.activity.ScheduleImpl;
. m' T  `: ]$ e  r) [% M' Aimport swarm.activity.Activity;
& c* f" q8 t# }3 S. j) ^7 G$ U* _* d; cimport swarm.activity.ActionGroupImpl;# X/ A/ n: |- k0 P% p5 g5 J2 U! p
import swarm.collections.ListImpl;
( p* N$ r2 S0 {, c. ?import swarm.defobj.Zone; * I5 p# V6 U% n$ ^; n
import swarm.Globals;6 `3 S! F9 s; V% m4 P2 i
import swarm.Selector;
$ J) U) u4 n% U' aimport swarm.activity.ActionGroup; * }7 m) f8 t2 k: M3 e# n
class Agent {4 {; j; ?! I1 J* a
        char id;
6 L$ p) b+ P1 N- h/ r
! X" w8 L% [- o        Agent(char id) {& n) ?7 Q& G; m3 o3 t
                this.id = id;
7 P) S2 q7 I3 w$ W        }
( W9 E0 k5 s# g/ P: e  \2 m3 S$ u* v
        public void agentStep() {
( K6 B# Z& m5 Q; y                System.out.println(id + ":" + Globals.env.getCurrentTime());
1 m5 E  Y% y2 c! R  I, B        }" _/ A; f8 m& T( r6 l: D
}
! [1 ^' q# g) a$ c
' g/ E! K: \4 {7 P& C: npublic class ActionGroupDemo extends SwarmImpl {( \3 q6 I% C9 I/ J4 i# F% A
        ScheduleImpl schedule;9 X4 N8 _" f' O6 p; p) W2 U, A" j* T
        ActionGroupImpl actionGroup;
5 J% r! ~2 [" {        ListImpl list;
/ X1 _0 m% _/ C0 ?& O$ p, R        char Id = 'a';
. f2 `" R# j2 f  E$ p8 U# P  M! U2 n. @4 E1 ?5 w
        ActionGroupDemo(Zone aZone) {- F8 u7 N! f4 K. B" D: f+ {# R+ b% K. {. ~
                super(aZone);5 y: v1 F8 b2 }: D3 K0 y7 O1 Z$ v; [3 l
                list = new ListImpl(aZone);' {, O1 o1 j+ M7 N/ I; h
                swarmSetp();
7 O$ z( a! @3 X3 z% o( C- E                actionGroup = new ActionGroupImpl(aZone);& R; _. {5 e; v9 d# G5 P! W+ ^3 t' j
                schedule = new ScheduleImpl(aZone);3 f5 D4 @$ K4 ?4 ]7 ~- K' D
                try {2 t* c; Q' i" e% _2 b' s
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
: E. o0 f( }4 |+ g& L                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
# \2 k. |3 A% r# P                        
+ }+ |! B. I+ }$ r& v# W                        actionGroup.createActionForEach$message(list, agentSel);
6 ?' q1 l' E) M                        actionGroup.createActionTo$message(this, swarmSel);3 B; X, \3 I5 j$ v' ~7 T
                        schedule.at$createAction(0, actionGroup);. K  x& C( H) T
                        schedule.at$createAction(1, actionGroup);
" H0 d' z5 E& A) Q% Z& J                        schedule.at$createAction(2, actionGroup);
8 Y$ }4 v$ d$ c1 D) ^& I/ R( K
                } catch (Exception e) {5 W$ ~2 Q2 p0 T) ?  t
                        e.printStackTrace(System.err);' A) y: z- }9 S4 A/ z, l9 [
                        //System.out.println(e);& S8 B5 M1 c+ l' a2 a# i
                        System.exit(1);
5 v, F/ j7 }$ b! ?' v2 c                }
$ e& x8 v( Y/ E' G- g6 Q4 N) U8 s4 ~' X/ J' ~3 P

$ y7 w& [5 Y: e, N0 {        }
, ~$ ^8 J3 Y9 n9 t2 p+ m3 f4 F# J" Y- ~
        private void swarmSetp() {
/ R% R2 Q' r3 f7 S: G) f# O( n+ f                list.addLast(new Agent(Id));' v$ }2 J) x: H2 q
                Id++;% g; x8 K8 ?5 X6 H9 z7 T' G5 ~8 s
        }% y7 p: [8 L% I& X+ t# \. `

  `. V) L! [' c( @9 c, K# \        public Activity activateIn(Swarm context) {1 P2 K* r; z' g" M2 t3 U0 V. i
                super.activateIn(context);
! x1 Y% Y8 u. b' T  J) D6 |. i                schedule.activateIn(this);6 C  _2 M, P# ~5 S9 g3 a2 @
                return getActivity();' X& f' ?1 _0 |( B  g' d
        }. \. N; O$ d8 J

; ?" z* ]% Q8 `6 x2 S        public static void main(String[] args) {0 P) ], h- l% m8 ?  V8 p$ }7 F
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
. v0 b. [' J9 H) z5 H                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
2 M; h3 i2 r; [2 Q4 R# L  S& P                swarms.buildObjects();
$ `+ q! G1 p/ o2 @* C                swarms.buildActions();1 I$ k0 \1 i! B$ v4 i1 T- N
                swarms.activateIn(null).run();
& E9 Y; W( ]6 ?' ?        }
5 v. R: m4 P0 L3 x; v* O
! V. z4 y- Q) K}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-19 15:20 , Processed in 0.016749 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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