设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6794|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
$ |- S  N) f+ N8 p' j( \, ?, ]3 ?& b* a0 ~4 M
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update213 Y7 ^% I, Z" ~6 _% X0 q, N
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
+ f0 u2 x8 e9 y' _9 n( u5 l3 b/ k; \swarm.SignatureNotFoundException  i$ r* w, @" e- e% V; w
        at swarm.Selector.<init>(Selector.java:76)
+ J% d2 F2 ]# R) ]! Y1 U, v        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 ]" W* ]; J  H: c6 n/ b7 c" b8 M
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
$ h1 Q9 S8 l9 E4 F  L! R( L2 U  {
2 e( e+ u  b/ b+ T% e! L) I3 {* B7 M; `0 N. f
import swarm.objectbase.SwarmImpl;
' b0 K& ]9 }& w/ ~. nimport swarm.objectbase.Swarm;
) t4 G6 h* h3 }import swarm.activity.ScheduleImpl;) g5 f" Q" }" [! E
import swarm.activity.Activity;
! y( w* E) P& K4 x8 v1 [5 I* wimport swarm.activity.ActionGroupImpl;. K5 S3 w: H, b) Z- h8 x# r4 G
import swarm.collections.ListImpl;
6 k8 f- j% |2 Z) Limport swarm.defobj.Zone; $ @* g# e* L$ g; h2 |3 _+ x. x
import swarm.Globals;: I) l$ T9 d" ]: Y9 A
import swarm.Selector;* Z  c/ u: b+ X" F1 E; x
import swarm.activity.ActionGroup;
, V# Y( A5 F1 w' _9 uclass Agent {2 k" F! z8 Z$ X9 l
        char id;
# d2 s8 ]& c3 X8 \' A/ a+ y3 v6 x7 O, O: q2 ~  x3 O8 N
        Agent(char id) {% h  c# v& Z* H$ _/ a( u
                this.id = id;% Q8 L) t4 s; k, l, b! c
        }) K" N' U) z* i5 i1 a% i
. I; d0 ~- N/ y8 n$ d' j
        public void agentStep() {- Y3 N( j* V3 w0 M8 ^
                System.out.println(id + ":" + Globals.env.getCurrentTime());
5 [2 h, R6 M0 S: S! r; t        }, N! g. Z8 v  @. M
}
" c2 n! \  d4 K1 o5 @1 g: s6 U
2 h1 o3 u$ }: Y: o) c  W2 dpublic class ActionGroupDemo extends SwarmImpl {
1 ?1 L, D& F! F  W$ _! g7 F        ScheduleImpl schedule;
- c( h$ n9 Q: j$ J2 X        ActionGroupImpl actionGroup;2 p0 y$ F/ C, B0 E" Y
        ListImpl list;
) b; v. I- b) G% b  \. _% I" ^        char Id = 'a';
* j; \3 M2 j2 {9 _$ U* @! w' J
2 a9 e  S( @: h$ |        ActionGroupDemo(Zone aZone) {3 b* K; W/ M7 [1 G6 b: ^7 H
                super(aZone);
5 R+ M1 I( r- Q' Y6 p# @9 z' j                list = new ListImpl(aZone);2 o. q1 W! U4 N! @9 h7 c
                swarmSetp();3 _; x4 O0 _+ l9 }2 _
                actionGroup = new ActionGroupImpl(aZone);% z' c& ]5 u8 |) V7 t
                schedule = new ScheduleImpl(aZone);. o( V3 ]; F9 V& j8 c4 v: r& H  z+ c
                try {& ^4 g, K* I" B9 F) X3 T0 H) k
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);- y/ [: w4 Q; b5 n- B2 N
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% J  x* e5 y' L                        ' c: x" e) _% K
                        actionGroup.createActionForEach$message(list, agentSel);
! ]5 Y/ C. G' o4 T6 q3 A                        actionGroup.createActionTo$message(this, swarmSel);, |: u' _* [( I/ i
                        schedule.at$createAction(0, actionGroup);$ z5 u9 I+ O7 G8 I* F, S8 s5 W
                        schedule.at$createAction(1, actionGroup);- E( v" l/ q% q' Q  _
                        schedule.at$createAction(2, actionGroup);4 n( q/ @. h& m7 f! U# ~$ E% E

# w( h, q! n5 R* r4 k                } catch (Exception e) {. X6 k: _9 `3 I" S6 k
                        e.printStackTrace(System.err);
) y. c$ o1 x* p7 n1 T                        //System.out.println(e);/ \0 R  k: t2 `, k- ], f2 H: k! |
                        System.exit(1);
# |  R$ K% ~& @' T1 j                }  Q$ R. }, m9 I! d' ?& D! N
! f: i1 R+ s. i$ @, {, [! r

9 X# ?/ w* \: @- V& o% V        }
% f8 F3 \) `' E7 s- |* O
9 [  K- K6 W. i, ^+ [        private void swarmSetp() {
1 z' ~. f6 n; C. E0 k( m                list.addLast(new Agent(Id));/ P- t/ R5 w3 V! l% V7 W  ?- R3 F2 \
                Id++;
& r9 C& `9 s, z, y  c        }+ g: d! x5 F8 u, K' O  I7 G
5 F2 r. g  D) C6 V  W
        public Activity activateIn(Swarm context) {% v- \  Q! S% j, Z, u& s5 K
                super.activateIn(context);+ R" c- K4 M/ ~6 |  V. |
                schedule.activateIn(this);5 v) U, \# F+ N
                return getActivity();
! h6 u5 h) o% [2 t3 c1 b4 F) v        }
5 n. X; X( B- i7 i9 I5 P, I6 z$ ?+ g, n- `: f& e* K
        public static void main(String[] args) {
" A# O# I* t1 j: w                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; b6 @" |2 ]6 R                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ ?& v  W& q4 x# y9 X; i0 _                swarms.buildObjects();
8 V% w& O# m, ~6 G, |                swarms.buildActions();
/ _. _5 L) y- B) V                swarms.activateIn(null).run();% C# a( Y1 i' [- c: \: T) L. M3 C- A
        }% i. o/ `, W: }1 `& ]
! B* A) g# h  `
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-9 14:50 , Processed in 0.018773 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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