设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10141|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 : r% s  I4 `  ~

* D' g4 O+ {0 y* D2 `5 A) l本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! K# }& i7 {2 ]# b7 x以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 B( V- F$ ~2 E- x/ K5 s
swarm.SignatureNotFoundException
# w8 Y; I& o0 ]" v4 B% ?        at swarm.Selector.<init>(Selector.java:76)
" R3 Z" G5 a/ d* l        at ActionGroupDemo.<init>(ActionGroupDemo.java:37), A) f, a7 Z# K' {! t9 S
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
, G" T2 ?  R" s( K# ~. P% k  E* k, j
# v  a0 I0 {# }/ l' P; d2 {  {8 ]
import swarm.objectbase.SwarmImpl;! l* A+ F* w- x- w7 F
import swarm.objectbase.Swarm;
& P& p) b$ i" R2 P% Bimport swarm.activity.ScheduleImpl;! |+ \5 K6 z  E6 n+ e# B' ~; i
import swarm.activity.Activity;/ a! K7 i7 x* Z3 g0 o/ D
import swarm.activity.ActionGroupImpl;3 [3 O& V0 h- e+ J. B7 P2 G& t
import swarm.collections.ListImpl;
! M* ]% j( y8 Uimport swarm.defobj.Zone; ! q/ L0 F) h3 \" }3 R
import swarm.Globals;- O; D: N; I7 k9 w: y
import swarm.Selector;
) J7 r7 g8 b0 ^2 Q2 ?+ Z' \import swarm.activity.ActionGroup;
" k5 M- M2 s7 cclass Agent {
7 Z1 Q; H, P  O        char id;
! P. @4 }3 C) j
/ i& V/ D% B& t        Agent(char id) {
2 G* u( x; W7 @                this.id = id;$ V3 r: L- G/ y0 r, F
        }4 t- i4 X5 V9 `$ s3 r  ~

+ j" _, I7 l" \( J! V: O" J        public void agentStep() {. h4 g  f% e: {, }3 ~. M
                System.out.println(id + ":" + Globals.env.getCurrentTime());
; `$ E! L# l& K4 B. G  g        }
) m8 `# }) V! {' |% H4 |}
# k2 L8 c; J5 w! s" k: H5 r5 L* e( I
public class ActionGroupDemo extends SwarmImpl {
( e( a' S; t- I. W! ]  O- Z) }+ R! W        ScheduleImpl schedule;9 Z7 z  W* L" B3 p$ Y0 r
        ActionGroupImpl actionGroup;4 m1 `7 Q6 y7 X9 y( s& j
        ListImpl list;
2 p4 A. t1 n7 Q( p  ]# y4 q        char Id = 'a';
6 y  _* M" Q5 k* M, v+ W3 N" S9 |) }6 r6 O2 n$ H
        ActionGroupDemo(Zone aZone) {
) g8 u& w. n: d5 T- f                super(aZone);1 g  [2 v8 }" z$ N. F  E" b9 q' m
                list = new ListImpl(aZone);
5 h: @7 w6 D$ M0 ~9 }/ S                swarmSetp();
- k3 o  Z" [8 W$ C+ K                actionGroup = new ActionGroupImpl(aZone);1 _7 }* V8 {1 F1 |5 \$ a+ l
                schedule = new ScheduleImpl(aZone);, O( w1 j* z; O" X" Z
                try {
1 F7 O0 r8 ^4 |                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ T- u7 K7 E/ G4 T                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) }) c* c" ^, e- A* v8 l5 `, L7 n                        & j0 ]# C* Q2 c) ~0 j
                        actionGroup.createActionForEach$message(list, agentSel);1 Z; m8 H( r/ `9 q
                        actionGroup.createActionTo$message(this, swarmSel);0 f# B( k5 ~4 l  {# a. {8 `- y. k3 M
                        schedule.at$createAction(0, actionGroup);) T% t' f4 L. k& P/ a; e( A
                        schedule.at$createAction(1, actionGroup);$ S+ @! E0 W6 l+ w% d. @) m$ W; A
                        schedule.at$createAction(2, actionGroup);! I! v: W- b  |) Z3 m6 B7 m2 e2 p% i

/ [+ g- Y0 v. X( m6 ?' E+ z                } catch (Exception e) {. D. \7 {7 w2 m; z
                        e.printStackTrace(System.err);
; M; u  Y0 G( S9 u$ q                        //System.out.println(e);$ L8 A- [3 x3 g+ T
                        System.exit(1);+ p) V5 W3 [' L, Q. a. e" r) H0 L
                }
% S0 V) r2 U' O3 W* ^
9 i; ~: T9 J5 |
4 C& \9 Y8 u) W4 B5 l        }
0 d3 o' x+ p7 v" x2 Z8 L0 K9 d2 T* V* M! g% N
        private void swarmSetp() {* T4 A8 n( ~4 w. g3 ]! G
                list.addLast(new Agent(Id));7 h# B: R% Z4 i3 S2 p
                Id++;
$ c5 L5 x' s; P# a        }9 t3 W$ s- v9 r  Z

3 s: c' i* t9 G+ N5 Q# ^; L        public Activity activateIn(Swarm context) {
/ A  @% ?+ V- P9 e                super.activateIn(context);
1 y# b, c9 j& E5 ~9 C                schedule.activateIn(this);6 L" m( j# j8 y4 L
                return getActivity();
3 h5 P: t/ j. |        }
6 H- s/ F) j9 ^8 Q: i3 [) M6 M
' ^, X) ^- M/ V+ @        public static void main(String[] args) {1 T' h4 W& _6 v& ^. O( `: {
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);% D' G7 ]3 T7 x; T$ O+ M1 ?% O( U, A
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 B/ E7 y4 Y9 ^" ^; q
                swarms.buildObjects();
7 y( v* Y2 W. z% Z" y8 D! e. ?                swarms.buildActions();& L9 B! b& m1 A1 \* [6 J6 n: p
                swarms.activateIn(null).run();9 n% e# y. n( o) I
        }
$ \; ?' x* E# p* a+ O$ Z& j4 r9 w. @6 N" d
) Q0 s1 \, z& y: f# c) c}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-5 02:09 , Processed in 0.016577 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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