设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6403|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 3 C* Y6 L3 I; F% x
- M- W6 k  r7 e! N3 L# R0 O' t+ O
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
% T; w3 `- [( s9 E8 a5 c以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." r4 d% t$ j% q! ~2 ?. B2 m
swarm.SignatureNotFoundException/ D) Q' L, {# f! L) c
        at swarm.Selector.<init>(Selector.java:76)+ l) l* S# W% U
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)# q. S  W+ Z7 b5 ^
        at ActionGroupDemo.main(ActionGroupDemo.java:67)4 k1 P( s; [0 Q9 F
' N, i, e* Y8 Y# P& P
7 B2 O0 Q; O# I) I
import swarm.objectbase.SwarmImpl;* V0 b& R( `: Q! y! U; n
import swarm.objectbase.Swarm;! }; b1 {, ^2 L) ?9 J
import swarm.activity.ScheduleImpl;
5 c1 s( w5 G& [) z) pimport swarm.activity.Activity;
3 G( i9 r- R& \8 O% i, E  |1 M1 jimport swarm.activity.ActionGroupImpl;# F& T1 C* _7 u' {1 m
import swarm.collections.ListImpl;
; P8 L$ D$ s7 M1 A) g% F7 d# }% X/ Rimport swarm.defobj.Zone;   o8 R8 }. `4 f* p& [2 k" m
import swarm.Globals;
* v  B  f+ o9 Z2 |9 s' E1 Fimport swarm.Selector;5 N) c' T7 z) E- {' C! K  D
import swarm.activity.ActionGroup; , f8 C3 M+ U) B! V7 B
class Agent {
1 U, \3 o1 Q# D7 n1 W        char id;" i. I' {+ S& K# O
. n' k% W2 i( h
        Agent(char id) {- I: x/ A) A0 ?- X4 L. S9 U
                this.id = id;
& E1 ^8 T/ [) h        }: c$ f- G' l% g2 P

+ Q7 Y$ U  M7 G+ t        public void agentStep() {8 |7 G+ @% ]( v& z" \. S
                System.out.println(id + ":" + Globals.env.getCurrentTime());8 D9 D5 ?& \* q4 L2 [( l/ R) u
        }& ~3 W9 m( ~2 i6 l6 }* G& F
}) _# Q5 w# S- {! ]. ?4 I

5 r/ ~) u* G7 zpublic class ActionGroupDemo extends SwarmImpl {
! z- P9 q- }: V6 f! @7 z        ScheduleImpl schedule;  x: t$ F% k& D* X) q
        ActionGroupImpl actionGroup;
6 \+ E7 S  G$ |* F/ |        ListImpl list;- H! W) ?8 `0 u
        char Id = 'a';7 G& c6 t. K3 j+ N2 B7 j9 ^* G! N

9 C8 w. I  Z+ G' V& H) ^$ d        ActionGroupDemo(Zone aZone) {
. T/ f. L/ x; h# Z1 v- M% i: b; S                super(aZone);9 m% `2 a! v. {$ J9 X
                list = new ListImpl(aZone);6 p; Z/ F. Y/ g/ \; O
                swarmSetp();+ b+ M: q+ g) j1 h3 z7 Q
                actionGroup = new ActionGroupImpl(aZone);
& u: K7 h9 O5 G: T1 O+ r: o; }) S                schedule = new ScheduleImpl(aZone);/ b: x9 p! ]2 p' \
                try {
- X! t  `4 @+ P$ x, Y9 e; Y                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
- J" Y; ]& ?% |, W% Q2 A' a                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% a! k+ \. _8 U" E3 `: }                        ; I/ I3 A' o5 Q( `4 Z3 u2 c8 B
                        actionGroup.createActionForEach$message(list, agentSel);
1 B; u: j$ O0 E0 Q6 ~8 u, ]# H                        actionGroup.createActionTo$message(this, swarmSel);
$ z$ v7 E' Q: |1 ]7 u% ~  y, a                        schedule.at$createAction(0, actionGroup);
* z& \5 G6 S! G& }5 c8 g                        schedule.at$createAction(1, actionGroup);
& [, l8 B3 ~+ v                        schedule.at$createAction(2, actionGroup);" @- W- i/ ^- r8 B

" s/ u6 i. i/ H! d0 C9 G' d                } catch (Exception e) {. q8 _- x' ]" `/ l: z! x- e  I
                        e.printStackTrace(System.err);# q' k3 b5 j& C# }6 R% l
                        //System.out.println(e);
: T1 V( O$ L5 W) m, K                        System.exit(1);
5 L8 S3 X3 `5 Y' c6 O% C                }
: `4 S9 m; S* I! z5 ^% z* S  \% `. E! U7 t- O8 R% `# `

+ o: I* `, Y) {! }6 p5 z        }( a( p7 D5 Q7 Y) m
3 h; g4 b! J$ C" v
        private void swarmSetp() {  ?8 q9 j, ^5 J+ a# O6 ]1 j5 f
                list.addLast(new Agent(Id));' ?7 R, y7 |1 k8 n' _" X! u1 W
                Id++;3 d( b3 q% Q$ F# R! H% O
        }" h* c2 h( Q3 _" y% Z) k! v
5 ]: B1 h# }: J, {8 `. d0 `
        public Activity activateIn(Swarm context) {
/ g; I/ h& J7 v$ X                super.activateIn(context);/ ^4 ^0 h4 Y* H
                schedule.activateIn(this);
5 _- n+ g5 c, ]2 G9 e9 l                return getActivity();
# y5 q" b( E; r9 c        }; Q4 M( o' a4 _8 K9 L8 }

/ X8 H1 w0 O) k) {        public static void main(String[] args) {
6 o) w4 |8 G6 ^. T( h                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);- |& H# x& L1 n* I9 W5 B& _8 a0 h
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
( j. |4 Q* M% r+ @; {# R) g                swarms.buildObjects();
' ?6 q% t0 Z3 i6 _$ T9 h, Z6 W4 m                swarms.buildActions();( h, T0 C1 G4 ^7 h) {3 d
                swarms.activateIn(null).run();
" ?" M) E1 R- T3 \* @6 w        }+ U' p4 w$ N) @: J
* c. l3 k' m: [; t$ B" V% Y
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-27 17:19 , Processed in 0.015261 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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