设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10583|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - m- z# p, K' B* ~

/ j3 m" c5 {. W2 W" @$ x本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
& C' n+ S0 _) d( R8 j: u% h以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 l$ X% x5 q2 [* x! h
swarm.SignatureNotFoundException' S/ \1 ?/ \+ F  y# K' {
        at swarm.Selector.<init>(Selector.java:76); ~6 g1 y8 ]+ R) y% ]7 L7 }* \
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& f4 y; y8 p1 ]' K
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
7 l9 A7 {6 W( H) ]5 `, j7 G* E" y3 G- R  H7 O* z

4 Z6 O$ V# k) v6 N  |- j( X. p8 Jimport swarm.objectbase.SwarmImpl;
% O8 b8 o8 f4 [% }, Oimport swarm.objectbase.Swarm;
4 K0 P& N: v, l6 Aimport swarm.activity.ScheduleImpl;6 ]6 ?7 G& Y1 B  ?
import swarm.activity.Activity;
$ V, q$ V: ~1 u3 e1 Rimport swarm.activity.ActionGroupImpl;
! K# W* p& ^6 v0 S% Eimport swarm.collections.ListImpl;( U' U% B1 V9 r/ c4 x
import swarm.defobj.Zone; / M& e$ U, }) W8 H5 h1 J8 I0 Q
import swarm.Globals;+ `: f0 ]- B5 C+ W. \- Q$ T
import swarm.Selector;  n" u+ @! T/ J4 [$ M
import swarm.activity.ActionGroup; + C5 o+ S9 D' T5 o9 {! o8 D# f
class Agent {
1 O0 h% i8 }' T+ H        char id;
; p. {, S9 Q5 g" _* n/ c9 G6 t
8 N$ }) w( l7 `& V$ `* {8 {- ~, i        Agent(char id) {
4 b: b& H( u/ D1 u4 h2 K0 D                this.id = id;
% M3 @: L& H. R        }
( ^: ]; l$ k# L: h
& Q9 Z+ ~' B7 q" l        public void agentStep() {: b+ k8 a/ q3 H; x
                System.out.println(id + ":" + Globals.env.getCurrentTime());
, r3 N$ o4 H: c  b) ~! `$ U        }
' |2 S; s# z$ h. Z}
8 Y5 \" i3 ~1 q, s! S% ?0 U
. x" H% V7 n, x, M4 o+ _public class ActionGroupDemo extends SwarmImpl {6 R: V" S' U% ^5 ^
        ScheduleImpl schedule;  Z7 t; U- q9 K/ K9 Z* G* N
        ActionGroupImpl actionGroup;
  N( g$ B8 V+ k! Q* l& K/ r; q        ListImpl list;. F5 y0 C2 |2 p/ q3 `
        char Id = 'a';1 H5 F; z6 \* [& `2 g! y& u

- F1 M% m* d% K2 X" c        ActionGroupDemo(Zone aZone) {/ e! a3 v: [: I. C# v
                super(aZone);
0 D' z) m/ \% k- X                list = new ListImpl(aZone);
' o0 W, W" @. V) e( \2 f                swarmSetp();- s; B) z4 ^6 _! G
                actionGroup = new ActionGroupImpl(aZone);6 g, ]% P7 V$ K1 C+ x
                schedule = new ScheduleImpl(aZone);
) p" x) `4 [. e; }4 m9 B: |4 N                try {
+ q! s6 c  r0 m% F# G4 h  N5 `* ^                        Selector agentSel = new Selector(Agent.class, "agentStep", false);8 Z: m3 S8 a" \/ h0 I
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ |8 y. D$ U4 h" T                        
1 R3 Q, ?+ m6 l8 E+ j                        actionGroup.createActionForEach$message(list, agentSel);
2 l' Y4 j9 z. g5 ~4 I                        actionGroup.createActionTo$message(this, swarmSel);
9 J3 Q- W  R& y5 G8 E( s6 b. h                        schedule.at$createAction(0, actionGroup);- r9 ]) H- o  h- q5 |
                        schedule.at$createAction(1, actionGroup);
) y1 [  a& K& Q2 p; q. c  `                        schedule.at$createAction(2, actionGroup);
1 o9 [9 \# T0 b0 Z# t
3 z$ j6 r; Y; K1 ]* B  M6 w                } catch (Exception e) {6 e# g4 @9 x) r: }$ C2 h
                        e.printStackTrace(System.err);
9 o# `8 p1 n  Q  u                        //System.out.println(e);; f1 t0 O) }+ v" b
                        System.exit(1);
- f: `5 c( @# r                }$ F" S$ K/ b& z" N- {
' ?+ U) f# X; k3 h* ~4 p& c; u
: F: V: f. @" j+ u
        }
9 c- i4 \4 w0 W+ Q5 Q& X  G& T+ n# |# o) G
        private void swarmSetp() {+ ^  V; j$ Y1 n) e# t+ H" D8 t
                list.addLast(new Agent(Id));
/ V- \: P. R9 O8 |                Id++;
# I8 \* B  _8 P- T! C% b8 w( w        }3 H* t3 e6 @% x6 a

7 ~9 [  C/ _+ T( K0 O        public Activity activateIn(Swarm context) {9 `; w5 o6 d) z- ]7 m" \) L  |  H
                super.activateIn(context);% e$ |2 E/ ?! e" n! M3 M
                schedule.activateIn(this);
' Q( K! r; S: |1 w                return getActivity();) I) s" T- Y. ~& y' p5 S$ I8 {4 {
        }3 F& \7 G$ I1 z8 y6 L2 Y" z  W
: ~9 g7 b3 Q- z6 @+ j% f- u. N
        public static void main(String[] args) {) x: M% a# X+ `. x
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);" ?2 w+ J- B5 P
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);1 Y* }+ W! ^8 @4 }
                swarms.buildObjects();
: j; z  M$ D# J# K$ e! p, a                swarms.buildActions();
9 A) s- y: u5 A% w  `3 ?                swarms.activateIn(null).run();
5 |0 t1 S" ]* {7 _7 F        }
( s& V' f# S3 N4 J" z) P; F" p. y) j+ u+ l; i
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-17 18:46 , Processed in 0.018982 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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