设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6974|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! O# p" [" Z0 O! e5 x
, }8 D: [3 s3 O9 n本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
2 T: F( \8 |+ R以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* k* z( ^# C8 p/ @
swarm.SignatureNotFoundException4 X! w( B; m( s" {  T' }, x
        at swarm.Selector.<init>(Selector.java:76)5 u/ L; A( m& u; x9 u; p
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
5 w+ \! j/ U2 O) G- ~3 l        at ActionGroupDemo.main(ActionGroupDemo.java:67)8 x( N& `7 y6 w3 j1 Z5 [, @' S

6 n& {2 x  R" `; ~, x( F  N2 U
+ u* C- \& v  q% ], `8 Mimport swarm.objectbase.SwarmImpl;, \; r& D2 p5 K  {3 z9 v5 n  z
import swarm.objectbase.Swarm;
8 k( v* Q0 u' A# Timport swarm.activity.ScheduleImpl;' ~* h4 g, S8 b) d! D
import swarm.activity.Activity;! o# z$ [+ Q4 l" w2 ]+ I3 {
import swarm.activity.ActionGroupImpl;
  X$ q4 }! _/ I* ]import swarm.collections.ListImpl;. k: X1 c  w' v
import swarm.defobj.Zone; 2 v1 z1 W5 b( M3 o4 u; K; U
import swarm.Globals;
( w* W4 m. U: v% t1 ^import swarm.Selector;( e6 }! e* X. M+ O& e; j8 g
import swarm.activity.ActionGroup; 6 g5 V& b4 k1 i# K
class Agent {, }7 N/ ]8 @5 S
        char id;
  ?* {8 v5 d% O; |. o+ p) v2 p
        Agent(char id) {, v7 P4 J, L+ b2 S" g* j
                this.id = id;( M7 R( C- ?  ~2 w- ?* f
        }; o- z5 M' X/ p
7 m# N/ z' l1 d/ x: N4 M% t/ J
        public void agentStep() {2 B7 b' l% L- V. q
                System.out.println(id + ":" + Globals.env.getCurrentTime());( [1 F8 I; t) q4 {, u
        }' Y6 \. F- n- l+ }
}8 c1 D! A- k& Q2 o4 @9 ~& {3 T+ F  t

. u" \. K& w* |public class ActionGroupDemo extends SwarmImpl {
; D- e+ b& y# P# c        ScheduleImpl schedule;/ @* {7 @" ?8 ~, |
        ActionGroupImpl actionGroup;
# C! L# q5 O! Y+ Z. U5 R        ListImpl list;+ D9 m( @" d$ `& V, H( K$ I
        char Id = 'a';
/ j; x. R' A6 q) H* @0 p6 M5 @
* C2 c7 T6 a5 I' j: J3 {        ActionGroupDemo(Zone aZone) {: [: O* \9 O# L% I2 {1 \% c5 C
                super(aZone);6 H3 Q5 i: M! U' n# W
                list = new ListImpl(aZone);
* ^! N4 P3 \8 v% Z                swarmSetp();- O* O4 A9 f+ z2 H' c
                actionGroup = new ActionGroupImpl(aZone);
4 k$ s: P0 F* j. t# ]2 r2 ~                schedule = new ScheduleImpl(aZone);
2 E  U5 S- i# H( I+ X                try {
. D$ y! l/ S" }% n                        Selector agentSel = new Selector(Agent.class, "agentStep", false);: z6 t" _9 S! }" b6 d2 C
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行4 J" l) S: }7 a" h( B6 S
                        ( D/ C+ L% f( \2 g* D
                        actionGroup.createActionForEach$message(list, agentSel);( @+ r. d! U9 w1 T# }
                        actionGroup.createActionTo$message(this, swarmSel);
: ^0 {& A; K: C( H                        schedule.at$createAction(0, actionGroup);
4 X" ?# f& j% m" E* V1 |4 h* G                        schedule.at$createAction(1, actionGroup);4 I1 x* j- q8 J4 U/ u+ J
                        schedule.at$createAction(2, actionGroup);
& M! I! D$ O% x6 g1 A) X: G- g9 l) d
                } catch (Exception e) {% W- k' u; r9 w; s4 X
                        e.printStackTrace(System.err);
2 q. x% @6 R" g, Z8 p; j! j2 \                        //System.out.println(e);& X3 t# H8 D" K! `, t" a4 y7 G
                        System.exit(1);
  J7 [. f$ b, d; D" {3 h                }
) J7 w3 {; A8 F) I$ I( L% w
, w3 J( Q4 g. ]* y7 T* Z2 I
9 m+ Z) B* F" g        }8 Z8 C1 Z  ~) z

7 y- J/ p/ J- ]/ S" n        private void swarmSetp() {
# o9 x% ~! z4 V9 o, T                list.addLast(new Agent(Id));
- m4 k  v( ?; \" }9 w" v                Id++;
4 F0 k8 |4 e& v( F        }0 y; f; o6 Y% F8 ^6 j$ j' V3 I
& z. C+ N4 X  Z
        public Activity activateIn(Swarm context) {
2 b$ o" z' H5 i% n" X                super.activateIn(context);
' A! T4 e  k! Y& E                schedule.activateIn(this);
; n# ?' c) v. b$ V/ Z/ u1 v                return getActivity();
+ c9 H0 j- K9 W. O% C! D        }
- Q* W4 c5 Q/ l6 I* V1 e
) W, l3 Y' b8 F+ g, b        public static void main(String[] args) {
- }2 q6 Y7 K3 D$ _/ k                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 [0 y0 I$ r- \! t3 O6 L' _, R                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);+ F' }3 R$ V  A: k3 W, [% q2 g
                swarms.buildObjects();0 R/ `& q( n& K6 n& S% \, A2 x* _
                swarms.buildActions();% ^- s3 m/ w  j5 M4 U7 a
                swarms.activateIn(null).run();
  T2 v& H, Z% H        }0 c3 D$ n# x' ]
+ Y9 f0 G! f6 U; V$ h
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-15 08:41 , Processed in 0.016221 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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