设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12912|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 $ j/ Y% J2 @+ ^+ u4 \$ I
7 t6 @) f' O. D5 r
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
2 l2 }/ ~3 \5 g# L7 n/ S+ D以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
8 x' }& Q; K4 j% i9 S0 M1 n$ Dswarm.SignatureNotFoundException4 L1 {, b( N5 w2 g2 `0 N4 `
        at swarm.Selector.<init>(Selector.java:76)# c1 z( ~8 V- A# R/ m
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)5 j0 l& M3 B- j- Z) `+ a8 a
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 {% S$ h7 G( E. @7 t! I
7 {6 }8 k" H0 F$ ?3 U0 F
1 k  {% D0 q1 g( A7 y! j$ bimport swarm.objectbase.SwarmImpl;
1 K* P; _7 b5 h$ k$ r- k# B% wimport swarm.objectbase.Swarm;1 e+ D. h' m  W% A2 w" |( \: x" u
import swarm.activity.ScheduleImpl;
) B; B) ~! ^7 y3 |- D, bimport swarm.activity.Activity;* X9 r  e7 v. z: w3 K
import swarm.activity.ActionGroupImpl;+ S6 _; j' c, s' _0 T
import swarm.collections.ListImpl;
& K$ p4 T$ O4 E# W' n' s& j/ qimport swarm.defobj.Zone;
) S2 ^2 R. U2 r; kimport swarm.Globals;
( E! c: e7 w" `, K- b. y/ Himport swarm.Selector;
! a( @2 l& q) q/ H1 Rimport swarm.activity.ActionGroup; * z9 {' l9 y1 _5 f# P$ ^# X! P3 o
class Agent {, x$ p5 q! g1 f
        char id;
  |2 T( ^0 i3 }& s, y
9 t8 T* P. a, i0 H7 E" A; T        Agent(char id) {
3 h' v0 f* }2 d0 s& l7 B$ m& U' C                this.id = id;
. \  u6 ^. k3 h% ]        }
% G" \5 j) G- ~+ G" _) L, e5 z" n
        public void agentStep() {
7 d5 {  f0 Q* [% T! v                System.out.println(id + ":" + Globals.env.getCurrentTime());0 \6 l/ F" S* I4 K
        }( C3 T0 O4 _" ^- x, v, W
}. F# C! c3 n' o3 u$ O( P

) T/ a' |  x: H% w* c' V3 ]public class ActionGroupDemo extends SwarmImpl {1 {' J7 ^4 Z2 y# E
        ScheduleImpl schedule;2 K4 S1 F9 f" f% A, K  t
        ActionGroupImpl actionGroup;& U' y; y  s7 W  S
        ListImpl list;
9 [0 N  z) B) ~+ R. S" V        char Id = 'a';
% q; r# \7 @) d! x# ~5 e+ O7 S- q' D% ^- ?
        ActionGroupDemo(Zone aZone) {
; _) j( h- u; A6 c% Q1 M" l* h                super(aZone);
) ~4 u6 B5 N* a9 s; D. t                list = new ListImpl(aZone);
3 B0 p. `8 j- U                swarmSetp();
8 M) l4 H: P6 G8 V: Q2 h/ _& V4 v1 r                actionGroup = new ActionGroupImpl(aZone);
0 L/ u/ e" j* G/ Y/ d                schedule = new ScheduleImpl(aZone);. v1 R, _  k. c) u
                try {" ?: |" F# `, X! x  H9 i' a
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);! w7 Y8 b- G8 ]
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
- d( Y9 }& f; ?  _8 o, t, G                        0 V% I' R, o( U, n% l
                        actionGroup.createActionForEach$message(list, agentSel);9 O  x0 Z5 p$ T. ^- a
                        actionGroup.createActionTo$message(this, swarmSel);
5 H2 e, B6 r$ j( B" ^+ v                        schedule.at$createAction(0, actionGroup);9 ~, M% K( R& P
                        schedule.at$createAction(1, actionGroup);
. W: Q2 T. e6 i( W# |                        schedule.at$createAction(2, actionGroup);7 y; l$ r0 K6 w4 P
3 K8 N& B! r" B- s
                } catch (Exception e) {
$ F4 V  V4 N) K1 a                        e.printStackTrace(System.err);
2 M) H3 t2 }( j                        //System.out.println(e);
" w, w) ^! z7 T2 @  y                        System.exit(1);
$ e4 ]& D6 y& K/ s, P5 \                }9 C4 J+ l- m4 q
5 w+ i& i# C- y
" _0 k, X! I& J# O- Z; S5 S' f
        }
$ p! O7 P: p! `$ u5 Y) s# u/ \$ Q1 d
        private void swarmSetp() {' R+ _0 I* W: T) k, A/ Q. P
                list.addLast(new Agent(Id));, j" b! O/ v' k2 N& m$ f* e
                Id++;
. d5 a6 l3 B6 g* `* E% ]        }- q+ r% o, Y1 l! ?& C4 u; k. t
  N% M  J1 K2 T0 T2 z# \
        public Activity activateIn(Swarm context) {
2 F" R% v8 {. G% a3 E3 Y% J                super.activateIn(context);
" a& ~( L8 v% n  @                schedule.activateIn(this);; `" \% I5 g( F1 |
                return getActivity();; a* r  Z; v$ q
        }
2 [; m- G, V+ \
3 T, p+ |- P4 a5 Q$ t. ]- B        public static void main(String[] args) {
) ?" U0 y) h- w( w                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);, l; X3 ?+ v, R1 ]
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) k# h" M( P. B
                swarms.buildObjects();' f1 s' M+ n" X1 g! T; Y
                swarms.buildActions();
+ W/ l) [* y& s4 a, `9 @                swarms.activateIn(null).run();) [5 s( ^+ d0 A$ c7 s6 i% i# j
        }* e2 p7 ]& s+ t& j  t, I' j
' d% e5 y0 n  ]1 Q
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-23 00:17 , Processed in 0.021660 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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