设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8676|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
  w3 j  N# [" r/ }
1 U- M: H3 v4 L$ o2 F本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update216 S5 c# S7 C5 n
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.. L- ^9 J  U6 m" A6 w7 q! |; n
swarm.SignatureNotFoundException; Z. i7 r: U, t, A) J- I
        at swarm.Selector.<init>(Selector.java:76)% c4 [4 H/ l( z- J2 e3 A  P# ?
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
8 f7 n7 I2 {* w8 s& d4 I/ E# F$ I        at ActionGroupDemo.main(ActionGroupDemo.java:67)
* G$ T$ B5 U: W$ b7 \
; s5 O9 D0 v, h: p+ Z' R' t" S, q8 w) M
import swarm.objectbase.SwarmImpl;( {4 o0 P% C8 n! k, x2 ]! V- k
import swarm.objectbase.Swarm;
; m1 L( B) W; m  ]. l9 t& Jimport swarm.activity.ScheduleImpl;
7 o% S+ m7 g0 T' c' `import swarm.activity.Activity;
# ~5 ?) S; J! c, O6 v" U* F9 }4 Jimport swarm.activity.ActionGroupImpl;
1 ?; K0 u+ V3 `; Q- qimport swarm.collections.ListImpl;7 l% l; h" Y% Z
import swarm.defobj.Zone; : r6 a! m. V) V9 X" k
import swarm.Globals;
/ o; K* o1 E9 f2 s% d3 Qimport swarm.Selector;; ?. i0 w: h/ f2 b0 }8 A( ^
import swarm.activity.ActionGroup; 6 Q, b: q/ t* [; o5 l+ F! }
class Agent {
: x, B3 ~; S' C  v' F* t3 e2 d        char id;
2 P5 i# @- H7 d: I! U9 q4 k# I8 o3 h. p
        Agent(char id) {# q  U* P0 W" }5 o
                this.id = id;: z% Q3 o! E, i  C5 {
        }. M9 T# g. V) C# V: K# V
- j. v" x8 g  e, ]
        public void agentStep() {6 c( }/ [# M* t8 l% F5 K6 p
                System.out.println(id + ":" + Globals.env.getCurrentTime());- ]- b' E! L0 p# ]" H
        }5 ~. R$ @* k: Q2 |: r/ B: L3 A1 p+ S
}
0 P! p& U0 G+ P
9 g6 {8 N0 `: m3 P; c# _public class ActionGroupDemo extends SwarmImpl {
; d( Q9 C0 o% ]        ScheduleImpl schedule;) I- ?$ s4 \8 Z4 a
        ActionGroupImpl actionGroup;/ j# h- M  W9 `; d
        ListImpl list;, |5 U% Z) I, M5 _5 `# D
        char Id = 'a';& E. d1 v0 I; ^3 }. M& ~+ @
: J+ c2 k) p7 f( ^+ H# p/ d- @. d
        ActionGroupDemo(Zone aZone) {( _& L$ J+ L( o- U1 ~2 @
                super(aZone);
1 P) D5 Y: G4 T. Q6 x7 Z. {                list = new ListImpl(aZone);
2 P9 s& D/ I1 W                swarmSetp();; y5 M' q! X4 \  I) \9 O
                actionGroup = new ActionGroupImpl(aZone);
' {9 C5 C3 c0 z+ i* D: ?                schedule = new ScheduleImpl(aZone);8 r. ^& |$ x% B+ U% `
                try {3 [( }4 {; S, C) o
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);2 t% o; ]0 {+ k7 O
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行0 ]7 x) q& o! Q( R$ A
                        4 W, {% u6 [6 w' R- Y
                        actionGroup.createActionForEach$message(list, agentSel);! z% A- c% I( z6 x
                        actionGroup.createActionTo$message(this, swarmSel);
, m# Y% E7 B+ ^9 U7 K+ c                        schedule.at$createAction(0, actionGroup);" t6 p  E% `3 N6 i- U$ P
                        schedule.at$createAction(1, actionGroup);
, ?, |0 q6 Y& ~7 c4 S( C# @                        schedule.at$createAction(2, actionGroup);
7 [; ~, l. T  I& R
+ V" K. \2 J2 G4 r; L                } catch (Exception e) {' O( }  T2 H2 v1 L; o
                        e.printStackTrace(System.err);2 l5 ^( o! ^4 l4 U; \
                        //System.out.println(e);/ f  R: u; c, u+ T+ k) ^. i
                        System.exit(1);
% f, M. R' d! L0 m. i* B                }
; a4 V. I- P6 S- F/ g+ J8 l; J- L2 z& S6 R+ j
( C& U6 ]/ W+ p( h* h
        }5 ^" `5 d4 }' }$ H

+ u) e7 A% g+ y8 u! ]  f        private void swarmSetp() {9 H+ F# K% T7 _, z( t7 Y
                list.addLast(new Agent(Id));" a1 v- [% ?' K% o$ l9 j0 M7 F
                Id++;
- r' H& k( [9 ^  q$ S& w% ^1 s        }
" A9 C- N; P! L' t/ u) ^0 i; d2 ]/ L6 y
        public Activity activateIn(Swarm context) {
' c( ]4 W0 f' z  b3 _                super.activateIn(context);
9 \3 W- a3 _5 l                schedule.activateIn(this);- L* X/ Q: m- R* K, L
                return getActivity();6 ^1 u( z- \2 U/ _7 W8 z! n
        }; P- F; p. |4 o& C

' w; X8 a; Q* T3 J1 t, ?1 j$ @2 Y0 W- I        public static void main(String[] args) {7 c1 R' i, H' ~+ V6 l
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);2 ~& c. X9 m" s) s/ H, Z. s: f
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
8 Z8 v" z! S7 K9 ^4 `7 g" U                swarms.buildObjects();* d# s- U2 C: z  Z; y' m1 B  _
                swarms.buildActions();
. I0 x0 _7 o% |: |4 x$ o                swarms.activateIn(null).run();7 u. s) p* a( G( p$ ?7 d
        }
" m! e' _0 f2 d
5 I" {$ C) _0 k: ?) m6 F9 t}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-19 08:58 , Processed in 0.013859 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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