设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8099|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
3 i0 D: p4 y) {, L  _! [
# }; x% O& T4 x. u: `本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( G. Z9 J3 e- s7 T以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% Z3 k* x5 }. {( X0 ]
swarm.SignatureNotFoundException
* O* M0 Z7 H* r! ]+ G        at swarm.Selector.<init>(Selector.java:76)
1 W0 o9 b, ~3 S7 X        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)$ d* A- A$ c6 q  f
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
' w+ _  ?. S5 [$ t* K# N' r* o6 R* G" C  l: Y

  D% l" c, f2 \8 j8 Gimport swarm.objectbase.SwarmImpl;2 d2 }- F* ~2 g! i; D# p4 d7 B6 o! l
import swarm.objectbase.Swarm;2 l9 _' C7 p" P) W" Z0 N5 M( F' h) v
import swarm.activity.ScheduleImpl;0 ~# r+ V( }6 P) W
import swarm.activity.Activity;8 g" s1 w. D4 |4 |$ j- ?
import swarm.activity.ActionGroupImpl;
& a5 {6 j. m! C  A0 mimport swarm.collections.ListImpl;5 t' N, N5 }% N2 Y* G
import swarm.defobj.Zone;
0 [3 l+ l( N/ g. H- Nimport swarm.Globals;
- ^+ \1 c% b) d* q! `5 V$ ~import swarm.Selector;& e0 Q% F8 A. D+ N& a0 j
import swarm.activity.ActionGroup; # I" }) E  n" t7 S* z2 o
class Agent {7 G1 B2 `) y( N6 R' ~( n7 e
        char id;
! n4 n3 v$ w, T! f
6 h# l, w" K5 u8 o5 T- a. B* D, H' m        Agent(char id) {
  b6 r8 S" b' c1 |1 o' f$ n; @                this.id = id;
0 N* Q. @6 L( i+ O        }( U+ q) U2 U% r2 d* O0 E

' c* l" s8 p# T5 H$ c        public void agentStep() {, O% q8 E4 ]/ O4 m4 f2 {+ c
                System.out.println(id + ":" + Globals.env.getCurrentTime());$ @  w, ?4 \7 L% V! q7 k
        }6 n' R) |# g. h! k4 K
}
- V  c. N: c: o+ ]+ J+ a. b& O) @3 s! F! {5 _
public class ActionGroupDemo extends SwarmImpl {
2 V$ k- n6 y& p% }6 y4 R0 d        ScheduleImpl schedule;1 @, U' L9 j1 \+ A6 {
        ActionGroupImpl actionGroup;$ g/ i, |1 _2 h- i- g+ {( o
        ListImpl list;3 c3 ^% O6 t# E6 @+ d
        char Id = 'a';
3 U/ l7 [" e& ^: ]3 ]& }, Y
, ~5 ~+ x) y6 D- ~( D' B        ActionGroupDemo(Zone aZone) {$ p8 _; W) {" ~5 |, F
                super(aZone);$ X" |+ e( i$ L$ C( q( ]- {6 s1 G
                list = new ListImpl(aZone);
) c5 R6 i, r, E& ]( p                swarmSetp();: \- s; Q( `  V7 a8 w
                actionGroup = new ActionGroupImpl(aZone);
1 U( E+ U( e4 F. y) Z                schedule = new ScheduleImpl(aZone);
, l4 [9 U1 G' [                try {' [6 M( S* E% I  A( Z8 G# m5 }% m
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
2 v) C3 l+ g# b                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! c+ ?* s, B+ A/ m9 ^" |- N                        0 g6 }+ l/ G8 G7 U
                        actionGroup.createActionForEach$message(list, agentSel);
) X1 Z' |  U% Z! ]+ N: v7 f                        actionGroup.createActionTo$message(this, swarmSel);/ v& m: y& Y2 E
                        schedule.at$createAction(0, actionGroup);3 b4 O+ R  v# r
                        schedule.at$createAction(1, actionGroup);% Y+ Y( f" S$ ^' r+ z
                        schedule.at$createAction(2, actionGroup);4 D) |3 L( l6 T+ k& g  P* d
: G- z: F$ A" b5 a3 o: Z
                } catch (Exception e) {8 H! r! r& @) }& T# Z- r
                        e.printStackTrace(System.err);
: \- o* H* @9 p  \                        //System.out.println(e);
+ |7 x  |  L. C% o                        System.exit(1);
/ D% A. j$ B6 @                }
7 u7 H8 a. S4 B" p( S5 L& ?' `: h, V5 a* W- D; L
- L) c7 U# S* {( ~% j) V: I: G
        }/ G: b; D* ^/ \- X

( M- r' H/ l& ^! v- F9 F- K  w        private void swarmSetp() {$ P- Q. L4 u1 U- v
                list.addLast(new Agent(Id));  _& t$ f: K/ Z, @! s
                Id++;, d; d3 d7 n  }, q7 ]- H: R* k
        }0 K6 t) s. ^. L2 [
& O9 S% ^) `/ _$ j7 m
        public Activity activateIn(Swarm context) {
$ P1 Q, F+ ^6 y9 ~                super.activateIn(context);
/ _3 A- q/ H% W3 G                schedule.activateIn(this);1 v2 S; l! E" ?/ H7 A: A. h. @2 s
                return getActivity();% X* O6 L6 V- A0 p, s# Q; B
        }: f2 M3 T! x% c9 d% `& S# ]

6 O2 S/ A. D2 K; J9 M        public static void main(String[] args) {& M' R, e2 Y4 ?9 b! X
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& Q4 n3 ~- ]! C0 j: s9 B) a                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
  k  y, o7 g3 V5 F' S+ D                swarms.buildObjects();
) w* y" p5 K2 H) s                swarms.buildActions();, t& F# D( t& w4 `5 f. |
                swarms.activateIn(null).run();4 ?  b% \) M( r5 l1 W0 a
        }. W" M& ]7 s+ n( M  K# k

- Q$ j# o' O9 h( q. \7 b}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-30 09:07 , Processed in 0.016160 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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