设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5096|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# I4 v" i. s& ?# O2 ^. D3 j" i0 K2 {5 x- x
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21  o9 D# _/ U* l0 K5 z
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.& g2 K  j2 g" T" i; k. f2 M
swarm.SignatureNotFoundException. H$ m$ B7 k9 w4 C3 p. U
        at swarm.Selector.<init>(Selector.java:76)& X; {6 K4 L4 C6 ~8 \/ @1 O
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
# i1 g* i! C! V2 ~  l5 C        at ActionGroupDemo.main(ActionGroupDemo.java:67)
% l2 F( |4 Q2 w4 v' i: Q& W3 K/ Y' v  e

' V$ c) [8 b; Q) a4 [7 ^import swarm.objectbase.SwarmImpl;+ {( K- \8 M6 x
import swarm.objectbase.Swarm;$ j* K$ q5 P/ a
import swarm.activity.ScheduleImpl;
" j0 t  I" R; w7 e; T9 I# B/ eimport swarm.activity.Activity;1 z$ n9 p8 `! A% A
import swarm.activity.ActionGroupImpl;
  A9 s) ?* o  z6 Ximport swarm.collections.ListImpl;
" F( S) T0 z" P: X. nimport swarm.defobj.Zone; + g6 l$ Q+ ]1 d) P: Q$ q, r& f5 w
import swarm.Globals;
5 O/ F. |4 b$ {' u3 p5 Timport swarm.Selector;2 W  [" ]! K1 g) @1 a7 }) E3 r6 x
import swarm.activity.ActionGroup;   d9 J% T* |) r' ^
class Agent {& k$ g# \. o: o0 [
        char id;7 _# ~/ F8 O/ H, w
  w& u7 |& F5 w1 l% {) m
        Agent(char id) {9 R5 F$ |3 i' ^6 O0 I6 {- }
                this.id = id;6 J" T- |5 w# s3 j0 n3 d
        }
6 m: @  R8 l& X  V6 Y
! Q8 D+ ^$ ]% _7 Z; ~        public void agentStep() {4 l1 F- A! y. S$ r! K/ J  i) M
                System.out.println(id + ":" + Globals.env.getCurrentTime());
0 G* E; e# I8 k2 N, ~9 a        }
7 H* o& p  W: V1 J( |}
9 `3 P7 W0 W, h8 m. Y. j* G8 h8 |, t! N6 q" `
public class ActionGroupDemo extends SwarmImpl {
& `0 \* B1 O; W+ M- }& \# H3 d        ScheduleImpl schedule;, o) Z4 M* E5 v! T$ C
        ActionGroupImpl actionGroup;
: w+ `) ]# ~5 }9 v% ?+ v2 R' ?8 n) K        ListImpl list;
6 x; E0 o9 K/ d        char Id = 'a';
9 P  `7 F- ^2 H
' k3 f$ X4 A. N# L" V  f        ActionGroupDemo(Zone aZone) {7 O' M7 t& |- J2 P5 _! D, k, I0 A7 O4 Y
                super(aZone);
4 L6 `. L& O( j4 |6 d" K                list = new ListImpl(aZone);
4 I2 g6 d) k0 f5 C; w+ ~                swarmSetp();
/ }+ s" \/ A3 S4 Q) j                actionGroup = new ActionGroupImpl(aZone);3 b8 W. m# }2 m- ~4 B
                schedule = new ScheduleImpl(aZone);
* u1 V# J& w! V9 @                try {
/ }7 _" F& |$ Z  E2 |$ W                        Selector agentSel = new Selector(Agent.class, "agentStep", false);# f; Q0 c- r( \
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! M( z% @  i% E  ~- I                        
) U7 U' Q; {1 j9 v& e                        actionGroup.createActionForEach$message(list, agentSel);/ f! V+ `; w6 f8 ^1 w+ T! ]
                        actionGroup.createActionTo$message(this, swarmSel);% o* A# O" z6 l2 @: V) S
                        schedule.at$createAction(0, actionGroup);
& O* a3 F4 h) r! {9 z' z+ Y0 f+ X                        schedule.at$createAction(1, actionGroup);
) B( z3 }9 V& w3 @                        schedule.at$createAction(2, actionGroup);! C; X8 F& I, V' t
+ W' R- ~2 x1 q# z+ q
                } catch (Exception e) {- D+ C. h$ M7 b5 r6 }' M
                        e.printStackTrace(System.err);. L' d; L0 l7 ?& o) i9 J- _
                        //System.out.println(e);; x# x* y+ c0 i- e
                        System.exit(1);
4 B. Z- J: z6 H. M                }# X5 u5 n  B7 y" }

/ S, d: d6 t5 `# _+ y% `
( d, V* X/ Y( M% B: _( t/ I" u' @; V        }/ |  D' g5 L; S, n# b' U; \

& b. @3 i& z2 ~- K( u; E        private void swarmSetp() {
6 I8 e/ f0 k0 K4 Y                list.addLast(new Agent(Id));& Q- P* t* K" u1 I7 x
                Id++;# X, U. B5 l& l2 x' Q
        }& u  A% o: K4 W0 Z$ @2 V- z5 i

' ~- B5 o: ]. F6 G- m        public Activity activateIn(Swarm context) {8 F" J) S. V0 p2 z% U( Y7 M
                super.activateIn(context);( g( X( i& A3 z% z0 L8 ~
                schedule.activateIn(this);- Y: _, V* {0 Z7 p$ L# s2 D& Y) _
                return getActivity();
: r; I0 ~, G( B$ V+ W        }: R8 I! D/ E! G* T: c9 v

1 T0 y" ^& K  o( F# c        public static void main(String[] args) {' t- H* }" ^& O" g8 b9 E0 a
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 m5 q) h' K  T* @                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; m; _/ K8 a4 C2 _# v1 R8 |: d                swarms.buildObjects();" e9 K9 }9 H5 ?  }8 l+ s3 t3 ~
                swarms.buildActions();
0 Z4 J, D8 d: f) a$ a* {# f6 p                swarms.activateIn(null).run();( Y* x- D0 g3 w; m
        }
% k5 T3 i+ X! ?9 M. m2 p% s6 _5 L- r4 E. ?. M
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-24 21:54 , Processed in 0.015588 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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