设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11053|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 {9 M0 g$ L+ ~, T8 F, ~' U$ s; W1 m3 k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
& W) `+ d: q& F( V8 A. q' }以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ D; R' C0 Q2 j) v3 c! U
swarm.SignatureNotFoundException; ~( c3 x* j. b! `6 {  y- @0 X0 Q" l
        at swarm.Selector.<init>(Selector.java:76)  ^5 Z- U4 L- x2 Q, w2 ?
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 t6 ?  ~* {, k9 Y& w- g        at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 i# W( X2 @5 ]! e4 @! s1 k$ {" M, h/ c

, U# n  E. `3 D# I3 zimport swarm.objectbase.SwarmImpl;+ c/ Z& @5 P8 ^
import swarm.objectbase.Swarm;
% M2 Y* k  |3 ^9 }9 C9 |2 y" Timport swarm.activity.ScheduleImpl;8 P$ Z# O8 t* I3 E5 l
import swarm.activity.Activity;; t9 ~6 ~" c) M* P5 E, G
import swarm.activity.ActionGroupImpl;/ v' D7 I% \, b& b% }
import swarm.collections.ListImpl;4 t$ z8 f, d+ }5 q
import swarm.defobj.Zone; ; c7 H& h+ Z7 m  ?& |
import swarm.Globals;) P/ y2 G  c: ^6 ?9 b7 l) g
import swarm.Selector;: E8 F6 {2 ]: s7 G, q  H$ ?9 ^
import swarm.activity.ActionGroup; , V# J6 k* y0 N4 I4 z" I5 t* R
class Agent {
1 E+ v6 ~% p0 n; S# {7 `        char id;
( k3 o+ e% u( ^  e* N! P. S* i  O. i  d7 q8 q; N9 T4 b
        Agent(char id) {
0 m3 k! ~* t9 h+ K' K                this.id = id;
5 z7 ~8 l, ^$ H2 J( ]0 G        }
) X6 `& H* f+ L0 t9 J- z; d8 b- K6 k9 J% C. Y
        public void agentStep() {- \. H+ ~8 Q! h9 X/ A& m1 P  E4 k
                System.out.println(id + ":" + Globals.env.getCurrentTime());" i' i) d0 W! n  l/ [5 B
        }4 l$ R; k/ L* G' b9 t: W# B6 k
}
8 r9 h2 B5 L3 o
% J8 H3 ~0 R. W$ \* c! lpublic class ActionGroupDemo extends SwarmImpl {
8 B4 c9 p# Y7 P4 a! B        ScheduleImpl schedule;, f! X# N0 H& F3 R3 d
        ActionGroupImpl actionGroup;' O4 P  A( n& S! Q+ o/ P
        ListImpl list;
4 P9 e2 a! ?1 a        char Id = 'a';- i1 G* d9 E: r

8 n# ~' X. W3 |        ActionGroupDemo(Zone aZone) {8 ?/ y8 A; U7 r( T
                super(aZone);
6 U. N/ [0 A/ X                list = new ListImpl(aZone);$ S4 W6 t, u1 j; \$ j0 z
                swarmSetp();
+ \4 X4 K% m/ F& M. b7 K" E( [7 P                actionGroup = new ActionGroupImpl(aZone);" n8 N8 r% z- [
                schedule = new ScheduleImpl(aZone);
" P# m; y& u! h! H( f0 H                try {
' u* t. C4 D! h! A& x                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
. x* F* y" o" `, D2 Q; T% J                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) E# d$ s8 L" ~% _                        
2 W$ i$ N5 w" ~0 b, m1 V                        actionGroup.createActionForEach$message(list, agentSel);2 @+ L% q. r$ O. N2 r8 ]* w7 u, t
                        actionGroup.createActionTo$message(this, swarmSel);9 s8 r3 G. S% H* W
                        schedule.at$createAction(0, actionGroup);/ |7 b% Q7 B+ t% J$ c
                        schedule.at$createAction(1, actionGroup);  e7 t% `! W& n- S2 n
                        schedule.at$createAction(2, actionGroup);
$ _) Z* G4 K9 c4 n
9 P) A! B, Q# O                } catch (Exception e) {
; c& t& W9 F' Q4 J0 B                        e.printStackTrace(System.err);# x5 X8 }+ r; _1 Z* f
                        //System.out.println(e);
; ]/ A8 [5 R% V. w  z                        System.exit(1);
4 o1 ~$ P% o+ T! y" ~                }* N- a4 e1 Q- S' |

$ q' q( J  t* f: U* Q1 d/ W
- r7 H( i( y) p        }+ Z, W3 S# Y( U6 b
% m0 q5 I! k, o) R
        private void swarmSetp() {# D* y: i9 s7 P$ d) q/ J
                list.addLast(new Agent(Id));
. E9 _* J" c$ \" M                Id++;3 v7 s: ]) |9 `0 h+ e$ q. `
        }( }* Y% e7 c+ s1 @$ U
  ]; J% {6 {! F3 w! A
        public Activity activateIn(Swarm context) {
" v# H' o3 y2 M" D& g! p                super.activateIn(context);
& J2 C0 i* [" A                schedule.activateIn(this);
' z0 _+ E7 b* t/ J9 o                return getActivity();: I2 G0 X. \. Z0 A1 A! o' z
        }( I9 ?2 ^7 b$ ^/ W  Z( a

, h. J5 g+ k+ }" Z4 {4 E9 K' {        public static void main(String[] args) {
8 R( c/ v" O* G# {% I% v, b5 `& o                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
) w4 U# C7 u( G                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
3 p- {* j4 T7 x% M                swarms.buildObjects();8 p. Q: e* t% J. U% D8 q
                swarms.buildActions();; e% j) E! m1 N9 }" Q9 o
                swarms.activateIn(null).run();
7 H9 f) }0 l. ]+ T5 j7 `- h* Y        }
; l9 P7 p" e, V1 X$ P/ j% m9 f: K1 b" [2 t" x$ t
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-1 17:04 , Processed in 0.014596 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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