设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10926|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
: g/ N7 b! j* K. V' P% L  S" y6 i- u' a4 G! u+ {$ y
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 V% n( c0 b9 V' a( Z5 n2 j
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 _/ g+ a" E9 k4 n$ c+ E% k; K
swarm.SignatureNotFoundException4 @9 H! t# l4 x
        at swarm.Selector.<init>(Selector.java:76)4 K* I3 L0 y. p! P$ b, d+ P
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)$ A4 e. `: x# L+ l% ?' U
        at ActionGroupDemo.main(ActionGroupDemo.java:67)+ p0 H- n* W- ^  b- @6 T

1 n" |( K: U  `' r5 k) ^  A0 R1 G0 F& c2 X* s
import swarm.objectbase.SwarmImpl;: d  h4 H: Y5 t6 @2 o) T
import swarm.objectbase.Swarm;+ w, V+ u$ i4 K7 z9 k' K
import swarm.activity.ScheduleImpl;
- e0 h* h4 K: j1 L/ H. Yimport swarm.activity.Activity;! K" M4 m. t# p1 p5 R5 @' a
import swarm.activity.ActionGroupImpl;
5 c6 s; S. T. Zimport swarm.collections.ListImpl;, i8 \1 V: t& q+ U' {& a
import swarm.defobj.Zone;
: R0 O0 p/ b+ X' f. K2 p  X, |import swarm.Globals;& o0 P# s5 M" K8 W
import swarm.Selector;$ T$ }' ?/ w2 J4 x+ O- D8 G: D
import swarm.activity.ActionGroup;
2 P% [  m" ?5 b7 W0 pclass Agent {
) p% b' t& d- f  J        char id;
0 r9 f2 O* _6 b6 D& l: _
4 ^# e5 |' h7 @* m        Agent(char id) {. p: l- T8 R- Q8 u* c
                this.id = id;
$ d5 u3 i9 {: ?6 A" ~4 J        }" Y6 G" w7 V4 b0 ~- O8 {( y

& S6 ^% d* @7 M        public void agentStep() {, J" F3 A2 I$ e  W
                System.out.println(id + ":" + Globals.env.getCurrentTime());* K( G5 ~/ A5 ~2 Z
        }6 B6 y: P$ l6 `  J6 C$ l% D
}8 }! A9 u1 p' U. s6 ^7 u

9 Q) A  S) Q0 [2 N2 a5 ?7 Gpublic class ActionGroupDemo extends SwarmImpl {
7 f5 c7 W0 U. Q        ScheduleImpl schedule;
" Z* i& }! F/ T4 o        ActionGroupImpl actionGroup;, }2 _# g7 J/ W8 M! z" s9 I* X; W
        ListImpl list;. E) E4 D* H1 x4 a1 d4 I1 G
        char Id = 'a';( A" n& }+ O0 A0 @6 t& L
/ {" t# V9 W, y8 X: j
        ActionGroupDemo(Zone aZone) {
) j# c- h* R4 |( n8 c1 r                super(aZone);, Y6 {7 d; b) X4 D5 d
                list = new ListImpl(aZone);
! D" ~( f0 m5 P2 s' G% `                swarmSetp();  \8 `( [) J+ n. W8 [/ [! O' Q
                actionGroup = new ActionGroupImpl(aZone);
3 f9 `7 }5 D( l5 {0 n0 z8 l$ [                schedule = new ScheduleImpl(aZone);
! C3 v2 m2 W" }                try {0 M; M( Y/ m$ \. W
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);9 W! l- C4 N$ u3 X
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ x. X) a" B9 L; m2 l                        ; C1 ^& Y( \3 Y! f* `
                        actionGroup.createActionForEach$message(list, agentSel);
$ Y) e0 @! R: Q2 w9 U, s, b* D                        actionGroup.createActionTo$message(this, swarmSel);7 ]4 @# d% f3 v0 k
                        schedule.at$createAction(0, actionGroup);/ _# v# v2 N# g- R- j0 A4 K
                        schedule.at$createAction(1, actionGroup);
; I" m) ]! [/ n8 u5 \. T6 ?                        schedule.at$createAction(2, actionGroup);
8 [! {9 B3 f$ c. }, q; r7 w" }0 E& i( A
                } catch (Exception e) {8 _! `/ k9 ^6 e+ E# u  k! n' B
                        e.printStackTrace(System.err);( \/ o' J' Z# a
                        //System.out.println(e);
+ M* c  w( Z+ b                        System.exit(1);/ v" R) n; l" N$ ]
                }2 ]0 A. ~2 p$ H& T; }. |. ?" N
7 n2 R8 ~2 I5 d

  w; t- X# p/ G  w3 c# G! v        }
. Z: E7 ?5 \: n% j  M
1 W1 u9 }, D2 a' v$ f        private void swarmSetp() {
7 G; q' [4 ^  d9 V+ b5 l                list.addLast(new Agent(Id));) f7 \5 y) R) }% }( M+ G
                Id++;
# Z, h: Q4 j3 w% `1 v, I* K1 w. {" f        }8 K  O- z9 w5 c. e7 t
3 l% _- {( e5 F
        public Activity activateIn(Swarm context) {- D& F& O* u+ I& P
                super.activateIn(context);
( S2 H  ^1 u+ b2 F* g                schedule.activateIn(this);
: ]5 i+ L, u0 X6 n                return getActivity();
& D2 T$ c/ K8 A- z& Q! e        }% T, }1 f( T1 f2 G" X5 V
& V4 E8 L. X+ E2 m
        public static void main(String[] args) {, w8 {) |1 M. x2 D6 D
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);  S- r: E, D" T6 e
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: ^# n# l2 X  Y. @% D* l# r* B: G( l                swarms.buildObjects();: W5 y1 o. |0 N3 G$ e
                swarms.buildActions();
/ @7 _" t- X3 ~) k" A6 A                swarms.activateIn(null).run();
6 K; x( w+ {6 W) Q        }$ S4 n& y! O; y4 c6 a) R, Y* f: m

/ Z9 {* W8 h& ?/ P$ I/ u0 V" i}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-27 21:50 , Processed in 0.017534 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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