设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6660|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% m" o; S# m0 r& h8 P( L& P5 P; X1 L
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" I4 W( U7 {% o0 |以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
9 t1 M0 B  u. f" s5 dswarm.SignatureNotFoundException2 a7 ^5 w, J( B  f, j/ a
        at swarm.Selector.<init>(Selector.java:76)
; I) y( L  j- Q( q; J        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
0 m  W7 @/ R. ~3 X# s' A, w        at ActionGroupDemo.main(ActionGroupDemo.java:67)4 L. s) c( u! j

+ q/ y, ?9 x- ^9 f% z( S# Q$ a+ [. D
import swarm.objectbase.SwarmImpl;( L7 ]2 u$ s6 B8 J8 c& O
import swarm.objectbase.Swarm;
; P% R1 Q$ r3 H  R5 `: {7 limport swarm.activity.ScheduleImpl;! }2 B2 R# @# Q7 Q+ y/ [, [: r! A
import swarm.activity.Activity;' X* r* @* H, N& E4 [6 n
import swarm.activity.ActionGroupImpl;
# h! g- F' I  jimport swarm.collections.ListImpl;
; C- e4 p) C; p+ [. Pimport swarm.defobj.Zone; $ {6 ~4 ?5 r% K) i  D0 B% A- l
import swarm.Globals;
6 C; g; }3 @" D# Cimport swarm.Selector;/ T5 s* j, H, y& |
import swarm.activity.ActionGroup; 3 U/ @+ B& U; e
class Agent {% [, c" m3 \# E( c/ V
        char id;
% f2 }+ U3 z: E0 u3 Q" j) I
5 [  S- `6 x/ j6 W/ @        Agent(char id) {# o) p$ @3 Y3 O! j
                this.id = id;
0 U0 D  j) Y1 S        }  X: x) Z/ z; E; @. ], r. `
8 c% S1 V  W& @
        public void agentStep() {
4 m2 ^& ~) O' ~5 G; N# e                System.out.println(id + ":" + Globals.env.getCurrentTime());
/ O4 w7 l: S$ h0 i% }        }
! _4 Y( J. h; B5 b8 G: ?}1 t5 K  P4 ]! n2 n* ]& Z
3 L' `# z9 s( h* K5 f
public class ActionGroupDemo extends SwarmImpl {
/ ^3 l( t# z( y2 ^+ X        ScheduleImpl schedule;
4 @/ X% [& u1 G' ]        ActionGroupImpl actionGroup;
) \  n4 X. d: u) Z; E3 d. B        ListImpl list;& Z% R1 u) Y/ a' u+ ^, X3 M
        char Id = 'a';
& t: }. h6 q4 I) V  H  t7 y$ a4 D+ L" h2 K
        ActionGroupDemo(Zone aZone) {5 p$ j6 |/ i2 T$ y
                super(aZone);6 s3 M8 [: j, a. l
                list = new ListImpl(aZone);% {- C7 C6 q3 u) Q
                swarmSetp();, C  d9 V" X# g/ N. G
                actionGroup = new ActionGroupImpl(aZone);7 f1 Q( R" ^$ Y, @4 }
                schedule = new ScheduleImpl(aZone);
8 T2 A# m8 c. ?5 Q1 ^, P                try {2 V: J' {/ [8 P. k6 Z; v1 c
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
  @7 D! C7 v3 G; ~2 f                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
9 x* P$ w4 O& _4 V+ a                        
- R0 P7 F% A8 e                        actionGroup.createActionForEach$message(list, agentSel);
4 u3 c) A# t+ O0 M) D0 C                        actionGroup.createActionTo$message(this, swarmSel);
- j/ B5 l& _0 d: V/ b: D8 o" A                        schedule.at$createAction(0, actionGroup);
; [- c- _- w# H2 M9 ?: u- y/ Y                        schedule.at$createAction(1, actionGroup);& d' G1 \/ p( }2 C- h1 P. I6 J0 k; E
                        schedule.at$createAction(2, actionGroup);/ u4 E  i$ t& d) _2 ^6 m

& l; K$ o! @! t# U/ g                } catch (Exception e) {9 l" W0 P2 w' f
                        e.printStackTrace(System.err);
6 C- ]$ J7 M: M7 m                        //System.out.println(e);
+ @- b+ a* ~, _$ t                        System.exit(1);( B+ O2 _  [2 W3 z7 b6 O
                }6 k, `- t& M# m: c5 N* G5 R

! V$ R& m# {( C5 E# u  n3 a5 O+ {6 K
        }! ~1 |9 T, m$ @) j

: S6 y( y/ [, T; ~/ n2 l        private void swarmSetp() {
( b! y3 P( H* ~6 r, X+ B8 R: w8 r0 D4 c                list.addLast(new Agent(Id));
2 b2 z+ y. e" M                Id++;4 z' O$ r! ]( x& R, Z( V% H
        }
% M; p! X0 L- ?/ N+ u5 K" M( J7 N7 M( r7 q) W, V2 K
        public Activity activateIn(Swarm context) {* R. \3 g/ @' T$ ?8 S
                super.activateIn(context);4 d/ @- [& F% j0 T) e) e/ N3 b
                schedule.activateIn(this);
- \- Z' Y0 I/ a; s# e                return getActivity();( ~5 j& w' a/ w! `5 L# q
        }- U) Z" y( H8 k+ X
0 u0 M  A$ ]2 s, m) E% `
        public static void main(String[] args) {
' n6 N2 t7 w; k# L8 U* _: ?( e4 u                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);! r+ U) h* L; E# \3 W
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
9 X6 b4 ?! x' o8 W/ T9 F                swarms.buildObjects();
3 P# e5 _3 u/ J0 W" I+ X0 ~/ i                swarms.buildActions();
2 S, u- U# C" X1 O: G                swarms.activateIn(null).run();7 O, F  X1 z  Q5 _( m- O
        }
5 F; ^( K$ |9 ]$ F- }; ?& G9 P$ }) o
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-4 21:48 , Processed in 0.014358 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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