设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11070|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# t. F, u& ?8 x( l) \* x9 O. t- }
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21% b$ u! A, |# ~: ^
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.! H' [! X# }+ `8 \. M( q
swarm.SignatureNotFoundException, c, h! u! p7 t$ x$ Q7 g
        at swarm.Selector.<init>(Selector.java:76)0 c" K$ F8 g9 p  ^, W
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)1 w& @5 a! Y8 [. m6 X; i
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 r4 ?9 H. c; c$ ~
* m' `0 [: r$ E. X' j. ~; q% b3 h
( X/ ]5 n. x3 t- Iimport swarm.objectbase.SwarmImpl;
: U. V$ g+ R/ x% c- ]" |; @import swarm.objectbase.Swarm;3 c' E6 D0 v9 G' R
import swarm.activity.ScheduleImpl;
* _; y& R- j* }4 N2 ~% eimport swarm.activity.Activity;
3 X5 W( M. f  gimport swarm.activity.ActionGroupImpl;
, P; Q3 A, T3 ?9 \import swarm.collections.ListImpl;
) A9 d6 a5 G* K& @2 Rimport swarm.defobj.Zone;
4 ^' g! ?: L2 c% M' D% `0 Yimport swarm.Globals;2 {+ K( a! i# i4 j! s7 v
import swarm.Selector;* g5 n2 {7 r/ L" o" g6 z
import swarm.activity.ActionGroup; & N" n, X+ d" o+ i, k% w1 I7 a1 c
class Agent {- M; b+ A# G  @3 y/ w/ p# h9 e+ Z
        char id;; U7 `1 O4 L9 P- T+ Z8 ?

$ X9 M% z& E* ?7 K        Agent(char id) {2 g1 T; s" o* \( h
                this.id = id;9 M- X" z$ `- b5 R8 ~3 V# l
        }
* t8 V3 k. B1 n$ R) |4 u9 |' o  z6 |1 }1 L0 W  p
        public void agentStep() {
3 ^% w: W5 z) A8 x9 m                System.out.println(id + ":" + Globals.env.getCurrentTime());6 d4 A9 X5 R+ _! B3 R
        }
8 c9 L! q* T8 \& o% r; e% x}
) D( {# |( R& y7 V$ ~' o
, e# e$ a4 T7 bpublic class ActionGroupDemo extends SwarmImpl {
  ^+ L0 Y6 c* v" n; L* v        ScheduleImpl schedule;, ~6 v/ D# L9 \% L! G1 ?
        ActionGroupImpl actionGroup;7 e+ P$ z  I9 j% A, |! `
        ListImpl list;% ?/ I1 p3 _, N& J9 k
        char Id = 'a';
; b% z; G0 Q& n3 _( A7 D8 p, `, B, s
7 Y, f6 W7 `8 G/ {        ActionGroupDemo(Zone aZone) {
6 f1 [7 [$ s7 k/ X* C                super(aZone);
* e, l3 X8 ^7 B0 m6 A6 n                list = new ListImpl(aZone);
7 }9 q$ E" j; A/ b! a                swarmSetp();
: d4 n0 L3 A1 Z                actionGroup = new ActionGroupImpl(aZone);
3 X- f' T1 v  n1 ~+ u4 |                schedule = new ScheduleImpl(aZone);
; O& C0 `4 n9 }3 E                try {
! [9 {  J1 I9 w* b& |                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
) q. q7 A9 j/ T0 w% \                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行: _2 I8 ^! w* f9 @
                        
7 e4 h0 m5 Q8 J* K1 E                        actionGroup.createActionForEach$message(list, agentSel);
1 y. E6 t0 X9 n2 R$ ?* a9 U# v  F                        actionGroup.createActionTo$message(this, swarmSel);; R* C2 n& Z/ j* e6 p0 k! r9 _
                        schedule.at$createAction(0, actionGroup);+ t9 G7 z" t* F& _- Q# u7 V1 N. W: V
                        schedule.at$createAction(1, actionGroup);/ U* G: m& `2 S2 _( n5 g% c3 S/ O
                        schedule.at$createAction(2, actionGroup);
$ M* m2 Y; e  q' n+ t; W1 I& B+ o5 Y! @$ \, v1 y$ R: O
                } catch (Exception e) {) ^& \' P4 N2 V$ w7 @
                        e.printStackTrace(System.err);9 K$ L) x- K( Z% b
                        //System.out.println(e);
, N" M0 r% Y3 B. n- z                        System.exit(1);
9 M5 p' K+ p6 ]0 o; C$ s+ ~                }
+ a8 W- N$ O' G# s% P, G. }! {9 x& u

. h/ A, C. c. K3 `% m  I        }
4 \2 l9 `  Y$ z* T4 T, y) [1 {8 b
3 r# j+ P5 q. N- K1 F        private void swarmSetp() {
6 h4 O' u: X9 [                list.addLast(new Agent(Id));) u% I1 ]; p1 W0 ]% b  ]
                Id++;; E2 Q& V$ q- t/ h" ]1 v
        }
; `  `6 L: o- f: x4 a- E' R( `. ]1 P
: q6 M# y# V7 l: [        public Activity activateIn(Swarm context) {5 f( x* n$ X6 p
                super.activateIn(context);
. X) e: n- D) |                schedule.activateIn(this);& ]/ i0 R$ w# V8 y3 j. q
                return getActivity();9 K9 Z1 Z  D2 p$ E5 O* C
        }
; q1 ~. J  f: i9 V% U
- \  u# u! x; Q) O' Z! V        public static void main(String[] args) {; X( x4 h' j/ `2 r% e) O6 l
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);2 T' f3 {1 Q7 V6 P2 |3 y7 O
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) |# r" K7 g; i  F; d6 W
                swarms.buildObjects();
' S; R; H' h2 k' u0 a- |7 Z                swarms.buildActions();
7 i* m  b" ^0 v( c! ~                swarms.activateIn(null).run();+ T. m# f/ j2 I3 h
        }/ H" G% X, \: P' D4 A
: S4 o$ o5 t: U3 m
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-2 05:27 , Processed in 0.017485 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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