设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5675|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑   \3 ~% O0 k8 H; M
) W2 f5 n; h+ z- X' M8 V, C
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21  c$ r& t* M. U: s6 H4 }) h$ F
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ l0 p5 ], x5 k' q
swarm.SignatureNotFoundException! j' i3 D6 V/ M3 @
        at swarm.Selector.<init>(Selector.java:76)6 E$ I" F! N( T+ R
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)! {8 ?+ x* l& r. ?, v1 l
        at ActionGroupDemo.main(ActionGroupDemo.java:67)) M$ }. G* V; T0 k/ k$ O4 R

: C- ~; _# T( f( S' ?. e9 Y5 r( ?7 N+ Q6 k- y
import swarm.objectbase.SwarmImpl;& I, v6 S. _$ r9 L( c7 P# d# E  @
import swarm.objectbase.Swarm;
" b7 {2 ^8 _" M4 F7 R0 G. Y" gimport swarm.activity.ScheduleImpl;' ~: {1 }+ z% W! x2 E
import swarm.activity.Activity;
, M6 j, e' F! ]2 V5 {import swarm.activity.ActionGroupImpl;% M& h, A6 X& Z
import swarm.collections.ListImpl;( t. i0 E( \) R" H9 J7 ]+ s$ ]3 N
import swarm.defobj.Zone; . @* t) v9 U2 w% Y6 ^) t1 R
import swarm.Globals;4 z, ?. l: ?' t5 b) Z5 C
import swarm.Selector;
/ L, K, o8 Y: _! e3 C+ r& n7 G( ximport swarm.activity.ActionGroup; 2 E; u/ E0 N8 x
class Agent {9 S1 ]( @. V  R+ o; d* G
        char id;; C; {* i. J8 ~! X7 V" S8 C  w0 p

8 p& y. o  X4 M. P        Agent(char id) {1 F; \4 h) W8 O" X( c
                this.id = id;0 R# V5 `- e6 p! \2 V0 f
        }
$ ~& r( w3 M' K# ]2 R: M3 {- q3 D( v. N- W
        public void agentStep() {# H, {( }" i% C# w7 ^
                System.out.println(id + ":" + Globals.env.getCurrentTime());1 q+ H! T4 ]' Q6 @! I7 y, u; I
        }
+ E% ^. U! [& b8 |9 f6 i' }}
+ ]4 ~" |, W( f3 e- [* G1 u
1 e" }0 N3 r( q' Z  C! Z5 Spublic class ActionGroupDemo extends SwarmImpl {
8 E& o8 Q9 |2 j. q: P        ScheduleImpl schedule;
8 r+ }- |2 l0 P, `) z7 P% n: I        ActionGroupImpl actionGroup;
  a+ m$ u! M+ _' U# b( x        ListImpl list;
' I7 X# v4 e6 s+ }7 |        char Id = 'a';0 a: D( K4 t* e0 P  t3 g1 v

2 I$ f' ~* |+ p3 x- V8 B! \        ActionGroupDemo(Zone aZone) {  v# B8 i; D: l) x
                super(aZone);
1 T/ f% A( ^( C9 M: H+ {                list = new ListImpl(aZone);/ n* q3 ~1 n6 a- l3 g) j
                swarmSetp();
% S9 K7 y5 z* _5 H2 F                actionGroup = new ActionGroupImpl(aZone);* G. P- r6 p. t; Y' A  P
                schedule = new ScheduleImpl(aZone);, J& w7 z6 `  ?7 @. {% a
                try {
: B" Z/ K: N9 ]                        Selector agentSel = new Selector(Agent.class, "agentStep", false);7 q3 r4 e* T& ^' B  g' W% [
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
- g& w4 w2 o9 ^/ [5 @  o0 i4 z: `                        
8 i. K# r! a# F& y9 f                        actionGroup.createActionForEach$message(list, agentSel);
) N) n3 Z9 F7 b9 ^* a  b: S# H                        actionGroup.createActionTo$message(this, swarmSel);* Y/ ^% R* O2 @0 a
                        schedule.at$createAction(0, actionGroup);
$ J6 q$ z7 Y# Y                        schedule.at$createAction(1, actionGroup);2 j. d! G8 C% f1 `, s4 M; w0 I
                        schedule.at$createAction(2, actionGroup);
4 N- D% k0 O( F
: @1 _* e. R2 l4 X; s                } catch (Exception e) {
" c+ o5 A) p' Q, M2 x0 h                        e.printStackTrace(System.err);' Q# x) u3 X# ~' R- M, g
                        //System.out.println(e);, P" d. r# A7 q4 ?: [$ W; n
                        System.exit(1);& S! J/ a1 n0 I3 y
                }
; n4 C* f8 D' L. x2 N' i
' U6 l7 k0 |- U7 n' m* ^. Y9 \/ x4 D5 M$ |: A
        }" O& [. Q& M% h- ?, s) a
0 _# D; G$ R: Q
        private void swarmSetp() {
' @0 A  \( q5 Y( K6 L/ T                list.addLast(new Agent(Id));7 i% l& F5 G9 H* B9 e7 t6 O6 [
                Id++;8 a: D5 E9 i* ^9 Q
        }; |1 n* |" H7 k! A7 V" X1 C

0 D. t$ }5 X% o* r; Q, k        public Activity activateIn(Swarm context) {
7 X) [4 Y* p/ T9 {$ H' q* [                super.activateIn(context);! s1 S2 A; o* g! b2 x2 D& F% G
                schedule.activateIn(this);. A3 W: t& i7 x+ q  E, o6 J
                return getActivity();
7 o2 c! T3 @9 I$ k        }8 I! ~% L" u! c; Y$ w  t  m" {
; y; Z8 `# L7 P. D- A3 g
        public static void main(String[] args) {& J: i1 i% {/ C. W: M. X; I# }
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);; ^/ q1 f+ t- N- N+ j# Z
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% m' V- L4 ]$ j( N! w
                swarms.buildObjects();7 G0 b9 ]2 z6 o$ t' U$ e+ a
                swarms.buildActions();
( M8 v: h7 m, |- H" Y8 I" L                swarms.activateIn(null).run();5 A! {  s1 w$ z1 Y
        }
5 c2 z9 S! J/ i0 U: }5 V" M# p3 Q: V/ }% a
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-17 20:04 , Processed in 0.015507 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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