设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13509|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 [1 Q5 {" h$ I: _, a9 }5 X; k

+ @* e$ Y) u" w( W本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) E( O' W0 v/ h6 |以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' A1 V* m, X3 H
swarm.SignatureNotFoundException. X& K/ V0 U) ]9 I% [, O; _
        at swarm.Selector.<init>(Selector.java:76). k- p6 _( z9 j& p! z7 f& M
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
) y) @: @* ?. H% j7 @9 d' L        at ActionGroupDemo.main(ActionGroupDemo.java:67)
: W4 s8 J9 G! K& @
1 N& g9 Q) N& d8 M( g+ \& W
. `# y( R! o" g) ]" \; ]$ x+ Uimport swarm.objectbase.SwarmImpl;
% o/ f; s2 m3 {' C# gimport swarm.objectbase.Swarm;! V: X! j; h6 ?) D8 E4 ~( ~
import swarm.activity.ScheduleImpl;8 ]9 _! c0 o- [2 I
import swarm.activity.Activity;
/ u1 n; S! Y2 ^& }0 Y! n( A6 F2 Gimport swarm.activity.ActionGroupImpl;- w1 W2 D2 f3 H: @; R3 H
import swarm.collections.ListImpl;
2 _/ r& o# s' a5 D& V* b" i8 `import swarm.defobj.Zone;
$ B" E* R/ F! Y8 V+ Bimport swarm.Globals;
7 e3 l% I+ H! I9 e1 uimport swarm.Selector;1 R- J6 I3 L8 w$ r
import swarm.activity.ActionGroup; - F- b7 b& k  c+ @$ \
class Agent {, X1 I" I" W; E* n& O1 ~$ N
        char id;
8 c; c5 K/ k1 c. p. _0 ~# E. U1 R+ D# A" {$ @% H5 ^
        Agent(char id) {
# l3 W2 o! y3 b  W                this.id = id;
- p' Y9 N. q# ?% I0 N        }0 w; ?" ^: Y' a2 A) z

( [( S0 P) A2 S0 ?. o! u        public void agentStep() {
( O" O- ^0 {+ t                System.out.println(id + ":" + Globals.env.getCurrentTime());9 n- E7 b+ S) H, i
        }& V: j& S, e2 m4 ?  {) q
}8 Z7 ?9 P2 n/ }' c

6 D$ s1 w9 B  |public class ActionGroupDemo extends SwarmImpl {
& }. F, r# }) o+ A4 J; z        ScheduleImpl schedule;
, e+ v1 g1 n& _        ActionGroupImpl actionGroup;% `) {+ D+ G$ h1 v0 a& K6 X
        ListImpl list;7 ^4 R. r+ A$ h, z
        char Id = 'a';5 R4 ~0 o* W9 J6 A. s& b- u. s# `
8 P, G4 i& }; z, [  V4 c
        ActionGroupDemo(Zone aZone) {. H9 z6 c7 B* m/ d; j* s* V7 Y
                super(aZone);9 l' Z$ K; a: w* q5 C" R
                list = new ListImpl(aZone);+ I# h1 |2 c( K, a2 [" H
                swarmSetp();. V" o% W: X5 S& G' h+ J. G
                actionGroup = new ActionGroupImpl(aZone);* c- w0 u9 B3 o* f" }, l8 D
                schedule = new ScheduleImpl(aZone);2 m1 K: `& z$ t/ p; z6 {- u
                try {
- q( {4 Q* G) L3 C. [# f' I) t6 F, u                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
7 p' `  A5 z2 \/ ^                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ x  \+ [+ G% K' R2 k0 d2 p5 P
                        
8 [* `; G" w; m3 x: u6 {5 A                        actionGroup.createActionForEach$message(list, agentSel);
8 g6 V! S+ u, J# @9 Q                        actionGroup.createActionTo$message(this, swarmSel);
4 g& a; R7 \8 g6 g; S* {, M/ R+ c                        schedule.at$createAction(0, actionGroup);
. w* E% ^$ \+ O! b  B; J$ m% v                        schedule.at$createAction(1, actionGroup);
1 }5 \' K# T. h6 W* U9 C2 @                        schedule.at$createAction(2, actionGroup);
. z' J) s  _; N7 Q( c% [  |$ e% x6 V& ?% O6 w
                } catch (Exception e) {" f# r7 Z5 y: L' J% H/ U+ o1 i  x; m# v
                        e.printStackTrace(System.err);
) d" d5 Y" ?" Z1 P7 a- V                        //System.out.println(e);
4 s9 j0 W+ {( v+ N0 P                        System.exit(1);
( K( I, u& h$ Q3 [: F; u+ @                }) F- ^9 b/ c- d3 Y7 c2 [  o

4 d; ?4 c7 f" u8 _% |1 \
/ R2 i0 M7 d$ B7 `- K' e( Q& M        }
3 F( T% T& g! |5 Z& ^9 \
4 r' }3 ^% i! ]$ |1 j6 u2 K        private void swarmSetp() {9 N# Y& u# `, S+ {* V2 Y
                list.addLast(new Agent(Id));# p  b! H- U$ G6 [- f* X+ j
                Id++;  r$ ~2 W. G4 W/ q! X& P4 h# g$ }
        }
  r& ^% G- a; n) ^/ S
% E  a3 z7 E- j# Z3 ^        public Activity activateIn(Swarm context) {9 Z2 W! W1 Y  v9 H) u0 J/ b
                super.activateIn(context);
/ v7 f1 |/ s( C& t8 p3 `+ ?$ U2 j                schedule.activateIn(this);
2 P2 g& f( Z0 e9 p5 U3 x% ]                return getActivity();- r8 @; @) ~; }8 Q5 B! F
        }0 X0 B$ @% c. y3 {2 O, m$ p
% K) h) p( d! S; @
        public static void main(String[] args) {
- f3 }! n; c7 p                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 f$ Q8 L+ a# x2 M* t                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# {5 B# k9 k& r4 i" M                swarms.buildObjects();1 Q. T. I: ?3 D0 Q* V
                swarms.buildActions();
* T* b; ]1 V( V. l7 A/ s- S9 e                swarms.activateIn(null).run();+ j* R3 b0 G  n! ]
        }
* e, M3 q4 F7 o5 z8 h) G# s: A9 j9 s. f% P, \" R& i# Y7 C
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-9 07:52 , Processed in 0.020914 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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