设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10265|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 7 n5 X+ A# _5 l  L+ o# _

" [# J9 a, v6 R本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# d, I# G/ @  c# Q2 t. Y3 I0 T以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.  e$ Q7 h! Y  I5 d/ g6 ^9 v+ V! l
swarm.SignatureNotFoundException' C  ^/ S6 T- C
        at swarm.Selector.<init>(Selector.java:76)+ p  ~/ h. C7 L$ S" f8 l) J% ?$ z
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
& b1 _7 c/ O+ y( m$ k        at ActionGroupDemo.main(ActionGroupDemo.java:67)7 W0 ?$ [5 \' M% d. B5 J9 x( ~0 ]  }
6 V7 Q2 I' }2 F' n% `; o& d

  L0 `" {3 _' E9 {import swarm.objectbase.SwarmImpl;
. Q9 W7 q) o) c' nimport swarm.objectbase.Swarm;7 q- T; d+ r7 e" }
import swarm.activity.ScheduleImpl;
: T) ]  U) ^6 w0 ~import swarm.activity.Activity;
: X* R. Q5 o5 e/ mimport swarm.activity.ActionGroupImpl;9 H8 m, n$ Q9 b
import swarm.collections.ListImpl;0 I- m8 c: x- D% h) C
import swarm.defobj.Zone; / D) N# Q5 a/ F" [2 j! L
import swarm.Globals;0 w9 ]8 A4 i! D7 o! X8 I" I
import swarm.Selector;; {& w7 T4 b) i4 h: u5 Q+ V* R% T
import swarm.activity.ActionGroup; : m( X( K, m) N, a* _  B  @
class Agent {. w7 Q% m7 ^" s' L
        char id;* ]. ^0 a( J) ~
, j/ E& C9 M! J1 A7 T' \
        Agent(char id) {
) \/ U6 q7 q$ \+ S                this.id = id;9 e. [- ^5 U3 F8 }# ?
        }
& J0 h: j; G3 J" u
, O3 Y8 m9 ?5 d3 o        public void agentStep() {7 o* h2 B. Q' U" d" F" n
                System.out.println(id + ":" + Globals.env.getCurrentTime());
  B# L/ L& |  ]; N: b4 U+ a) I        }
7 z' C/ B7 K2 z6 V- Z}
+ e0 n9 U- ?, T7 b! [% C+ O- m, Y1 [7 j# H* Z, a
public class ActionGroupDemo extends SwarmImpl {) }5 G% H) |. a( |' e, y
        ScheduleImpl schedule;0 P$ l8 B& t9 H
        ActionGroupImpl actionGroup;- R! C( P4 V4 D% l% R" a
        ListImpl list;
+ b, b: M5 Z/ F1 M        char Id = 'a';
( j/ ?( ~3 Y) n) d2 H; d! q2 t+ y4 s# M4 e* T0 m# E3 N2 A
        ActionGroupDemo(Zone aZone) {
6 s2 m8 ]) i' ~9 v6 I+ ]2 q                super(aZone);
5 `1 n: [6 f! ?/ s                list = new ListImpl(aZone);
$ c* t+ `: s9 G+ b" ^                swarmSetp();
* c. J+ u7 L, ?- Y7 S: G8 }1 M                actionGroup = new ActionGroupImpl(aZone);; M$ p( C9 h- u- j' N9 R5 c0 t% W" }
                schedule = new ScheduleImpl(aZone);
/ L7 N0 ~: e# S* G3 h                try {5 r. ]' j6 S7 {) {( T! ^
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
% W. N8 w0 K* K6 H* I                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' T; U. u  D1 i6 R                        
/ ?) v* k8 s2 |                        actionGroup.createActionForEach$message(list, agentSel);
; x4 ?3 Y& Z( [6 o" W# c                        actionGroup.createActionTo$message(this, swarmSel);4 |8 S: s& J2 l# f) L( g
                        schedule.at$createAction(0, actionGroup);
- D. D8 a/ I; g: o* j0 T                        schedule.at$createAction(1, actionGroup);
. h, x- l/ b. ?* k. `# w                        schedule.at$createAction(2, actionGroup);
3 a0 l1 A8 P, o" j9 U
! a4 ?8 f5 m4 o1 `4 }                } catch (Exception e) {% Z3 ^) Q0 t/ G' V* r/ F
                        e.printStackTrace(System.err);1 H/ t+ Z  d* Z$ F
                        //System.out.println(e);
6 T9 P5 b  f: C9 T/ I7 n, R                        System.exit(1);
$ i/ S. H% a  d# Z6 y; H                }
8 e, B3 I, @; p) o* p2 E$ f. q3 s: Z0 D
: b" O* `4 x) y
: l$ ?0 N! {1 S        }/ A' N  `; ~. t
9 G2 V4 Y& w- l& y1 C
        private void swarmSetp() {* Y( |' }" I! u; K) R. t: f' H- P
                list.addLast(new Agent(Id));
$ z  o, O$ J8 e1 a0 t* O: J9 }                Id++;
- k& ]% _4 j3 v        }9 P# X0 S3 E9 Q3 e3 {- m5 L! }$ B

+ C: k7 y! b$ U& g% z        public Activity activateIn(Swarm context) {
" o: `0 a. Q+ {                super.activateIn(context);8 ~9 T1 o, G% t! t
                schedule.activateIn(this);" \: ~8 F* o; ?5 V6 y
                return getActivity();4 y9 z  w7 t, ?8 @
        }
0 N1 `/ C7 {% o9 l1 ~. B) d- w7 A# ?& S, u7 v; Y
        public static void main(String[] args) {6 r( y0 h1 f) J# ?1 w# W
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);' B( _% Y6 ~8 a5 r8 P
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( [9 d! y5 c, k! _1 \, r. J. j
                swarms.buildObjects();
: n# }) y5 ~! D4 ], b# F                swarms.buildActions();7 d4 U0 Q5 M# t8 P6 ~( l
                swarms.activateIn(null).run();
# G! C+ e. {/ t5 ~. J0 `        }. N5 n: \9 e' R1 @2 L7 M% h
( \$ q% m9 |& t- `
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-9 02:13 , Processed in 0.012160 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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