设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13360|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% ~7 C! g, C7 k$ Y$ Q8 B" d% b
. G$ D# u; n! i1 F0 m7 Z. y本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
% _2 f4 Y; k+ V- o% E以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
- j' J* ?; ~3 @2 Z) d3 R8 Gswarm.SignatureNotFoundException! r4 F7 H- u/ O% `+ S
        at swarm.Selector.<init>(Selector.java:76). s* C( T, `& @* x! t+ C
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( v* X$ f) A; o- |& q: w! I% x
        at ActionGroupDemo.main(ActionGroupDemo.java:67)' z9 x) R# Z+ B1 u! d- }- x

8 w' \( v+ ^& K& E. l! O1 K! }+ ^
1 Q4 a+ V" D% r7 m0 j  ^* cimport swarm.objectbase.SwarmImpl;
) J/ X# S/ g" b, O' himport swarm.objectbase.Swarm;
  g4 `' q2 L& {3 @: W3 q7 Z$ Pimport swarm.activity.ScheduleImpl;0 p1 Y2 S) b) g
import swarm.activity.Activity;& T, g% W$ N) F( h
import swarm.activity.ActionGroupImpl;
. w+ }2 u# Y& a: A9 i5 \, B/ J- q$ S1 B9 mimport swarm.collections.ListImpl;; v, v6 @1 g  P0 V3 q- l$ Z
import swarm.defobj.Zone;
2 B1 A" m, Q( c3 C" Fimport swarm.Globals;* E: I% r+ I9 s% _$ R  X" g, R
import swarm.Selector;
  R- |; }3 d3 K& simport swarm.activity.ActionGroup; - V# K! h" D$ B4 K' D3 h: r1 w
class Agent {
# L% w! O1 {/ b4 ~: q        char id;% V2 o0 W+ W  J6 \8 v4 I

5 k4 E5 m7 y! C( D/ Y3 u        Agent(char id) {
4 G8 H6 ?5 z1 G/ E( w                this.id = id;
6 R7 p' [0 z- o- E; W        }
  _' b$ p0 G6 D( A6 n1 |% ?* I7 r* ~4 I& c: a4 J. T
        public void agentStep() {0 F' |3 d7 `5 N) }' Z4 U
                System.out.println(id + ":" + Globals.env.getCurrentTime());
. g* U# F! v6 m& \        }
$ g  T% R$ i: E4 W}
2 C; d+ a. c0 t: X$ A6 ~5 W- J% r- ]6 i; \& O3 l, V" ]( z; R
public class ActionGroupDemo extends SwarmImpl {
4 B7 r( b* E. d        ScheduleImpl schedule;
; s! e, q  e$ J5 j+ s" ]8 Q        ActionGroupImpl actionGroup;' J+ c: @) _" G/ n  |" V/ H/ d
        ListImpl list;
% S. m9 b  s& Q! U        char Id = 'a';
! U) |% b: |. @* w
9 r+ F" V9 `* W& A( t. N6 O        ActionGroupDemo(Zone aZone) {) {2 o! n+ E6 [, P+ m  Z. G- j; D
                super(aZone);0 l% \9 Y) _+ R; Y! B/ A+ n9 C
                list = new ListImpl(aZone);, I6 S. g  g( b2 R7 ], t# p
                swarmSetp();" N$ e3 `- A+ m7 ~3 n
                actionGroup = new ActionGroupImpl(aZone);( M/ T! W8 U  Y1 N4 d2 k# N* ?, a. W
                schedule = new ScheduleImpl(aZone);! |; a2 q) T: \8 e3 ^7 ~! W
                try {7 [5 s) p6 ?2 H- k  {
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
4 V# v+ t  t; ^( W- R$ z+ P+ ]                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! @" S0 z: S' g- [# ]5 D
                        
0 Y! ?! ~: A6 J                        actionGroup.createActionForEach$message(list, agentSel);
) h! @) ]3 F) n                        actionGroup.createActionTo$message(this, swarmSel);) n% N( R7 |) f) i2 S
                        schedule.at$createAction(0, actionGroup);' G* Q/ c: T' z- O! f9 d2 b
                        schedule.at$createAction(1, actionGroup);
* |) a) y) D$ g                        schedule.at$createAction(2, actionGroup);
! a9 C  o1 D* v/ Y7 S/ C( X! m, E" u6 J0 \  A5 O& w2 A
                } catch (Exception e) {
; D: [1 |$ j7 O2 e4 c" W( t3 C% v                        e.printStackTrace(System.err);
0 U4 v& c3 S9 p' [: O                        //System.out.println(e);3 s+ y3 R8 s5 p
                        System.exit(1);
8 S1 P% ]1 W3 x. Z                }
- ^/ s( w: [) ^) W1 a. Z, @  N( v( z8 m5 _1 B5 Q

4 y0 ?0 |' [4 o0 m2 T0 i        }
* ?) t* \2 G3 z- p5 l: F+ K: m
; L- `+ X0 K# ]- T        private void swarmSetp() {( G: s# W2 r: L- Q4 P" _
                list.addLast(new Agent(Id));
$ x( F, Z! q! B5 k# D9 ^                Id++;
, G! U6 W6 B: Q  T( ~' x        }
7 y2 R! n- o! ~& v
* N! B" V. ?2 m( U        public Activity activateIn(Swarm context) {
& F' Z: Y, {0 z7 H' S% A' F# k                super.activateIn(context);8 f7 U% Z) R7 r" }* b
                schedule.activateIn(this);
5 U- q! s* o: d  E% s, b3 ]* d                return getActivity();
8 ^3 @+ r$ R3 t! Q, ]        }/ {4 l0 S" G: R9 a3 r; H) F" Q
$ Q" Q- r# |$ u! Y- G6 d
        public static void main(String[] args) {- c! N4 a5 ^; s
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
" K; j1 m( l, C$ h                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
4 J- q& [) c4 S- k. `* M                swarms.buildObjects();+ [4 V/ [! R  N8 J5 B7 m. z
                swarms.buildActions();) Y) x' L1 U$ r) }0 m
                swarms.activateIn(null).run();
' @- z( t9 v) m# b* o        }
6 \7 |9 S% k1 ~4 P5 A
4 d: O  G  Y7 c1 b' y# S: a}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-4 22:51 , Processed in 0.018349 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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