设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6750|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . y0 O* N, C3 {, c) L
6 b# O! n8 \7 ]* s1 @
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21/ p/ f9 g( A/ Z3 A2 f
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ }+ ~$ |  J  ~( r: X8 I
swarm.SignatureNotFoundException
1 F! y- u3 n/ X* i0 A: Q        at swarm.Selector.<init>(Selector.java:76)! X! ?3 ?' _5 B$ q6 U
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ z0 S, m$ A3 f2 O8 z        at ActionGroupDemo.main(ActionGroupDemo.java:67)
: E0 i0 e  A7 `/ N! ^' y4 W
" w) L+ E. R- b( A  p# `1 u2 U! H5 i, ^7 B4 b* ^4 d' t" s
import swarm.objectbase.SwarmImpl;% f+ O: Z* W0 O' e
import swarm.objectbase.Swarm;
' e  o; w( o$ {: I/ z* yimport swarm.activity.ScheduleImpl;5 W6 D( i% r& w5 m( d
import swarm.activity.Activity;2 k7 X, v  @9 L8 p0 Y' I' T6 ]
import swarm.activity.ActionGroupImpl;. S% j3 |. m9 j2 A
import swarm.collections.ListImpl;
& B3 n; }! T- ~; t1 G/ ]# u1 Q/ h( bimport swarm.defobj.Zone;
! y) R, c$ p0 O) I; cimport swarm.Globals;8 @* V+ k* k4 S5 r5 Y( _
import swarm.Selector;
7 z5 u( J" n2 X. G! e( cimport swarm.activity.ActionGroup; / Q9 L/ W6 s' s, a. J/ f9 s
class Agent {
* w' V6 X& e, W! ^% F; _$ Q        char id;
0 E: E8 V4 h% y+ f- p; e4 A8 M; f) S0 ~& @8 {
        Agent(char id) {. e3 ]4 I; }7 d
                this.id = id;; k- Z% v7 d& ?6 u; [6 n: L4 J
        }: G; a7 N7 I* u. K& v3 _4 Z/ i  O

3 Y' ]- J$ f8 ?9 Y( @5 H        public void agentStep() {4 `& m0 N& m% P8 S( u" l0 b
                System.out.println(id + ":" + Globals.env.getCurrentTime());
" z1 p+ X+ j2 T1 l% b# \3 q        }
6 v5 H) @% O2 r% f}$ m# Z2 Y, U" u' D- N# c

) q. U7 b4 e$ t& h( tpublic class ActionGroupDemo extends SwarmImpl {
0 z1 Q/ k8 m+ U        ScheduleImpl schedule;
' u/ _( r/ |3 ~* p. ~2 S4 v7 U7 N        ActionGroupImpl actionGroup;7 Q5 P+ `& G# C! B: `, H
        ListImpl list;
% `: B$ k$ M& `0 l        char Id = 'a';! O6 b; C5 c7 d* ~& N

$ G: D" d6 g( ^) L( K        ActionGroupDemo(Zone aZone) {, q! ^$ e$ e3 y( B& f8 C
                super(aZone);1 v5 a' Y" P5 M( ]+ `, \
                list = new ListImpl(aZone);! U0 r+ ]4 c# k
                swarmSetp();
) I( Q: m; d+ v. J3 z! W                actionGroup = new ActionGroupImpl(aZone);# N, h% ^# P+ l- Q7 K0 D' I+ v
                schedule = new ScheduleImpl(aZone);
# q+ n# k) R- R5 {* j. q7 |9 v                try {
6 O$ Y& O, o- o, S- R, H, s2 a                        Selector agentSel = new Selector(Agent.class, "agentStep", false);' z: _6 D3 i! ~- w1 \
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
# n! i5 Z% o! T% n2 n/ |5 B                        6 k- ^3 z% C# W+ y- {9 d
                        actionGroup.createActionForEach$message(list, agentSel);
$ j/ C  c5 \, G$ h7 v2 U4 |3 _                        actionGroup.createActionTo$message(this, swarmSel);+ H3 e# o. `* h" n- X( }
                        schedule.at$createAction(0, actionGroup);
, b6 K" |3 Q' @5 I, G                        schedule.at$createAction(1, actionGroup);
6 ]+ `$ A* c  h& l+ B. V  M5 F                        schedule.at$createAction(2, actionGroup);
3 i( x  e, m6 \) m" J, D- B! w/ ~' C! I1 p
                } catch (Exception e) {
- l2 G. w- c; z                        e.printStackTrace(System.err);
  k) [0 r/ k! {' Z                        //System.out.println(e);
( m+ Z" P, E# j' g( ^9 J                        System.exit(1);
) q" U5 I- Z# Z) U4 D                }
0 L% e; \1 s6 |2 i. M' T6 i: `6 \& }; Q; M- |6 r

7 ]4 v. b" o9 @: C& i! _* c5 J  _        }- I' ~# K8 v- t( T' \# D' f

! u+ D3 b+ Z0 i) B0 e! X$ Z        private void swarmSetp() {# e# z' G  x6 c5 a
                list.addLast(new Agent(Id));+ _* H) D, |1 J+ \9 B" Q
                Id++;) Z8 h, W% {. _5 `* X
        }
' w; i! S1 S$ B4 l6 X  b8 v$ }2 X7 ~
        public Activity activateIn(Swarm context) {
4 J( `4 U- U& N* ?- @  @7 M8 A                super.activateIn(context);
8 I7 [3 X2 E7 {0 y/ p                schedule.activateIn(this);
+ i5 P4 O4 A/ z9 m8 ~; o* Y                return getActivity();
) O  u9 ]5 {+ X1 f: |- S        }% m; C1 i0 \) T
2 q2 {' _7 l6 D7 k, S
        public static void main(String[] args) {
, Y4 o6 k1 l# w+ g7 P- G5 |5 k6 P                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 |9 F6 H' Y7 k2 _* Q$ F5 q( D, d                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
6 @* j  u9 }0 q. h3 H                swarms.buildObjects();- S, L4 c& N/ \4 ?) M1 t
                swarms.buildActions();
+ D( y4 x' r+ I                swarms.activateIn(null).run();
! P! f- `2 ^# D- N2 r( O& W; ^; L        }
/ E0 h2 t. `  V2 Z$ g: @7 f1 e$ s+ i
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-8 02:25 , Processed in 0.013431 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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