设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5113|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % `& L" d) H: L: }& S

' |4 Z( g4 j' N/ V本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
. [' G, [$ s: z3 e% b以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 D" R- b. q9 h' e% @/ [* ^) L+ Z- ?
swarm.SignatureNotFoundException* S/ P; u  e- S. U8 {" u) x
        at swarm.Selector.<init>(Selector.java:76). Q2 B8 x1 K! h8 W, h+ W5 C
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)5 O* a" T- S9 E/ x
        at ActionGroupDemo.main(ActionGroupDemo.java:67)9 E% j9 z% j- B7 R, S) V# t3 h

0 u# e# V5 |( H4 v$ ~" B$ l. {0 L
import swarm.objectbase.SwarmImpl;) h$ @( U' R1 k- j
import swarm.objectbase.Swarm;
- B' N* y. v2 O, r; g& Oimport swarm.activity.ScheduleImpl;6 X8 E) c& x" D
import swarm.activity.Activity;
+ N$ I' b, n: h. B: f6 ?6 Yimport swarm.activity.ActionGroupImpl;8 M) K7 C& _& Z1 q' G+ e# e
import swarm.collections.ListImpl;" Z# Q( Q& m" ]
import swarm.defobj.Zone;
$ _2 L0 V" k) z% W$ simport swarm.Globals;
6 R* p% H/ A; x/ M3 Y% C. ]import swarm.Selector;; A* o3 E2 M. x3 _. D
import swarm.activity.ActionGroup;
( O( D% t$ D: j* L9 l/ A6 ^0 U. vclass Agent {
  A! F. j" O! ?        char id;( L: \1 A+ v5 m3 ^8 n1 h7 N: o

' U( W$ O4 f. V0 f        Agent(char id) {
1 v: ]  K$ a' N1 ~- M                this.id = id;% S; [+ z9 \/ _3 v9 A
        }, V, s! I( {2 K! x& A

+ g4 |) H+ x# w& t4 ]% M+ O, f        public void agentStep() {
  c0 f5 n% r2 H& `                System.out.println(id + ":" + Globals.env.getCurrentTime());' h) [7 f( c+ ]7 l/ g  t: n
        }4 Z. }9 x0 X6 q
}6 w. H( n* b3 K% I5 S" ?* c

5 t. s9 v. F* }2 m' s; d  a+ upublic class ActionGroupDemo extends SwarmImpl {
2 v9 N  i4 C1 M  ~7 ?  L        ScheduleImpl schedule;
" G. b9 h, \5 Y: E; r* d/ {        ActionGroupImpl actionGroup;5 y% S& P7 G9 Q; h* }% I; R
        ListImpl list;/ a$ d- R7 j* B, {* R1 j9 |6 {
        char Id = 'a';) Y6 ^% U- X% N
% y- C8 {2 [3 U8 z* H/ v" V
        ActionGroupDemo(Zone aZone) {; w) ~" k4 F! H, L' O; D
                super(aZone);
9 i: v! H+ b2 I                list = new ListImpl(aZone);
2 t8 f/ @$ l' l2 Q5 X                swarmSetp();- o7 v0 J; ?; ~1 ]6 `7 e; N) F
                actionGroup = new ActionGroupImpl(aZone);
( x# ]7 T, S0 D- F: ?: }7 W. g# r                schedule = new ScheduleImpl(aZone);
" h* T. |/ q; p' K; O/ B5 X3 G                try {3 z4 w: O$ g5 K& L
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
- N( D2 A9 ]# ]( o' C% a  u                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' _4 T6 N7 a. N6 X                        % R# c- W2 F. A2 w
                        actionGroup.createActionForEach$message(list, agentSel);
1 f3 }! Z, T3 @. Z* J6 V' V                        actionGroup.createActionTo$message(this, swarmSel);
6 a! Y8 K9 H1 O8 ?' K. L                        schedule.at$createAction(0, actionGroup);
) v" ?! K$ x& r# B4 W                        schedule.at$createAction(1, actionGroup);
/ d* A% K/ ~- v% [: U                        schedule.at$createAction(2, actionGroup);! ?' w. n2 a! |" v" v$ q
8 `1 G3 y$ S4 a2 T( r
                } catch (Exception e) {
1 u" w; f, a2 c. Q                        e.printStackTrace(System.err);
% L$ ?4 M; |" D8 u" s                        //System.out.println(e);
! Z, e5 ^3 a! }" I+ x                        System.exit(1);
2 Q+ p& v4 j, ~' |                }
  Z+ e2 [, q. X8 n. `9 `. g8 V+ }- H; q: m
* T. I3 n5 Y( V& R
        }: v; O" }, C9 n6 J- s

3 Q3 s, g; B( g1 D% B: d7 }" s# _; Y        private void swarmSetp() {
0 Z9 T* P! m: g  H                list.addLast(new Agent(Id));- F5 g% X) l6 x+ t& v& @+ z
                Id++;
3 h! A( @, `' x% f8 _& x        }- P7 I: f- |% p* e+ e/ l) R8 d

: ]6 @' ?4 d8 A9 X0 Q) ?        public Activity activateIn(Swarm context) {
$ \& o- H! ]: c5 V+ U% U7 q                super.activateIn(context);
0 p! D5 g' `% L: C                schedule.activateIn(this);$ I, ~' _# s+ s: H0 v& c
                return getActivity();, @$ z! B) R) U8 o% ?, d
        }
2 i. k1 V( U' t4 O6 k0 w) p  ?, H; Q' _! j4 ]
        public static void main(String[] args) {
; b" s: \  m) t2 j2 `                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
. j: K! N2 b- W* M/ H                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);" o7 Q( J: W' s1 w
                swarms.buildObjects();
5 e' T  F0 h3 ?0 S                swarms.buildActions();* M0 O1 m% \! N, u. T$ C" K
                swarms.activateIn(null).run();" Y3 n+ w, d5 I4 g& R* K! |% x
        }6 x: B% F% Q- e! A" q! a
" x8 b) b$ V6 |: R6 e, Q
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-25 09:35 , Processed in 0.025700 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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