设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11737|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 r3 X, |* s0 n4 Z  c# E4 Y; L  V4 H; S4 I# V8 q
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' j) p$ Q$ p% Y* d- X以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: l5 W; f( J6 v3 F4 T
swarm.SignatureNotFoundException
: d+ w8 q! A) ]        at swarm.Selector.<init>(Selector.java:76)8 u* Q# y( F, E' I7 t# j! R
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( T$ L3 k1 @  R4 [& E) W
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
) _/ D# H. y0 c9 b& y: k8 B& p# f5 N

0 c0 P$ R( k. l( A* y% n- simport swarm.objectbase.SwarmImpl;5 {( |8 g6 {. a, p* w7 B
import swarm.objectbase.Swarm;0 f9 m( g: B  H
import swarm.activity.ScheduleImpl;
& q3 t( L/ E* _5 [, F% ?import swarm.activity.Activity;& P1 s$ k3 C" L7 \5 M; f$ H
import swarm.activity.ActionGroupImpl;! `% C) H: P& z5 Y+ A, q; C
import swarm.collections.ListImpl;$ _( }) r% a  Q
import swarm.defobj.Zone;
2 A& G4 |# h9 p& z% l& Aimport swarm.Globals;
0 e4 N* H+ Z- ]% T' T1 oimport swarm.Selector;
1 R/ c# L; }: fimport swarm.activity.ActionGroup; 3 ^# g" Z! ^% ~3 Y% }
class Agent {# a  C) y' C; D/ O
        char id;8 N/ c$ }2 K+ }: e$ R
: n, H( v5 b8 Y# ^5 c
        Agent(char id) {6 m% s* Q. F8 Y' b  z1 @5 @
                this.id = id;: N$ U; z5 N1 x3 J' g
        }1 L; r' t8 L# B  l% F
3 q2 R& x! |  h$ L7 X" {; }
        public void agentStep() {
4 G% q) \* o% J9 ]; k2 a                System.out.println(id + ":" + Globals.env.getCurrentTime());
' @$ X; \- l6 d5 T- L( [2 o( i) m        }  f- _2 y4 ?, H: i& F
}
5 _( x$ y, k! z- u  _- X+ w4 r2 c7 a3 n; E& F6 Y; I) d
public class ActionGroupDemo extends SwarmImpl {
- i5 M1 I4 B2 Y& S, V% ^: d        ScheduleImpl schedule;8 q- \4 g/ r) W# Z7 o& {, {( o
        ActionGroupImpl actionGroup;
8 Z! o$ L: a9 O) ]" D, u9 C+ i        ListImpl list;3 Z- {6 h5 J9 J8 O" o3 e! _
        char Id = 'a';
' ~6 ]" j; T/ ~4 e, x' f
4 @  {3 E/ ?7 }3 E" D, U        ActionGroupDemo(Zone aZone) {
2 B- F& V5 w8 R5 U6 t7 n9 ]                super(aZone);. d: ~' t! f( m! }( e
                list = new ListImpl(aZone);* j% m4 a; w# q6 ?2 O5 ?+ q
                swarmSetp();
$ Y  C+ k3 o5 u/ W$ x. e                actionGroup = new ActionGroupImpl(aZone);
: Q' P& ]& ~* x0 T                schedule = new ScheduleImpl(aZone);
) w/ F' ~! J* y                try {- B' j' C( ^( V8 _* j
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
) h$ A3 ~8 q) i                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行0 y  V7 i* R8 _: [5 x% V3 B; P0 p2 q
                        
. V0 \. u; F" h) I. V                        actionGroup.createActionForEach$message(list, agentSel);# D4 d! K' U! s7 e( x$ C1 U
                        actionGroup.createActionTo$message(this, swarmSel);1 m. }+ J& x, v/ ]- o
                        schedule.at$createAction(0, actionGroup);# F9 y3 b1 q) K
                        schedule.at$createAction(1, actionGroup);) D: \0 ]2 V" n7 [- D6 ?
                        schedule.at$createAction(2, actionGroup);
9 i% m+ M7 p, e
+ I9 ^+ Z6 H0 o  \6 [0 {                } catch (Exception e) {+ `, G9 k7 q9 C. Y. V! w# }  G6 r
                        e.printStackTrace(System.err);
  p# l) o' r2 l# `6 T                        //System.out.println(e);
$ _: Z- |, u8 b+ @! u  e                        System.exit(1);0 B$ H# F0 k' C2 t( C" t5 o
                }% g7 i5 i, e5 Z

! r) s: U+ N0 X" s! z4 W" C- D- N. O9 |" s6 |1 b. F
        }$ j- Y0 I0 D. }: ]% e# d

5 Q6 X9 m# g7 ~        private void swarmSetp() {
4 {( A- B4 j& @4 W# ?# a4 o                list.addLast(new Agent(Id));# g, m9 E7 y! o5 _8 _8 Y7 |5 T
                Id++;: a7 [, ~9 L8 I/ E
        }) j" \9 _) B) K  F* ~' U4 e

% `& t  k5 a3 }: G, Z& K        public Activity activateIn(Swarm context) {) @, [# d9 m; P- d6 ]
                super.activateIn(context);2 M- W4 r, P( S8 l2 O( N8 `( c# K/ o
                schedule.activateIn(this);
) s' q: b* e8 {: w3 m% ^! _6 Y                return getActivity();
" `+ k; X. |7 R- Z        }
" y: I3 m8 P8 O' l: v9 p& v8 S4 q2 w' k. |% ^3 u7 H% n
        public static void main(String[] args) {# _: O* o7 }0 H; j0 g* X
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
/ j1 p  ]6 G. W: g) _8 ]                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ D9 e7 m- ?1 I                swarms.buildObjects();( D& z4 h5 ]3 T
                swarms.buildActions();7 T- u0 O" e5 i0 b6 j$ P( y$ }
                swarms.activateIn(null).run();8 b9 ?; N: m" B  m; p; s" O
        }
5 u. N- m% O7 j* [
, ?3 @' j0 U' t+ \% x& O7 P8 r}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-20 11:33 , Processed in 0.015552 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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