设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9718|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 G0 `. y& x6 h7 u2 s% [
) s6 P" ?: j3 }" v
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21* y1 n& P$ g6 w; O1 d6 y; H$ R
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
0 a. P1 ~6 C6 p+ |3 c% w$ [* ]swarm.SignatureNotFoundException
/ L7 t7 {/ `6 Y, A        at swarm.Selector.<init>(Selector.java:76)
8 N4 T5 O4 \( v2 q& T9 F% k        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, `* ~& k' [4 y; V$ `2 Z8 z2 {  X( o        at ActionGroupDemo.main(ActionGroupDemo.java:67)
2 w2 H- N. V, X2 ]* k/ ?
6 s) s0 q, b2 O. d7 P$ C. x
, u9 C4 P! T* T- b: K2 v; Zimport swarm.objectbase.SwarmImpl;4 R, o, i$ d; M$ d2 v. b; p5 {
import swarm.objectbase.Swarm;
/ g; s% M: C1 _) E8 X! B5 \import swarm.activity.ScheduleImpl;
4 ~8 N! u% {1 |- @( \1 n9 {import swarm.activity.Activity;
* z- b& ?5 ~3 _8 iimport swarm.activity.ActionGroupImpl;  C2 v' u: W, \1 F  a+ M7 d
import swarm.collections.ListImpl;6 `. V5 o* K9 a" ?$ C
import swarm.defobj.Zone; 2 E: D' x. S3 U
import swarm.Globals;! n4 z5 p9 V5 o$ O) e. S; V. @3 ?- F
import swarm.Selector;
0 C( h) U0 T4 M4 M/ ^! P& Rimport swarm.activity.ActionGroup; 0 R8 U% ~! u7 y$ l+ e
class Agent {% E% w4 Y. l1 y
        char id;
" A% ^5 P+ W0 U3 A. `8 {4 ]* \
7 \: t" Y' T, `0 n6 M        Agent(char id) {
- v: _! h2 o, ]. K                this.id = id;4 C" p1 y/ Z/ f: b% \; B, K  L6 B
        }( w5 _% m- }! `7 \- K
5 [7 m# A" o' B8 D' J* m
        public void agentStep() {
! `' \) M) _* f, C0 [                System.out.println(id + ":" + Globals.env.getCurrentTime());
! ]9 O/ Z  U4 T; O' e- Q        }* J+ b* q- {* F5 h/ m/ `! \1 c
}
% A  @0 o# n; y  S* {8 }7 U" b7 i! n# E: W# c
public class ActionGroupDemo extends SwarmImpl {0 J( e# Z8 z5 a8 `* e
        ScheduleImpl schedule;
0 E& P+ F9 }; i+ O( z& C        ActionGroupImpl actionGroup;& t1 c, l; V" s' E' j
        ListImpl list;6 Z6 R& p, V5 V# x; `( r
        char Id = 'a';% M( C5 e  C: Z  e' q$ D' L

) p9 G0 }; ~6 |9 k2 U        ActionGroupDemo(Zone aZone) {3 z+ m2 c, R  H8 c3 E) _
                super(aZone);6 t9 b0 `# ^6 p2 Y3 P  P+ K9 K
                list = new ListImpl(aZone);
  P4 N- ?% J( S+ L1 B% s, P$ N                swarmSetp();
4 z( b% x! O! H6 B                actionGroup = new ActionGroupImpl(aZone);
! L' ^1 P' z  Q* N* U                schedule = new ScheduleImpl(aZone);
& C* ~0 D: g- G# {0 }8 `9 W                try {$ e% P3 h5 Y  [
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ q! _3 M6 a  b8 B0 e                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
1 [. y' E1 K( \  Q& j  C; ^                        
4 k  V% U; [' j. Y$ A                        actionGroup.createActionForEach$message(list, agentSel);- ~/ s, N" i3 u% e, `. u
                        actionGroup.createActionTo$message(this, swarmSel);
# l  H3 F$ m* g4 [                        schedule.at$createAction(0, actionGroup);
: }4 ]  Z2 @* \                        schedule.at$createAction(1, actionGroup);4 T1 _2 F/ y: W, |9 r
                        schedule.at$createAction(2, actionGroup);
2 |2 f% O* M# E2 Q' |: V
, h  n, D/ t9 M& m, [$ p2 J9 \* G                } catch (Exception e) {6 H* R& j1 d5 _2 n
                        e.printStackTrace(System.err);3 H( P" _# z/ X/ ?6 y3 f7 R" Y
                        //System.out.println(e);
" e& [7 Q- v: n: o' V# a                        System.exit(1);
) V4 N. ~- [. q' t, v5 B/ K                }0 d1 M, Z, c# u5 {
/ |. V$ T' R1 ~$ @4 u( V! `: T5 R! z

% _5 t. \' F, c5 v* `2 U! ~        }
3 B" h/ g. _; m$ M2 I  m3 F. ~% ^- V! w2 W8 G+ Y  O
        private void swarmSetp() {
- \; |/ F& C& \4 H, b+ l$ {1 I  e                list.addLast(new Agent(Id));4 L$ @6 K5 c+ b0 O, o
                Id++;& `) N- G2 M2 f$ h9 C2 A
        }# I! L1 |- V+ Q" i5 x0 z0 E
% p) e7 q* _$ J/ W2 B& W
        public Activity activateIn(Swarm context) {
% c" h4 G4 z1 }                super.activateIn(context);
+ j' f* J8 q# x/ j                schedule.activateIn(this);
4 u9 `3 n  Y: F# X                return getActivity();" {! j9 H) V; Q2 A& H; i( z5 w9 n
        }
" c/ O4 ?( b# p! Q1 N3 d0 _4 U4 f
        public static void main(String[] args) {+ ]4 P3 Z( P% z' S
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
3 c, ~+ s0 R7 G                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
8 r  Q4 p( r0 E, L                swarms.buildObjects();: Q4 B# o& v/ B8 v( `
                swarms.buildActions();/ J5 z$ O/ [& e+ j2 g+ F
                swarms.activateIn(null).run();
9 A2 j, K: s7 ~) g% t  e        }! I. U- E: ]) k; |( X

9 F/ q6 n8 h3 h' G9 ^}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-20 16:23 , Processed in 0.016176 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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