设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13583|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
' o7 o* x  h# e' g! e
* D& U7 Z1 V" P, {, \; f' g: \本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
2 F* H. r4 D- j; Q" l$ I5 l以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
% X* T: B& y. W" K  E) ~swarm.SignatureNotFoundException4 \7 Z. I$ C" p' Y. G! o8 V! `& F7 p
        at swarm.Selector.<init>(Selector.java:76)
: {+ N5 |$ I3 \, p/ t$ J% y* J        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)% p! i' m$ w; t3 Q! P. f( q# S
        at ActionGroupDemo.main(ActionGroupDemo.java:67)- u" y1 A. v" b+ a# v
, b8 I/ V! _" q# q. e

& c0 m8 @& i5 W! Gimport swarm.objectbase.SwarmImpl;- n; K8 a2 R6 Q
import swarm.objectbase.Swarm;; I; F+ l# t: A% H' a. Z# f$ C( t8 T" F
import swarm.activity.ScheduleImpl;5 u8 W- `, k& w6 r! r
import swarm.activity.Activity;( F  m: u% S! z- ]* r! b* w# I
import swarm.activity.ActionGroupImpl;
' ~, Y6 ^3 Z0 r. `# j; Timport swarm.collections.ListImpl;
  j1 k- E6 m, e- w, y+ Mimport swarm.defobj.Zone;
. |! ?' L3 u+ M3 Fimport swarm.Globals;# G7 e; j. k! ~+ M
import swarm.Selector;# l4 g0 a6 Y6 D
import swarm.activity.ActionGroup; + ~# g0 q2 [6 u+ B5 g# r: Z/ Z
class Agent {3 s( l$ ?0 z2 [# e4 S
        char id;
# ]1 {0 v3 m7 F- H  Z+ J9 R8 |: c
        Agent(char id) {, q' V. J5 T' P
                this.id = id;
3 F5 m3 j$ Q: T( T. Y/ F. c6 H        }
4 [" m) G1 E$ p) E& d& J8 \' b( ?" U( G) r
        public void agentStep() {: W: r8 t0 Q3 }% a$ `0 ~
                System.out.println(id + ":" + Globals.env.getCurrentTime());9 F$ Z$ Q5 g* j0 R% O$ @+ p
        }
' R4 {: F$ }0 ]: W}6 r* g+ Z7 B3 _/ G( x
! j* P3 j4 h' x5 K: t
public class ActionGroupDemo extends SwarmImpl {; B# T* q0 ?2 G3 W# Z, S
        ScheduleImpl schedule;
7 R- |5 x1 z( Z2 P1 \' @# g        ActionGroupImpl actionGroup;
7 b5 ^4 J- ?4 z        ListImpl list;
1 `) ^. A# p" o* W        char Id = 'a';$ u" o; g$ O: O$ Y7 k
/ z( e  K$ s; _2 s, F2 W+ c
        ActionGroupDemo(Zone aZone) {6 Y9 n. J5 Q8 B7 v# s0 S+ x
                super(aZone);
- l2 r1 m: t9 i+ l7 f; _7 F# W2 d                list = new ListImpl(aZone);
. k7 d1 m0 k5 }- ]5 K2 f                swarmSetp();
/ G6 J& I$ P, V+ F$ h  M                actionGroup = new ActionGroupImpl(aZone);: G1 g! N' v: P6 K9 \1 j
                schedule = new ScheduleImpl(aZone);5 {6 E' ^: v: V: a3 n9 K
                try {
: H; e  V, z& h) j! r                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
7 l$ [4 h7 ^" B                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行( K: n  \* @4 a+ D
                        
; y$ z- |9 f4 C0 H) q, f                        actionGroup.createActionForEach$message(list, agentSel);
1 t6 G- T* s6 k: B                        actionGroup.createActionTo$message(this, swarmSel);
1 E$ J* {" g- o& S& a                        schedule.at$createAction(0, actionGroup);
4 R9 J( A( m3 }# L& @& R5 b                        schedule.at$createAction(1, actionGroup);
; n- F5 F6 p( g& ]3 }$ W% [                        schedule.at$createAction(2, actionGroup);
0 w( j) q9 h, c5 J% ]
/ I! r5 b6 d# b& q  `+ I2 l                } catch (Exception e) {
  i& _8 Z# h8 H/ k/ B" I                        e.printStackTrace(System.err);6 G* W7 {1 K8 m. M- q
                        //System.out.println(e);
. ~- u2 u  R( k! v( h                        System.exit(1);" h8 n7 Y6 U* Z, z
                }% X  B# e+ c  G  K

+ h, a6 K% h. ?4 `1 m2 |, M: Q3 i; F' s% d
        }
: {( \% O; e  F
$ c. p" Z7 y- s( c# \) A: |        private void swarmSetp() {* q& E( ]' L8 W; r4 }
                list.addLast(new Agent(Id));
4 }. H" m4 \5 i/ b+ R: P7 A                Id++;
8 G$ d3 N. F, ], U* [        }
+ H: ?2 ^$ E( {$ m
/ M" n3 R6 s! B/ U- e5 u        public Activity activateIn(Swarm context) {
1 \* r2 T+ i4 j8 I5 w8 {                super.activateIn(context);
0 O5 A  u# Y; X+ e+ P                schedule.activateIn(this);+ A  R" H. u% z4 k* k( E0 e' ?9 A
                return getActivity();1 \9 c* E( X. v# @7 U& P
        }
2 A7 @1 r# h/ v6 ^5 R6 B. k- ]" q. L  G8 F4 f
        public static void main(String[] args) {4 o6 Q: l6 b7 ^
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 I) a& P/ H. O3 |                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
% \; C8 \1 @. j+ O4 G0 W! G8 a) R                swarms.buildObjects();2 d: e0 j+ k/ n3 `
                swarms.buildActions();
9 s; y) c9 X+ c4 z1 _                swarms.activateIn(null).run();
  T3 i) W2 f, q+ c        }
. }" U& K0 J+ w
1 d) t$ s" v; h, j1 T- ^}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-11 20:21 , Processed in 0.019391 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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