设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9991|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - H* x* W$ ]0 O4 {( R9 w% i! P
  E' s3 L& @4 e# o0 U. E5 o
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, c1 x: o8 r& ~* Y0 u4 J
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.- Q+ H0 W0 R* e8 F  P  F
swarm.SignatureNotFoundException5 r& @3 O7 }7 G6 a' `* y
        at swarm.Selector.<init>(Selector.java:76)
# [5 r# w: `$ }7 M. X# `$ I8 \& r; Y        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 v) x% }: {7 E
        at ActionGroupDemo.main(ActionGroupDemo.java:67)3 e. w- f: ?) c
) }' y% S0 G7 ?! K( g  u+ D

; b3 @8 \. y  R- G, y6 {( }" y4 G; `import swarm.objectbase.SwarmImpl;; N0 P- M1 a! \/ G: U+ b/ c
import swarm.objectbase.Swarm;% ]: y1 l5 B8 q$ _( ~' N
import swarm.activity.ScheduleImpl;2 I: B2 c, l% T' {# F5 L- F2 d
import swarm.activity.Activity;
7 l  i8 z8 b0 Aimport swarm.activity.ActionGroupImpl;5 `7 m) B3 {! k- i+ `: l0 d
import swarm.collections.ListImpl;5 {, L! c6 o, i4 z- U# T
import swarm.defobj.Zone;
  C5 X+ l$ W( _5 N( }import swarm.Globals;/ g" q: j/ \# t* V* t
import swarm.Selector;
, f  g+ a; E% l6 s1 ^; M0 Cimport swarm.activity.ActionGroup; % ^  s. L3 M! j8 L* o, ]3 x
class Agent {* B" ?2 R- q, z
        char id;
+ N1 }) b) ]- _; q. s  X- V' ~! G( C7 t4 |
        Agent(char id) {
5 b8 P  A3 H3 l( }* m4 p                this.id = id;( p- g2 x) {2 S! k' T" i
        }
7 R( R2 [, v, f* U, n- l& i' _, T# f7 ~  A" `- B9 R
        public void agentStep() {7 H" \3 u) O# X4 z
                System.out.println(id + ":" + Globals.env.getCurrentTime());
5 _& e/ d5 S: z- s0 @; W, {        }
* O& W! R5 A3 p* T) X# B1 A, `  D$ e}' |# L' f: ~' R5 [" B- @5 `, }
. a, B4 c- \1 _, [9 T" ~1 g
public class ActionGroupDemo extends SwarmImpl {
0 t* u. x9 b6 v( t" I3 V; p* j        ScheduleImpl schedule;8 {2 E5 U: J5 u6 J
        ActionGroupImpl actionGroup;6 W) C  l+ F4 M6 C
        ListImpl list;/ y  ~* @' m# {. ^
        char Id = 'a';. x8 Y% ~6 p) U& B+ Q' i5 f$ g% ^( s9 |8 }
0 ~8 C6 o' W+ i: E0 I& g
        ActionGroupDemo(Zone aZone) {
, X" @' c% t" s; m                super(aZone);
/ K7 z4 I+ {% i- s0 H4 e! |, Q/ v                list = new ListImpl(aZone);! h& C8 O! K1 P4 b  o! v" M1 V( L
                swarmSetp();
4 W* @$ ~% j; ~2 }                actionGroup = new ActionGroupImpl(aZone);
* f9 S* M; J6 P6 T. o  O; q  X                schedule = new ScheduleImpl(aZone);) Q' h4 y) |. _, Y1 I
                try {. ~7 U% u) d% M' c% Q% z" S8 `; }
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);( I6 N4 U% b4 ^, X0 R
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
" r# R# c' E! h* r5 }6 D                        / S$ x0 @8 T& K
                        actionGroup.createActionForEach$message(list, agentSel);
9 k, b& y4 f% U% q7 F9 m                        actionGroup.createActionTo$message(this, swarmSel);
6 A4 P# a" |: X" _+ b# v                        schedule.at$createAction(0, actionGroup);8 T/ r" _5 C8 v+ X
                        schedule.at$createAction(1, actionGroup);% r: S& i/ a+ Q% y+ M. H1 O  e6 F
                        schedule.at$createAction(2, actionGroup);$ N# H. V- K7 d. R

4 q$ N# u+ l5 g4 z( i9 s( m  f                } catch (Exception e) {
/ z8 r$ U$ j( f) O/ T                        e.printStackTrace(System.err);' r* E+ w% u8 S9 b# N
                        //System.out.println(e);
) d) U# M6 Z5 G/ l                        System.exit(1);
# j$ K/ }, G5 U; `/ c( s! Z. b4 q                }2 ^! {! \) {( S0 v# e

; r( c& v3 L0 J0 c9 v
; b! ^, N  U: A; c8 m: `        }
# L3 e0 ~6 r+ I8 x9 l- E  X- [
* [% l6 X" M# w$ E: O7 z' b9 v        private void swarmSetp() {) c# R+ l: v* n
                list.addLast(new Agent(Id));
6 F4 @, x' v" Q0 r& _+ ?$ D$ a                Id++;4 W4 ~( d# b* k% j0 K+ h
        }- G1 B* Q9 \- v* o7 f6 z9 O
$ g, S- M, P' Y  x+ j
        public Activity activateIn(Swarm context) {
( Y+ g$ E8 X( j, a" @# ^. S                super.activateIn(context);( \3 B; }0 x7 k# c) Z  k$ e
                schedule.activateIn(this);" v$ P9 q7 m; R- s9 m/ V
                return getActivity();
# ]: k* P9 q/ P  _        }
5 k$ G6 M  l# |2 `) h
" ?) C8 L; O0 K5 w( _, }        public static void main(String[] args) {1 k! Z1 }4 Q9 C8 o/ ?: j
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; T+ q( I0 Q4 D* P! R0 ?& L                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# e* ?5 I" P& ?" l/ f3 _( x  m                swarms.buildObjects();& X& O. n- D" K- y( }0 k( X: {$ n, S
                swarms.buildActions();4 \1 Q' ^% B! \! z: V/ d- o" v' p
                swarms.activateIn(null).run();
! z7 f+ q# W- {        }
5 G; j+ w8 a+ C2 \$ \/ q, N  Z6 W# v( u  H
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-30 20:50 , Processed in 0.018966 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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