设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9768|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 W6 i3 L" _. V* T& z) E
6 V7 ?# |/ Z6 d' n% ~本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
7 I2 O3 h) B9 a4 s; R/ q9 I! Y以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
; M1 ^3 v5 z, A) ^* x7 ~swarm.SignatureNotFoundException
# ~8 T) C$ I+ a        at swarm.Selector.<init>(Selector.java:76): W. d" C6 M  u3 ?3 I  x/ u
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)" G& z7 J2 ~' W1 X
        at ActionGroupDemo.main(ActionGroupDemo.java:67)) _  t/ R: n! E7 ~  J. [% G
  N3 t: e4 B7 R. r* e

+ v" }$ d' T+ c, @( V- ^6 Yimport swarm.objectbase.SwarmImpl;" J" X3 |; T7 b6 E2 _' ~! ]
import swarm.objectbase.Swarm;
' N2 {4 t3 K' m6 h2 \import swarm.activity.ScheduleImpl;
% f+ O- `/ A& k+ g1 r- _import swarm.activity.Activity;( w6 Z, x$ z. U: W' Y
import swarm.activity.ActionGroupImpl;. q( s; E1 @; j8 w1 N
import swarm.collections.ListImpl;
# Z8 d; Q' V( Y( S6 T& [import swarm.defobj.Zone; ; s9 P- N" c! H- j6 a
import swarm.Globals;
+ t8 G; Q- U$ f; i1 W; @) ^import swarm.Selector;2 m" x8 K8 M4 X; y# B
import swarm.activity.ActionGroup;
# m& D5 X0 i# z& L  S" e; Rclass Agent {
+ l" S. s+ ]* l" M, O        char id;
' X/ X, |% _8 K' v, u& k7 E$ @9 x
* y+ ^- c6 Y9 T- r; _' T        Agent(char id) {$ K. v* ]8 x, M  G
                this.id = id;
4 F% \0 n) a$ @        }. e9 ]% i2 U# ~1 p& E* ]
& G/ P1 s# r6 H3 e/ T
        public void agentStep() {2 l. h3 x1 H* k( \, ]* C* H7 K
                System.out.println(id + ":" + Globals.env.getCurrentTime());
/ K1 a2 s; U$ W5 }0 p" c& t( ?        }
' R8 E" y6 }4 g9 q}8 E' W# f" P' y6 u+ S. t# F

2 u1 K$ S, G, [) vpublic class ActionGroupDemo extends SwarmImpl {$ e6 F3 v6 E, o* |
        ScheduleImpl schedule;5 V0 S9 Q0 F' u. P2 h- Q
        ActionGroupImpl actionGroup;
5 L& `; J' u4 N        ListImpl list;
, W) \! H$ T/ }        char Id = 'a';
( \* C' {, F/ d( H: c
$ Q# n. q1 h0 E! G        ActionGroupDemo(Zone aZone) {
2 U9 w! G# }7 Q+ a                super(aZone);( Q5 t: J2 [: ~' W* v* d' @7 v' N
                list = new ListImpl(aZone);& g6 l) A$ V% N& m+ u1 f! R: Q
                swarmSetp();2 e2 `/ q# ]" o
                actionGroup = new ActionGroupImpl(aZone);
$ D# r6 o4 b# N& S; s                schedule = new ScheduleImpl(aZone);$ ?% E- ?2 w% `! b
                try {3 C, `$ Q  r& l1 K& _# s4 e
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);& w6 ^+ n! [' \: A. g9 L
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行2 T) ~; B% N+ ?2 d
                        
3 q+ U0 b5 x4 Y: z) B                        actionGroup.createActionForEach$message(list, agentSel);
8 g, k3 e: D8 V1 ^# N2 |& l% U8 `1 r/ z                        actionGroup.createActionTo$message(this, swarmSel);
3 O9 |, Y  {2 A8 z  a2 t                        schedule.at$createAction(0, actionGroup);8 S/ m) v, m* P% u/ d5 A/ H
                        schedule.at$createAction(1, actionGroup);
. z3 y9 S2 H! k! Y; l% C                        schedule.at$createAction(2, actionGroup);7 p. i' X! L; E
5 ~3 b  i/ P6 W7 s* k" t
                } catch (Exception e) {
0 o& `# A. X& \1 y- i                        e.printStackTrace(System.err);
, p$ m2 b% }9 X5 f  D$ X                        //System.out.println(e);# r7 d' {/ i) v) S
                        System.exit(1);! k. ]. R: t& {* k4 B- J$ t
                }
8 W# a* T5 }2 a; P
8 ]+ _4 G& Y: A, {# K0 Y7 G) r& P( g& a  Y1 Q) P1 C: d! t! N3 h6 S, H
        }5 D8 F8 z4 g" V
9 n+ J" X% O' C4 ^5 W
        private void swarmSetp() {
$ r( M" _- ]5 z  l3 s                list.addLast(new Agent(Id));$ X1 {) \3 a: c
                Id++;
5 [, L! a8 t- j2 V- R# r! O        }& s( |; e5 t: e$ _+ E: {" A

; P4 }& o& k, ?        public Activity activateIn(Swarm context) {
  ~2 }* M9 @* T; z* K; a                super.activateIn(context);
7 n1 h) L$ y+ B                schedule.activateIn(this);  w  M1 R+ }1 J, A. v& ^" C* L
                return getActivity();: K- L7 M& N8 l& H4 C/ H' q
        }
9 b6 P# S  L/ Q' a8 T4 R9 V1 [: M( `4 Q
        public static void main(String[] args) {
. R) ~1 [8 v/ V3 G! A6 e1 h                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
3 v: C6 u# L4 A0 S. b9 l1 d                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' t1 L# r+ {5 t& y+ j                swarms.buildObjects();
+ _2 U6 n( K, L% z& H, o. ^                swarms.buildActions();* t% \. \1 \+ R6 {1 R
                swarms.activateIn(null).run();
# t/ G6 s" X2 V2 i* G        }2 K4 E+ q1 v3 v1 [# o$ h

9 d* w, {2 }' L! G$ N6 d}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-22 08:54 , Processed in 0.017278 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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