设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7089|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 4 S1 f6 c  Y5 X0 g# G$ S
1 u& C; j; s% z/ Y" o" t9 J  ?2 N
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& H3 m' z2 g3 i% `$ W, ^1 \! f) K" @
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
' c# L" ~! o# v7 l) Mswarm.SignatureNotFoundException
5 R+ R* x3 J  Q$ G8 a5 b        at swarm.Selector.<init>(Selector.java:76)
- v& i# o' S4 o: |5 w( E: N- ^        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
/ p. Z: c9 V& O' ]- v8 t( Y% b        at ActionGroupDemo.main(ActionGroupDemo.java:67)
4 [: k2 }  m3 |/ U# ^
6 C( ^' T8 ~) {7 S1 z& e
' X! W, X& J( t0 a$ V7 c/ }7 F* Eimport swarm.objectbase.SwarmImpl;1 j% E; O, a# q8 p3 j
import swarm.objectbase.Swarm;5 j( g/ F% J, t$ v" t
import swarm.activity.ScheduleImpl;4 {0 }' L% X4 Z" c
import swarm.activity.Activity;
! p4 B5 Q# d8 H# Vimport swarm.activity.ActionGroupImpl;
) B( X( X" @- ]5 t0 g* }7 ~import swarm.collections.ListImpl;9 L, N- F: }: ~! Y" w5 \
import swarm.defobj.Zone; $ G5 l8 x( n  c/ }
import swarm.Globals;
( ]$ a+ X& E. Iimport swarm.Selector;
7 Z+ q- c/ e6 z! \% K4 G# p1 I6 Kimport swarm.activity.ActionGroup; 0 ~* J1 ~) w3 q
class Agent {/ ^3 y* W% c6 g) L) f* E3 e
        char id;9 n3 T: \5 v  x+ M( n- O1 N+ d$ \
4 q/ O5 f7 m' w, A" `9 O+ X! @3 a( V
        Agent(char id) {/ e/ I0 X8 d/ T$ e. c; S/ D2 R" y5 Y' H
                this.id = id;
. r& `. C) C& h) ?4 Q6 `: G        }
4 d+ Z3 [1 K9 d9 H/ K, I& F6 }" K1 c: j5 ?! D+ B
        public void agentStep() {
0 m; I; Y( ^# \$ T: q; h                System.out.println(id + ":" + Globals.env.getCurrentTime());
1 Z/ [2 p- A- E5 G! J        }
0 D/ l* [. ~. [2 x4 K" l}2 e8 e" |0 @- u, D: `) v1 e
) }% u9 b0 [2 E
public class ActionGroupDemo extends SwarmImpl {
- v/ _0 L! ?$ c5 O, R' k. L        ScheduleImpl schedule;
: f! L1 L- C. ^5 D4 F8 ]4 L. G# S        ActionGroupImpl actionGroup;+ H0 |# z8 Y' y# p" N  `# {
        ListImpl list;
/ X0 d1 B) z1 z        char Id = 'a';
+ O# e9 d% k3 z. v! \8 T: f) H
0 i7 p  j8 {0 P3 [7 C4 b        ActionGroupDemo(Zone aZone) {
2 J) f1 C) m# ~$ J, P% L0 Z                super(aZone);$ n) w& z; S+ z2 F* x: m# j! M
                list = new ListImpl(aZone);0 z( \( Y7 D7 s. q
                swarmSetp();0 F0 L% Q6 l( S" F
                actionGroup = new ActionGroupImpl(aZone);6 p. F9 u/ i: V# k% D# ?# N4 r: Q
                schedule = new ScheduleImpl(aZone);6 \6 L7 m1 y# E: o
                try {" [- _2 S! D( t! z- `* U. z
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);- v4 W  ^3 b' H1 M
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 D/ p3 H3 Q1 ]7 }( M7 z                        
8 O" h' V4 z* A' H. s7 @; A" D; G: q                        actionGroup.createActionForEach$message(list, agentSel);; T3 s8 J) D" K! I+ }
                        actionGroup.createActionTo$message(this, swarmSel);, C+ H/ B9 w& S, G: c% \
                        schedule.at$createAction(0, actionGroup);
1 S. @2 d6 d, r1 h, q: L* G                        schedule.at$createAction(1, actionGroup);; K1 f, L6 M3 D4 p) v7 K
                        schedule.at$createAction(2, actionGroup);* w2 s# O# h: ]. J& ^. `% g
0 v1 n( `) |5 ]* [8 P; I
                } catch (Exception e) {2 N$ t$ v9 a+ e) D: A3 _
                        e.printStackTrace(System.err);( h# F5 C# ^; I! v/ l3 l! b  a+ P% q
                        //System.out.println(e);* e: ?# Y" ?$ B) [3 e  B
                        System.exit(1);
% \5 r& F4 l+ Z% _                }  g( ]5 ?) n7 }3 @

9 P) v+ E0 k( _& s1 I5 v, o6 P
: u4 S0 e8 b& c) }        }# o* ^2 \' s3 A. r; p

* O% i  ^% m/ G; l, y. V        private void swarmSetp() {* M# c, e0 v( j, }- d
                list.addLast(new Agent(Id));  Z" p9 O4 }% }4 u+ \% g: t. U# \
                Id++;! m  Z9 X) O5 B8 V% j, O2 m
        }7 |* i# _: f7 @' U" v( D; X
1 U; S' b7 y- A9 K
        public Activity activateIn(Swarm context) {
/ t% j8 ~7 P" C6 P/ y, t                super.activateIn(context);$ F5 z) d8 c  T2 |+ T+ H- \) S
                schedule.activateIn(this);1 O+ A9 F- Y: Q0 A  Q0 ^9 ^2 f
                return getActivity();
9 [) O# g1 |" X5 L) h' G' Y% A- D        }' e/ u& V, g% m* d- c
2 Z% Q* W0 b+ x; ^! I/ \7 c
        public static void main(String[] args) {
% N1 h8 D& I' d                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
/ C2 t6 c% `( X5 I                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ K- P( A6 e. Q) c                swarms.buildObjects();: c8 O& J6 ], v% X% N$ \
                swarms.buildActions();
- `: S8 X- r. W8 {3 O( Z0 S                swarms.activateIn(null).run();& H9 }/ @. u) h( x! @: Q
        }
. K, C$ B/ m4 F2 |( T
0 ~" R2 }8 ^  M' Q9 I/ V* f}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-19 00:49 , Processed in 0.014537 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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