设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8435|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
0 H0 R" y6 {: S' q  i8 s; B" F/ X6 Q  `+ q9 P
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) _1 L& G6 q5 }* E  {以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
1 q5 i0 O1 ~0 a( c' O( c* `swarm.SignatureNotFoundException& z/ [3 D, d2 M8 ?* N
        at swarm.Selector.<init>(Selector.java:76), Y8 v" x9 a8 T- N
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
8 f! _" a' B2 [; ~! I        at ActionGroupDemo.main(ActionGroupDemo.java:67)
! f2 r4 `2 N! a5 R% k9 s, B7 g; N" r+ a' b" o% D

* D1 F$ C. o8 H" j% h' e! nimport swarm.objectbase.SwarmImpl;
: y# i) u6 {- e% c+ X8 q) pimport swarm.objectbase.Swarm;
+ a6 z! _' G$ Y/ aimport swarm.activity.ScheduleImpl;7 w" A* H2 O* A  K/ k2 M* Z( F
import swarm.activity.Activity;
0 a, a" C1 h# s9 c- f; eimport swarm.activity.ActionGroupImpl;/ s+ P! }  M! H: u8 a3 n& o% L
import swarm.collections.ListImpl;
- B1 ?# H& \: h7 e& Eimport swarm.defobj.Zone; 1 p1 h1 ^, I" N& M, X8 B
import swarm.Globals;# l- E! n  n" [) S6 f, z/ C: ?
import swarm.Selector;' t4 P: Z% p' K6 n9 z, R
import swarm.activity.ActionGroup; & m& q8 \+ f2 N5 l8 r" {
class Agent {
0 a: p0 I5 `+ a% _        char id;
" o: Y2 l8 f& l* H, J2 c- O0 x4 x3 U$ r
        Agent(char id) {$ _8 s$ d3 R* C; W7 B( w8 w
                this.id = id;! v: N) E+ M$ \$ c
        }+ u. C( |+ v5 [5 W( x4 X

+ Y/ M8 G+ z9 X. \" j        public void agentStep() {
- G  i7 t8 K2 H% y                System.out.println(id + ":" + Globals.env.getCurrentTime());  N" p# |, B9 X! J5 Z3 Y
        }
! L' P: K& |6 w) ]% r% M}& F* k/ w0 _/ o3 p+ T

0 ?# h6 y+ W7 `6 t' V$ Lpublic class ActionGroupDemo extends SwarmImpl {5 j6 ~0 k5 y4 Q- O2 j0 ?# }3 y/ l
        ScheduleImpl schedule;4 y- {7 I0 g/ _' R4 m& U. u  Q
        ActionGroupImpl actionGroup;& L7 \) R9 h! s' R' X& j* R) y
        ListImpl list;
( J5 ^% t" q. w' ]4 v8 Y0 |& Y        char Id = 'a';8 d2 H9 v7 e/ ^2 t' g8 u$ T
4 k  J" j: t3 R
        ActionGroupDemo(Zone aZone) {! p+ d! S' B, y
                super(aZone);! \. `. {) S  E' P+ }% o* ~
                list = new ListImpl(aZone);
5 |  W6 _$ P% S/ P" O1 y/ C0 l* V                swarmSetp();7 I, Z4 H  v3 q3 j2 e
                actionGroup = new ActionGroupImpl(aZone);
; ^/ I: a4 D5 v6 p( G6 D                schedule = new ScheduleImpl(aZone);& ]* ]- o; M; f- S9 u
                try {
  {8 y; z4 R: u, u% {5 W1 P                        Selector agentSel = new Selector(Agent.class, "agentStep", false);3 q- w! i, ?) H6 M. v( K8 Y! I# `
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. c5 P5 p; ?9 b
                        8 q1 ~  M! S% u& P% B
                        actionGroup.createActionForEach$message(list, agentSel);; ^* ]: L* `( r7 |9 _
                        actionGroup.createActionTo$message(this, swarmSel);4 d' W  A, O6 t- a
                        schedule.at$createAction(0, actionGroup);& R0 s$ }# E5 z  Q8 y
                        schedule.at$createAction(1, actionGroup);/ o' z5 W6 C( v: j- g4 I1 r$ p  t
                        schedule.at$createAction(2, actionGroup);
( d" l6 o# ~) ]$ B" Q3 A1 w+ i3 v5 W+ Y2 e1 z0 m' C1 Z1 ?
                } catch (Exception e) {0 F2 T8 c6 h$ \1 |9 M% j  m
                        e.printStackTrace(System.err);# Y6 e" B! ?+ o! w! E
                        //System.out.println(e);
% M) Z6 m5 f; G. y                        System.exit(1);% I2 R( C+ r8 H( H$ t$ _
                }6 F  `' {% Q" L0 Q) O

# ]) K: E% d5 X# a
; |+ @0 G" ]: x        }
; R0 t4 T9 u) j- o1 t% ^" j$ {7 S# |  v5 ?6 |$ N. v+ V0 W
        private void swarmSetp() {' J* ^3 R' P3 m+ W2 {) z2 c0 U
                list.addLast(new Agent(Id));5 B9 x4 ~& f# c7 e
                Id++;+ `+ j  l' S1 O3 G; @1 z! M* B8 F$ z
        }* v0 b5 [; T. p9 }0 ^$ N" z

6 v, h, ?( A. t3 e2 u$ I7 D( }        public Activity activateIn(Swarm context) {
& e: p& ?* Y5 {0 R: B& ^                super.activateIn(context);
3 J1 m7 f( H! f6 e9 S& w                schedule.activateIn(this);- g" I9 r  O5 ~" q% e  I: ]% W
                return getActivity();! ^1 W/ [# O6 O. H3 K
        }- |5 T' h# d; ~& ^- [, c* X5 v/ K
' f  ^5 u3 H9 C  {# D/ @$ q1 l
        public static void main(String[] args) {8 C( Y) A0 P7 X, c4 w: G' X
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
/ v4 ?  j8 t4 p+ p: k# O! N, m                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);5 g; e6 R5 v0 f; Q. e
                swarms.buildObjects();2 g+ P( z3 \% Q
                swarms.buildActions();
6 D& C  p4 E7 |% k8 b                swarms.activateIn(null).run();
" B4 K% n5 d$ A8 }% p8 F3 _, o: N        }' d9 {, Z: I+ e/ H7 ?2 V
. d! ~7 m( I7 k8 P2 v. ~% t
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-12 05:06 , Processed in 0.016069 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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