设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12694|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 $ j8 f# u+ v- e# V! T
. L4 F! L- e( u' C
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
3 a2 H; W4 u7 `: n8 e, V以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
* U6 I+ h. h) X6 P( J4 W8 Bswarm.SignatureNotFoundException( d  ~- B+ ?. a  y3 \- y9 [
        at swarm.Selector.<init>(Selector.java:76)
4 r/ A/ I3 U% ?        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 h3 [5 `5 p1 }4 Y+ t- t) H/ }
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
: z. m# `+ j3 F$ A0 h6 d7 B* }  v9 I2 S4 ?1 I5 w0 P
. J3 Q, E" g: g( d6 {4 |* S' V
import swarm.objectbase.SwarmImpl;2 [) M3 \! R9 c. X6 O
import swarm.objectbase.Swarm;; o5 W7 N/ {7 r9 l* Y: D0 h
import swarm.activity.ScheduleImpl;$ h$ S! c9 [) F2 R' h& {) a
import swarm.activity.Activity;' j/ s. U, s! f5 E
import swarm.activity.ActionGroupImpl;
1 d. V4 r% I6 ]% eimport swarm.collections.ListImpl;
7 `' J+ f5 z) f$ bimport swarm.defobj.Zone; . t: m0 {8 n( e! O1 R+ ]
import swarm.Globals;
$ E/ [. |' a7 i6 m/ @! Wimport swarm.Selector;7 O! |! D! [! y$ x4 S( `) G. p
import swarm.activity.ActionGroup; * q9 t4 V4 T% G1 M7 e
class Agent {* R! Q# o9 g* N7 V+ m0 ?! N
        char id;/ r2 q7 `2 p& z+ N
. s( D* a: h9 D0 D( O
        Agent(char id) {
) @, o: v" o) O/ f3 E                this.id = id;) j5 y$ b, `! l' E5 z! y
        }( p, H2 P, Z; O  z& m

8 v& A" u7 ?3 x6 [        public void agentStep() {
" _, y% a1 W8 v6 u3 a- j                System.out.println(id + ":" + Globals.env.getCurrentTime());5 [. a+ i2 [- ~3 D
        }
/ |# f/ `& O# F}
# D6 r3 G, h! W) v8 q/ W8 T. o$ h: x7 @# q) |$ m0 f3 b' R# M! u
public class ActionGroupDemo extends SwarmImpl {& _4 ?# |# `" z  B- F  x
        ScheduleImpl schedule;
6 j, G  g1 Q+ }* P2 n% U        ActionGroupImpl actionGroup;/ L$ b5 N* Z3 y: y9 j8 B! w5 O
        ListImpl list;
/ A7 j* q' o+ h        char Id = 'a';
" J6 C% P! q% E  [( W& x/ C1 S/ g" f) q  Y* [' o) b
        ActionGroupDemo(Zone aZone) {
( U# q$ c6 s1 n6 _! d% D                super(aZone);7 Q7 H. P% C7 m) A2 L0 W+ o3 c+ z2 c
                list = new ListImpl(aZone);/ x  _+ x% c( ^, J0 i5 H0 T
                swarmSetp();
* l  c- y$ b4 F' E8 H5 d7 k6 v                actionGroup = new ActionGroupImpl(aZone);' I3 m" K2 z1 [7 r  [
                schedule = new ScheduleImpl(aZone);: D; g  Q, h3 b9 I0 b$ c
                try {( D, h& G% ^% u
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);$ R# I1 Y$ U8 m5 M
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. d9 z( w) Z4 }                        $ @% ?5 o; a+ Z; S
                        actionGroup.createActionForEach$message(list, agentSel);- y, F/ R5 S9 z
                        actionGroup.createActionTo$message(this, swarmSel);. Z& B- ]8 K' s
                        schedule.at$createAction(0, actionGroup);+ w4 Q  p/ t! W5 D& R: q
                        schedule.at$createAction(1, actionGroup);
: e+ |0 `4 J7 `5 X* X                        schedule.at$createAction(2, actionGroup);
  x2 i1 ]* C3 ~5 S8 G$ m7 g. \, d2 q5 l
                } catch (Exception e) {5 s, I, J/ [; ~4 B% |9 C
                        e.printStackTrace(System.err);* E& N- u2 W$ \: E9 u
                        //System.out.println(e);
: w& b& m1 l+ {( z                        System.exit(1);
. K& z, e1 }  i6 o                }
' f! [! Q. X) A1 ^
( `  |* _4 v5 U' O! T$ M& `  F/ U/ t6 _* V9 J; U- [
        }
+ s- L$ M  L) }! ^
+ ?0 l% @' F& V        private void swarmSetp() {
& F: P. q$ p) O- X# C: W7 \                list.addLast(new Agent(Id));2 e# o6 n4 t3 T( `0 N& l
                Id++;. X& q8 t  f6 l! w% n+ D+ b
        }
- x  W( `1 S  S7 t* |! n, C( ^" x3 O3 J+ W3 g
        public Activity activateIn(Swarm context) {  z4 B! a$ w+ ^8 z5 E9 w
                super.activateIn(context);) p: F, a/ X0 p/ S5 B
                schedule.activateIn(this);0 a8 d/ s, D; s) s, C/ s( W
                return getActivity();
8 @! {; V4 l4 i2 ?* K7 H, |: O        }
( d% }3 t7 f& b: ?
# Y/ a6 O, `: l6 T) [        public static void main(String[] args) {
2 x2 `1 \( `2 x0 r: \                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);6 U1 s3 J9 y. y. w& N
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
3 j5 y6 c% j& I3 y5 B, b% k# b$ k                swarms.buildObjects();
! m6 z0 t; ~$ [                swarms.buildActions();' s) h8 {0 x4 U- B* K$ [
                swarms.activateIn(null).run();
% J0 @) g, _& ]7 W        }1 Z" e) C4 f! Q. `& E

5 T: P4 q% x+ o+ o  X3 m}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-16 09:13 , Processed in 0.018131 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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