设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12037|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * y$ L/ L- B: |* S
3 _1 Q4 Z: `" ~* x! S6 u1 w! k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21/ f$ g( ~+ E# K% B
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
  D) P* a2 g! C2 y( g. {: J7 _swarm.SignatureNotFoundException
  W& @5 k+ z! @: O" y, n7 ?        at swarm.Selector.<init>(Selector.java:76)
! ~+ }: t& P) q6 L        at ActionGroupDemo.<init>(ActionGroupDemo.java:37), @9 u  y) [1 d. C. D/ I& a
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
2 a' z4 Y9 N( l0 i" n6 P, k' g: H/ V, q( \! u  i$ r

4 a# I3 z- M$ Fimport swarm.objectbase.SwarmImpl;
  j% }; B6 r- |) I4 R8 Q. vimport swarm.objectbase.Swarm;+ m( n, G; b( }; J" _) U  T" d6 ~
import swarm.activity.ScheduleImpl;. ~1 ?3 R% O$ |' M* }  T
import swarm.activity.Activity;1 A8 g% v5 _* H
import swarm.activity.ActionGroupImpl;
. U) ^0 l, j3 i( vimport swarm.collections.ListImpl;
: c# a5 ?7 L/ kimport swarm.defobj.Zone; ' d0 D7 I1 G; A% t5 }  i( Y
import swarm.Globals;2 P" b3 \& s" s( Y) j4 C' _
import swarm.Selector;0 K$ B, P% X8 E
import swarm.activity.ActionGroup; : p! i7 j# N" `* i
class Agent {
  ?: J0 a, }+ k2 J: ]7 K        char id;
3 v; d% I, O3 n5 }1 n! ^$ n& T; M+ b
        Agent(char id) {3 J1 L$ v$ A: X/ F- P
                this.id = id;
7 `# z7 q! R( q$ f2 b        }
% P' b# Z6 [8 j( f) ~+ q$ t& a, E+ l: O- i8 p5 b
        public void agentStep() {! m% P* v+ }/ |, u  P" Y: d
                System.out.println(id + ":" + Globals.env.getCurrentTime());
, |6 J" s8 @# T, F        }( ~6 n3 _3 K* q
}8 b9 ~0 s) L! p& U5 G, \7 O1 B9 ]
' U- `5 Z3 {  g/ Z6 N# ^9 B. e
public class ActionGroupDemo extends SwarmImpl {* E& i% ]. F4 x# @  N/ o- i" y
        ScheduleImpl schedule;
3 e' v$ [( }7 b2 a0 f        ActionGroupImpl actionGroup;  K9 ]- S! i( u9 C$ o
        ListImpl list;
- Z6 r9 _6 p; }" R8 n        char Id = 'a';
; R# y- C9 c$ O' X7 f, x( [& |3 q: I9 r! N& m/ U
        ActionGroupDemo(Zone aZone) {
! X# ]8 P7 y+ P/ C2 z5 u' {' ]                super(aZone);, V2 e% N7 h, o5 |: e
                list = new ListImpl(aZone);/ e9 v, T$ H9 G1 }
                swarmSetp();
" B6 P/ V/ h" [* }                actionGroup = new ActionGroupImpl(aZone);9 C, x4 _) W- y3 _( P
                schedule = new ScheduleImpl(aZone);
0 i) [# v' N6 u+ I1 g                try {
1 s+ x- o; o+ P# Y1 @+ y5 C1 P                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
5 `, y7 y/ ]' u6 J) n" Y                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
6 G) H& j1 w! Y* k* g                        
6 J+ I8 b" _% U% B8 C1 _                        actionGroup.createActionForEach$message(list, agentSel);% Y( _$ ^( }2 ~# q, T, a
                        actionGroup.createActionTo$message(this, swarmSel);) H0 V% d2 A; k) V8 v" ?
                        schedule.at$createAction(0, actionGroup);
/ l5 u9 W- y/ e7 v                        schedule.at$createAction(1, actionGroup);' Q# T9 G4 S  u: `
                        schedule.at$createAction(2, actionGroup);
" ?% C  X9 \* u9 ?% e0 H- }3 |+ A. V3 S7 z) u1 Y4 I$ [
                } catch (Exception e) {
; _' ?9 B% p5 U" _. `                        e.printStackTrace(System.err);
0 v6 l& _, l) P) }                        //System.out.println(e);
) G" X5 y0 [2 `; b3 o                        System.exit(1);& ?# P+ D# _$ e6 A5 @
                }1 e: G8 t2 g6 `

: K8 g3 K1 F& e  Z9 e8 L1 ]
: H" g  S6 t# [# ?        }
6 h9 E1 T- Z1 H+ e6 y8 a, J6 V! W7 i3 Z$ ^. K
        private void swarmSetp() {5 c+ h9 ?3 G, ~7 z& M; b! ?
                list.addLast(new Agent(Id));, Q9 l' U* e- D2 _0 B8 }8 L
                Id++;
# C" f* M! B  o        }: ]! |- n2 k$ x9 {* D& m2 G( ]

- X1 W/ t* C0 E6 f3 ~+ \4 e        public Activity activateIn(Swarm context) {+ c/ U: K+ v; H3 W2 {3 \
                super.activateIn(context);# B2 h% r  S) Y" U; H0 |8 y
                schedule.activateIn(this);
% m4 z3 v$ N# J- e                return getActivity();; g+ R7 s/ `- s6 {
        }
+ j3 F, ]$ z1 `# ?. r+ N
& {, i- @" _0 M        public static void main(String[] args) {
, ^7 }: ^1 q: t0 e- B# l) }                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);# Q6 |) `' w7 C) F* D$ O
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);, s: T; d; f" s8 g
                swarms.buildObjects();+ V9 [+ ]# U; c3 i0 g
                swarms.buildActions();
: z# C7 T0 Y2 c- |                swarms.activateIn(null).run();7 w; ?: ?4 M6 f# e
        }0 _" o/ s  I2 S8 x

, H; x) e% K8 D% L2 X9 [5 i}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-28 20:22 , Processed in 0.018446 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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