设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7560|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 / m: Y+ r2 \2 f( R: z6 ~

# |) n  v. |+ c8 }3 R本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) e$ V8 M) ~, i
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.; f' P! h3 E$ Y: f. v2 q
swarm.SignatureNotFoundException, H) ^# A- u& f6 D6 L
        at swarm.Selector.<init>(Selector.java:76)! P) W/ ^2 }7 Z8 f1 W
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)7 D* H9 r$ |0 ]! C) P$ [5 j
        at ActionGroupDemo.main(ActionGroupDemo.java:67). C* E& V' H/ i& O9 R' x  x
, f9 s3 ^4 l% J- k4 V

6 _5 ]. k& }! K1 M5 v, Vimport swarm.objectbase.SwarmImpl;
0 ], w8 g" J6 ?* V4 A; z  A/ d7 ~9 uimport swarm.objectbase.Swarm;' \2 [' A  U0 l5 n- A# \! X
import swarm.activity.ScheduleImpl;. i. c. t2 A8 J) A$ @0 H
import swarm.activity.Activity;# Q8 _, S* v! Q
import swarm.activity.ActionGroupImpl;& S  [. g7 E0 g: r
import swarm.collections.ListImpl;
, @) a. d0 J. _- t1 o! timport swarm.defobj.Zone; 2 x' [9 ~; ~3 }1 y
import swarm.Globals;. h. N2 y  L+ ]) i* T
import swarm.Selector;
7 I" y; ^/ Q2 f5 j  V' A) f  ^import swarm.activity.ActionGroup; + V2 u# l4 `7 F# ~; z6 T1 ?" H
class Agent {
" R; ?5 Y3 E0 D* Q8 n, x# O        char id;
% D5 A8 d7 G0 A' g9 a( n* h# I3 B" b1 a# |; R$ u
        Agent(char id) {
+ [; s! b4 Z! _! _  @1 d1 `9 t                this.id = id;
6 H; R4 V6 a4 b6 c, f        }
- c3 i6 \1 @( Y; g! X8 G) W3 G% V7 O# k7 m, @& }% J7 F
        public void agentStep() {
- B( I, b6 x6 v                System.out.println(id + ":" + Globals.env.getCurrentTime());
! r: P& c: f  `7 r" A7 A! r        }0 h) r% _, ~4 S0 R: R4 w8 U
}
  w5 G  z+ N  D
3 W! u0 X7 Z! K2 _' M& s# m& m* fpublic class ActionGroupDemo extends SwarmImpl {1 t5 ~" d9 N. }: s$ D; X4 X8 p
        ScheduleImpl schedule;3 ?) g. G+ T6 Z5 {. @; [  C" P
        ActionGroupImpl actionGroup;# S# I# V. u! c5 q
        ListImpl list;" E' O' X% J9 x* ?$ ?0 |
        char Id = 'a';" L( O4 l0 t: c' x6 U1 c' d3 ^
. p" D5 y* k: j5 j- h
        ActionGroupDemo(Zone aZone) {
: d0 S5 n4 w4 O& ?' H$ H7 Y6 l                super(aZone);
2 i+ A; Q0 W- U& |' L9 U7 D& `9 j2 p1 R                list = new ListImpl(aZone);+ H" R. b3 |2 n% S5 G
                swarmSetp();/ k: ~: y  Q4 Y5 B2 j; j  h) B
                actionGroup = new ActionGroupImpl(aZone);, C1 b; X3 @! |& }' K( \; G( c
                schedule = new ScheduleImpl(aZone);
% a% z$ m( }, R* O                try {
5 d2 S) Q+ j- d" ~                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
- ?  q7 t/ ~. X: [, [  V                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
2 X, o- L8 u6 o& ~                        ! {( D4 g2 D# d1 I3 R, e
                        actionGroup.createActionForEach$message(list, agentSel);! m6 D# t$ s6 a" L) j) }4 @" f
                        actionGroup.createActionTo$message(this, swarmSel);8 \2 p& e# E5 N/ N% m
                        schedule.at$createAction(0, actionGroup);
, d, k$ V- h6 o# l; X                        schedule.at$createAction(1, actionGroup);
4 d& h+ I* j$ R$ c                        schedule.at$createAction(2, actionGroup);
% K( L/ S- ~; k" k8 u4 `$ Q: l. z% n. r8 t. b4 G2 E
                } catch (Exception e) {
- X" ~9 M5 J: F4 L                        e.printStackTrace(System.err);) O: _' y) B( _* T2 c( `$ @
                        //System.out.println(e);. e" R3 D: |/ \
                        System.exit(1);
  i  L" L7 |. h3 Y                }
. S2 `2 f  T2 R& v3 {3 K- `0 K* N; F3 w% W: h9 S& x
0 S. C0 w3 J" Z! j
        }5 U) o7 I. e" k7 R8 K, |
: B% R. G; O5 r$ a( S6 |6 P0 x; I1 H
        private void swarmSetp() {
- F$ y; w. Z+ r6 ^1 ~1 j                list.addLast(new Agent(Id));; a5 A: C* \- ^
                Id++;3 c0 U8 U  R' [+ X$ }5 m) `- z
        }# T; D$ [' Q0 _. x& N8 z

6 E2 p: q  x! p* l9 J# q        public Activity activateIn(Swarm context) {
4 s; Z1 ^4 g5 ~* p  c# Q$ A                super.activateIn(context);
0 e( S" l9 n3 t% b+ N0 e! E                schedule.activateIn(this);
- J# m5 v% g/ e" y                return getActivity();/ a) M# H1 N0 C! Y
        }" M% U; A) E. T0 M

! u' O) V& Z  b2 v/ t* G        public static void main(String[] args) {
- }: ^) Y/ U1 O. h2 |* Y                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);: `" a$ a( k) b0 v  f1 z" x; j% [5 L" x- ?
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);6 J/ c( S/ y& a3 G* O
                swarms.buildObjects();6 R. g7 ]( k( W2 M
                swarms.buildActions();
! F3 M9 ]: ~1 d3 _                swarms.activateIn(null).run();
$ T- ~8 w) ?& j' y0 {) y0 j        }
  X" R+ _- |2 A% i0 a
8 g3 w% N' E* B; d}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-7 00:14 , Processed in 0.016978 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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