设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6017|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
  Q  J8 t+ H9 l* y6 @
5 @# i. W% i, \. S  s2 p本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
& w/ q3 c2 \, [- a* E) r$ W! [. A以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.; F# I3 m7 u0 R) w! \! {0 y! q  z4 Q
swarm.SignatureNotFoundException; F7 t! @/ p1 G' x! }
        at swarm.Selector.<init>(Selector.java:76)
/ v' F+ D$ T1 ?0 T        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; L" x( ?  G. r        at ActionGroupDemo.main(ActionGroupDemo.java:67)
7 r( j; ^. a% D6 j: w' J8 W9 k# w& ~' `  P% h

5 n* r6 a/ M3 |5 K% z, yimport swarm.objectbase.SwarmImpl;
# |, J# P4 g# b4 mimport swarm.objectbase.Swarm;
& }$ C, t3 Z( R1 ]( v: o# b& fimport swarm.activity.ScheduleImpl;
# n1 D3 T# r& q) J' V3 }" _1 aimport swarm.activity.Activity;; @' z4 J5 a. }  o
import swarm.activity.ActionGroupImpl;
; C! R6 Z6 [0 Q) ximport swarm.collections.ListImpl;
( o& w. ~9 @. p' R+ simport swarm.defobj.Zone;
& o- j5 j2 q  C+ g6 @2 Mimport swarm.Globals;
1 ^9 b5 V) g/ q, E$ \( W. cimport swarm.Selector;
! q% A( Z6 b$ |0 a9 w, I1 d0 \import swarm.activity.ActionGroup; / j( T  Q9 T- v1 ^; W. w( Q
class Agent {, ~$ U# \6 T: G* I9 {  R
        char id;; C+ x% m' d' Q
% _3 I7 g, _% L* l3 c6 ]2 x
        Agent(char id) {- j8 x5 V& N; B% T8 m% S) R
                this.id = id;/ E1 t2 m2 D' R! b
        }
1 P) R$ t- k. D2 ?# P4 F* a' j! D0 G1 {, V5 V2 a% e
        public void agentStep() {
( F" x4 a7 I6 q: K2 c$ `                System.out.println(id + ":" + Globals.env.getCurrentTime());8 F; ^: O2 z9 Q6 I- Z8 ?$ ^- A. e7 P
        }# T6 w1 v2 n: {) ], C+ V2 [
}
- R7 D6 o% x- u  p) Q& \$ a# v" \+ y4 ^5 i/ o, F
public class ActionGroupDemo extends SwarmImpl {
0 w7 Z! i3 u# @) ]4 B) w        ScheduleImpl schedule;9 B2 w; K5 |7 u# i/ t7 z% A
        ActionGroupImpl actionGroup;
' E5 D* r! j0 |4 b: I        ListImpl list;3 `  k# i% K8 |. R
        char Id = 'a';
2 ]" T. w: O6 F( S- c$ k
, A# p% F2 L* T, A3 M+ ]/ H& G        ActionGroupDemo(Zone aZone) {8 q) _7 S! l" ~2 C3 W, R
                super(aZone);" q" n3 d0 C8 l5 r+ Z
                list = new ListImpl(aZone);0 x+ f6 Z( h/ ^( U
                swarmSetp();
- k4 Z2 p9 M. _                actionGroup = new ActionGroupImpl(aZone);; R, e: G3 ?" c4 r1 F( [
                schedule = new ScheduleImpl(aZone);; g$ F9 v: k1 ]8 T
                try {
, i3 y' h) t) q, k) x7 Q                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
0 I$ L  `' |! Z/ e0 D                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行( f. x9 |  X  l3 g
                        1 {2 ~! @) `6 _( `& ]
                        actionGroup.createActionForEach$message(list, agentSel);
$ c/ @6 [& D' w4 G                        actionGroup.createActionTo$message(this, swarmSel);
; ]7 _* @0 ~+ G% J0 B6 l, q- ~                        schedule.at$createAction(0, actionGroup);
- o9 M: K5 \$ w/ F6 z' f, E                        schedule.at$createAction(1, actionGroup);- v) y; ~, }4 A8 W2 n/ s. C
                        schedule.at$createAction(2, actionGroup);
6 a& y- Y# q8 ?. b1 m. U5 L0 c, g& B- v2 {, T7 S/ l. ]
                } catch (Exception e) {, C0 O' H" T& B: k) ?1 P$ V# c) R
                        e.printStackTrace(System.err);- x. z5 @4 o+ }- u) q' U8 z. @9 J
                        //System.out.println(e);
/ {; V, R7 t3 @                        System.exit(1);! t, h: f4 H9 \- X5 ^% @: U1 V
                }! b, T- A5 o. @2 c8 j( E" u+ C7 Q9 T8 ?
. J9 ^' M$ I+ r" {& _3 G3 N3 e/ l
  H  _8 P' {0 ]; g( v: S
        }
7 s6 U4 \! P7 F- z0 J6 J1 o( `' I: |6 M/ P  {4 ?
        private void swarmSetp() {/ _& l1 M+ u/ j* H: V1 n
                list.addLast(new Agent(Id));3 D6 i2 i2 A0 E$ o; [
                Id++;
; f# `+ H/ V1 z; U: [0 I# H        }* P! c+ c" E5 `  t' \2 H1 D6 H& X

0 y# e4 {* ]) A4 O- h1 ^. b        public Activity activateIn(Swarm context) {9 h# U$ u7 Z4 U: l: b
                super.activateIn(context);7 \" i- p8 B9 j; u5 D' M9 D8 V
                schedule.activateIn(this);
; A/ T$ ~* A( u6 t) h                return getActivity();# D* O  {; T; }
        }
, m; G( Y5 |# j" k3 x" |/ l9 n; O: Q% Y  L
        public static void main(String[] args) {
; ?- e( z1 D" v6 z8 B% }/ x                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 u' p9 U7 x! J  ?
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);* g, x: {0 X% r, |
                swarms.buildObjects();
: F$ J  A' A7 W; H" B1 O! q                swarms.buildActions();
5 U; ?. f5 _8 P/ G                swarms.activateIn(null).run();
- @, e+ c# p) A/ w* L! D$ k        }
. K# D& I4 t- G4 }6 O8 y4 h
1 m3 z* ]- l4 T) }}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-13 23:40 , Processed in 0.017353 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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