设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6079|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% w& N$ R8 _9 O6 Z) @2 \
$ j: v& m# ]  i/ n/ S本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21/ [' D9 m2 J( s8 G( q# s
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.6 x5 f7 S2 \# b! z, _
swarm.SignatureNotFoundException  Z: D, Z2 A; p' k) ~0 A1 d
        at swarm.Selector.<init>(Selector.java:76)
% z+ G+ C2 o+ @9 D! V        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
. n3 R3 _: Q4 |$ V! A7 S0 m  X1 Q        at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 S( I6 x( I4 Z! ]8 u
' v$ k7 T+ H) b* c: L0 ^' j0 b! o5 z8 v1 g
import swarm.objectbase.SwarmImpl;
* e# r  d) l: I& b- fimport swarm.objectbase.Swarm;0 t) N. a5 ~" Y+ b: _6 b& o
import swarm.activity.ScheduleImpl;  l6 C, O7 U. s
import swarm.activity.Activity;
5 g( Y, S) ~; J9 q: E$ W4 Iimport swarm.activity.ActionGroupImpl;+ {; X& {9 n6 f; p9 d' s/ @3 R3 L
import swarm.collections.ListImpl;9 l: s% C  C% F. m
import swarm.defobj.Zone;   s2 \6 O1 ]+ Q6 q9 C
import swarm.Globals;. E( ^6 m, C# `# j; f. H
import swarm.Selector;9 t- j" K# V( h3 Q) s
import swarm.activity.ActionGroup;
( t+ n  m' d! M/ p# _6 {class Agent {
, Q+ Q6 f; U& }. S        char id;& I3 a0 \1 C/ [5 V3 T
& q+ ~! t) z' @, y
        Agent(char id) {  c% l  P0 A' y* P' C* G: w
                this.id = id;
; X: E1 B3 j; t6 E' d& [# [        }# Y5 N+ e0 y. h

2 K/ S1 e( x) g        public void agentStep() {1 S9 X% D  V- W/ |8 k! e
                System.out.println(id + ":" + Globals.env.getCurrentTime());
  B( a9 a4 g8 ^6 n2 W8 u/ i        }
# e- n! c1 i5 {- d% }4 S1 k& G}
2 C0 C" B, g8 |0 h6 b- R0 j# `) _! |4 Y0 s8 y" E; e
public class ActionGroupDemo extends SwarmImpl {8 d5 U" W( Z  K2 D
        ScheduleImpl schedule;
- S* ?( l/ r; [; A7 h        ActionGroupImpl actionGroup;& Z! b/ Q* e+ F0 ?8 G4 i; L( Q1 X
        ListImpl list;& K& {' M4 \" M% ^
        char Id = 'a';
+ i) _7 m: @" F2 a4 c: G; P2 t2 o. X+ I" P' r( }# u4 u/ @
        ActionGroupDemo(Zone aZone) {+ m8 T! V) s- y
                super(aZone);
+ P( E- k& e0 s3 x- N                list = new ListImpl(aZone);
. o" _3 Y) e0 s9 J) Q                swarmSetp();0 E3 b. ?% Y9 l
                actionGroup = new ActionGroupImpl(aZone);
! q) q0 `2 z5 {+ x                schedule = new ScheduleImpl(aZone);, X; h7 [. r6 l& {+ W+ f! U! {0 \
                try {
7 z; l# ]2 C7 q% J                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
' t% B4 m9 D( o9 `) I4 G/ O                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
& z# N) f! W  F                        
! t' u6 }1 k0 x1 J) s: y                        actionGroup.createActionForEach$message(list, agentSel);
+ v( \4 Q% g' X0 c9 o# I# r                        actionGroup.createActionTo$message(this, swarmSel);: K/ U6 x' K" ~5 u
                        schedule.at$createAction(0, actionGroup);
4 `  @, x# I- t9 _, H5 R# `                        schedule.at$createAction(1, actionGroup);6 r! [: R" `8 c( P) W2 E
                        schedule.at$createAction(2, actionGroup);
. Z% r0 l# \- c8 R$ s4 S: M3 h4 p; d- U" \9 c; l$ w
                } catch (Exception e) {
4 c7 d4 P- o# a1 W7 n                        e.printStackTrace(System.err);
3 t. r- [% }3 i8 {, K& t5 q( k                        //System.out.println(e);5 {* o/ l8 b6 m
                        System.exit(1);2 B& d% n" E+ t2 ]
                }
+ j( l6 |' j: w$ B" K+ f$ T( f, t& U5 X1 e. b1 X

. H* Q' d1 ?8 e9 u8 K        }$ U0 u5 V. H2 A2 ?

7 G7 _0 j" k7 i/ W4 b. _        private void swarmSetp() {' m$ R3 i) t2 T+ z7 @. k
                list.addLast(new Agent(Id));
, ?( D( I7 K' U! \5 Y# Q7 V  U                Id++;
* j: n6 C- Y- Z1 m        }0 ?: C$ g: u) {9 ^. D
' \' c2 L6 ^# h9 w
        public Activity activateIn(Swarm context) {' p& A, T9 a8 l, h" f# a: m
                super.activateIn(context);
0 x8 I$ Y" m) s0 ~  Q                schedule.activateIn(this);
3 j/ n! j4 U5 `5 f; z! p, M- m                return getActivity();
8 x" w  k0 I" o, o1 i: M        }" I8 r7 N6 X2 g* W% {2 Z* X

* y! y- F4 T4 o( G4 n        public static void main(String[] args) {- _  D4 h1 x! l1 J1 _7 A0 j4 w
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
: w9 j2 |) v% b8 x1 y! C% h                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);5 Z8 o0 ?* T9 F1 s6 K1 b
                swarms.buildObjects();
5 \8 ^( U& Z+ |# C% L                swarms.buildActions();- Q' a- w5 z( Y) r5 Q7 v# ^
                swarms.activateIn(null).run();8 I# j7 p+ L) u" M; U# M
        }
" c, k! W2 _' t7 a3 a6 k* A# W5 x
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-16 11:14 , Processed in 0.021215 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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