设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4865|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ) k- S& C& ~! C* l/ @
2 {+ t) |; p/ C9 C4 x0 O3 K4 o% _! y  @
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# j. w5 J6 H) Q2 @* [以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# j% ]3 I! s4 P, k
swarm.SignatureNotFoundException
7 m6 z$ u( s+ F1 d8 U        at swarm.Selector.<init>(Selector.java:76)1 B$ s$ }; o9 U2 E
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 M6 {1 h2 `3 K! P        at ActionGroupDemo.main(ActionGroupDemo.java:67)0 k3 U7 b+ e! Y, t9 c

4 J7 F6 L* |. ]: X5 \
5 j  O) G* o7 p. D& u/ Cimport swarm.objectbase.SwarmImpl;0 a4 G% v# I* ]. L
import swarm.objectbase.Swarm;
' U4 y. Y4 I0 [1 ^; {- pimport swarm.activity.ScheduleImpl;) {- f& Q$ x4 [* J; m- ^. F
import swarm.activity.Activity;
, E! E9 c% ]1 `import swarm.activity.ActionGroupImpl;9 O0 j* ~5 u7 a4 o5 h
import swarm.collections.ListImpl;
4 r" x3 p: M; C3 q+ `import swarm.defobj.Zone;
; O7 j7 z. B( E6 x& r4 |import swarm.Globals;. ^8 F- K$ s4 W+ p" {4 r
import swarm.Selector;& N# w% [3 a$ y. ]( \' k. N7 |
import swarm.activity.ActionGroup; & v/ {$ |' [/ R- R. ^5 N
class Agent {# O8 }; S1 ~, ]9 A
        char id;3 Q4 f- h- j* d6 b

  p# R8 w, f  y2 O, x        Agent(char id) {* a+ Y$ v! N8 U9 t4 ^, t2 t* k
                this.id = id;
. [) K( p4 d" x1 g+ E. D        }
3 z1 a" i+ y; V  t: O/ x
2 f2 {" l2 `- c% B+ M        public void agentStep() {
* _9 [) B; s2 i8 o+ V0 Q+ ]. K                System.out.println(id + ":" + Globals.env.getCurrentTime());" \! l% b. }3 Q/ x" N
        }& ?# s/ b6 T- z4 o8 l
}
3 U" |8 p0 [5 [6 k" D" A% U. ?  z- e' Y! @+ e8 \$ S
public class ActionGroupDemo extends SwarmImpl {( [, m' g* N" H2 F: i- C
        ScheduleImpl schedule;) y/ z1 e: P( n- g
        ActionGroupImpl actionGroup;4 W- \* }% M! o$ p+ p/ V
        ListImpl list;# x  s/ V3 _* g! j0 D
        char Id = 'a';, D) A2 N" |5 H

; V, x$ f2 g# m5 o        ActionGroupDemo(Zone aZone) {* a0 C( X. L( c/ j
                super(aZone);7 \3 A. U. z; ^4 [) ?9 K; [7 R
                list = new ListImpl(aZone);
2 _) b& F: E% w8 U( u                swarmSetp();
" y, y2 h3 G- x: V9 ~5 J" g                actionGroup = new ActionGroupImpl(aZone);. w. ?$ N8 }/ I3 _2 J
                schedule = new ScheduleImpl(aZone);0 W! B$ g' ~5 u3 h
                try {
3 a2 V8 L5 S7 W- {& F) J1 }( t' a                        Selector agentSel = new Selector(Agent.class, "agentStep", false);' I% ^: F% A1 x# k, j
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行7 P7 s- d" h2 I% N* b
                        : R; F$ K& J3 w, j/ k; y
                        actionGroup.createActionForEach$message(list, agentSel);
" h% Y5 N3 l2 F/ N0 M                        actionGroup.createActionTo$message(this, swarmSel);
3 Y: Y/ w9 C5 `5 a+ M# n) ]                        schedule.at$createAction(0, actionGroup);
+ a8 `  c5 N* O' e$ s& @                        schedule.at$createAction(1, actionGroup);
! B3 p, D0 I% b9 z9 t                        schedule.at$createAction(2, actionGroup);
+ H1 G( Q' k& p! ^& a1 @
" X0 ?8 \$ f: E  |) v3 a& q- b2 f                } catch (Exception e) {! l/ g& f% `! E2 z* k
                        e.printStackTrace(System.err);$ S2 G) ?4 ]/ X' N6 e2 ]6 ~  H
                        //System.out.println(e);. t  E# b# M7 J$ \: H1 ^
                        System.exit(1);
8 U# x7 V8 L& F. m% Y                }
. B" i5 ^' l0 @6 H6 l+ j
2 J% G1 P% }$ z) c" |2 l. Y/ j( H- h
        }3 r7 ]: @; O+ c1 ~* c

' Q$ b& r7 c' T4 ^% g. ]0 i        private void swarmSetp() {
; C0 e; F8 Q5 ]9 \                list.addLast(new Agent(Id));
/ k8 }  s4 _! p* d( h0 H+ z                Id++;2 J/ B6 r2 m' J& u$ ?# Y9 ~
        }* X0 V3 n0 ~& C% W4 z

( ~2 ^- Y# Z2 ]) O% ~        public Activity activateIn(Swarm context) {
  Q: a! m3 ?8 u                super.activateIn(context);
4 L2 ^. h- t! N0 a: T, ^8 A5 V                schedule.activateIn(this);6 T  E# d2 I- u, q
                return getActivity();
$ Y& |- m6 t) H% F        }
) u" G% L! a, }) t. @0 |+ y
+ a( L: z# \, m1 ~        public static void main(String[] args) {
% b1 |; J, T( {( i& n                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
4 _4 b; o# k  m" U2 {7 L% N                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
* N# R" {! c- k                swarms.buildObjects();# F" p+ g1 I* w" A! t  }
                swarms.buildActions();
- O9 x  Q$ c( {, Q, b% H2 N5 W* y                swarms.activateIn(null).run();
0 L' U+ f' y  c        }) u" U% f! Y( }
% D, ], z3 L6 X' f1 l/ i; l) t
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-15 07:06 , Processed in 0.018886 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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