设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12569|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 6 k7 m" M6 y, b7 H7 M
" U: \9 l! l& r6 B
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
9 e( p, ?" U" P- N以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.) e( T# t( A! S8 _5 p9 B& `; k
swarm.SignatureNotFoundException
3 g8 }( H6 Z; X4 x! m/ f        at swarm.Selector.<init>(Selector.java:76)
, b' h9 {2 |' w5 w# j3 D        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)* |: T9 |# R5 k4 |7 M3 k: f8 Z
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 K6 Z) b1 ^% e2 z' ?" B/ S8 V( y8 E

  @0 F& c, y0 u3 W# h0 zimport swarm.objectbase.SwarmImpl;
7 y6 ]' b3 K* Gimport swarm.objectbase.Swarm;3 P+ _/ Z* g9 K
import swarm.activity.ScheduleImpl;0 T2 n  g; ~8 J" Y$ ~8 T
import swarm.activity.Activity;
8 R6 `2 @- n1 Mimport swarm.activity.ActionGroupImpl;8 R6 C7 q. p$ {7 F
import swarm.collections.ListImpl;
2 k& {: ^/ I0 v" Mimport swarm.defobj.Zone; 0 S" \% r- z2 }  x
import swarm.Globals;
1 k8 b. p5 e5 Rimport swarm.Selector;( w/ [% N/ E2 P) l
import swarm.activity.ActionGroup; " t. ~& ~0 M3 W/ @8 f4 h! {$ b
class Agent {8 w; P) o  `  c# g/ R5 U
        char id;
+ j2 t+ H' Z% t5 ]( m- ^" J) ?
+ j' f* e5 [  Z        Agent(char id) {
4 P3 \7 z7 k: [( G. D                this.id = id;
) p7 h3 O, U, {. k, D' K        }
3 D0 u" x. r: `8 g0 c! `9 V+ `) a! L0 A7 b# E6 J
        public void agentStep() {8 L, E% j2 H& F8 V4 [4 c/ ~
                System.out.println(id + ":" + Globals.env.getCurrentTime());
/ u. {' |& `3 Q3 _! m- s; o        }
8 R+ e- R. {: ], f9 O7 \" T4 V}
: O$ |  c: u$ I' s9 Y1 }. U8 A: ^3 t' H! J* J3 }
public class ActionGroupDemo extends SwarmImpl {! x6 p3 U! v/ Y6 h9 d% r6 X
        ScheduleImpl schedule;
. F" ]% \4 T  \% t2 K6 Y; k9 g1 N7 u        ActionGroupImpl actionGroup;
" C! a/ v( E$ q# C$ C        ListImpl list;- U/ A. s* v+ p( w! A$ F# x# k
        char Id = 'a';' B  i* v+ w* E* c' @# G- E# r

+ s. |' e! v  S/ y3 z        ActionGroupDemo(Zone aZone) {- U; J1 Z! d6 X! d) M4 `+ h) G
                super(aZone);
$ u6 ^; D( q  d                list = new ListImpl(aZone);3 ]# ?! D/ O( N, b: x8 B. o
                swarmSetp();
; j9 k  g: i: d- c& Z/ l4 w                actionGroup = new ActionGroupImpl(aZone);
$ h: B& C, M9 h" I/ r                schedule = new ScheduleImpl(aZone);' X: P+ ?/ K0 l$ v5 s6 r- S
                try {
" f4 }# p2 D5 b% Y: T                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
5 @' S- e) _  y* @3 x+ W3 r7 m5 m                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' f* M# d% b, H- o/ T: ~
                        2 L7 k" y1 |4 @0 a( |
                        actionGroup.createActionForEach$message(list, agentSel);/ R. l* X' j6 v3 M
                        actionGroup.createActionTo$message(this, swarmSel);  Z6 _8 R) g4 f
                        schedule.at$createAction(0, actionGroup);
+ I& g  A* m7 F" ]3 x                        schedule.at$createAction(1, actionGroup);
, [( @6 B, s# l* ~# G                        schedule.at$createAction(2, actionGroup);
4 A: A4 l+ t" B4 F. ^9 }, l  G+ f" l3 N
9 |4 A  k" Q% Z' a8 _9 ~7 |0 l                } catch (Exception e) {( Y6 |( m0 j/ B8 \$ }3 ^6 i9 g- ^
                        e.printStackTrace(System.err);' y" s+ v5 j4 R+ x" k
                        //System.out.println(e);
9 S# D* A( U& ]8 W* w                        System.exit(1);6 u" A" A' O, O) i
                }
& G1 x1 g9 P! s0 V+ S' c2 V& P# m+ k6 ~

# u1 c& v0 p; P6 o% O        }: V7 V7 T8 q" q! V

6 O. r# x' {) t5 c2 C& g/ X9 B        private void swarmSetp() {
. i1 ]3 e/ ~% }% K* d0 {  u                list.addLast(new Agent(Id));" T) Y. T# n& Z
                Id++;
9 s4 n1 Q% x$ x8 f2 H* V, N! H, g        }$ b3 N+ c5 [" k' g
* v* J" [* c# @8 G7 l' S6 \
        public Activity activateIn(Swarm context) {
. p( I$ _4 B. F0 A, Z, z" m                super.activateIn(context);! N0 w2 |2 o( {! f7 }5 t
                schedule.activateIn(this);4 \1 P  v3 s$ n5 U/ a/ H6 t
                return getActivity();' I1 p" f" j4 e. N; x! @
        }
. D3 ^$ m1 y( s$ q$ D! k6 b
# i3 C! g* x& v; M8 y& k        public static void main(String[] args) {* A  ?/ \1 P6 L$ J/ k
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 N: h% Y  j- O: j% I                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
6 \1 W% c6 K7 X9 J                swarms.buildObjects();/ a3 v! C3 {* U2 I" o  o" M
                swarms.buildActions();3 n+ q5 T0 R3 T- r) y6 Z5 D
                swarms.activateIn(null).run();8 T0 G% v& v! H3 _# t2 e' u8 G2 m
        }: @( c+ |" w  P7 B. r8 s* i* s

) B$ e9 `2 N9 q4 p* Q5 L0 d7 i- K}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-12 14:08 , Processed in 0.015488 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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