设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13500|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
3 p' x/ o6 d' \5 i  `# d+ v/ [' X+ O$ b0 c, Q) m
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update213 H- z: F6 _. H- g1 U  X
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ O. \1 f  G; G" }+ L8 }4 D* ?$ m. p
swarm.SignatureNotFoundException
0 `/ y. ]' C5 v# W( c  m        at swarm.Selector.<init>(Selector.java:76)8 ], G7 y8 @5 K" f1 h% p! d6 Z; d
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 h  b5 f3 b6 f4 n/ u
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
1 L7 ^0 ~. E: u$ C7 r0 |
/ t; f5 `5 b7 C4 D; x% e/ r) ]2 N1 G6 g' r! c4 `
import swarm.objectbase.SwarmImpl;" a8 @9 K8 d1 a9 l
import swarm.objectbase.Swarm;
4 p- `4 q9 G" t3 a. k3 d1 _import swarm.activity.ScheduleImpl;
  Q) c. Q3 J4 X7 Qimport swarm.activity.Activity;8 ~7 R5 a: i0 W3 w5 _$ g
import swarm.activity.ActionGroupImpl;
0 s( i, _7 o$ s' g9 t2 limport swarm.collections.ListImpl;6 {5 D7 T- B, M% G: ?
import swarm.defobj.Zone;
# D) \5 X' _7 \, Iimport swarm.Globals;
  q8 E8 F% S( x6 `( v1 c% Timport swarm.Selector;
$ y# b  t9 V* G, ]import swarm.activity.ActionGroup; 0 x9 X7 F, P' v8 d! O7 f+ e$ i0 |1 F
class Agent {+ ^7 m! W4 M3 S' L4 B5 n& i
        char id;% [! n" g/ y& W" R
/ L1 b! H$ O8 F3 U; U, l
        Agent(char id) {4 O4 d" x2 ?/ a7 A. Y' l0 n
                this.id = id;# ~: C* X1 ^, g3 q
        }
! O7 F7 x% g' ^& L
7 r# F; d& |4 E; C- h        public void agentStep() {
  C* t1 ]. \' T& j1 F                System.out.println(id + ":" + Globals.env.getCurrentTime());
' g- U4 G- {7 G        }0 L$ p$ g* f) \$ b
}2 e7 g9 u0 R! w- q# e/ i; o2 j& {

# g. c: C& A1 O5 U7 Dpublic class ActionGroupDemo extends SwarmImpl {
! z# Q" ?* Y$ t+ G        ScheduleImpl schedule;
, w4 i4 Y8 A% e        ActionGroupImpl actionGroup;) U6 V/ q2 j- @
        ListImpl list;* A7 d& a3 [) K+ @4 d% ~
        char Id = 'a';" z" z# U  l; Y5 J9 Q

" _2 P; d% I) e% Z* J        ActionGroupDemo(Zone aZone) {
: X3 b) L7 h) p; A                super(aZone);  w5 M, y( ^( {+ G2 i0 k
                list = new ListImpl(aZone);+ X+ B& h' @) i. g$ z/ `3 M1 @/ M
                swarmSetp();
8 V7 t4 X/ b  {4 F1 w+ K                actionGroup = new ActionGroupImpl(aZone);; l; j1 |1 T9 |- c# w% k* E, G
                schedule = new ScheduleImpl(aZone);
+ o9 x% N; g' s7 V( |                try {2 T5 m) b6 g$ b4 H3 A/ Q3 o$ C
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);( D4 b8 v+ }/ k
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; \+ C; p% P0 z4 U8 [
                        : Y! W! r  S# L* M
                        actionGroup.createActionForEach$message(list, agentSel);
& y1 N8 ?& o- p6 I1 R$ H                        actionGroup.createActionTo$message(this, swarmSel);
" H/ H) J7 G: }( A" L                        schedule.at$createAction(0, actionGroup);6 m) J4 H2 [9 H$ v2 g! v3 W# q
                        schedule.at$createAction(1, actionGroup);4 S& z" b, J* [
                        schedule.at$createAction(2, actionGroup);
8 B1 k0 O- ~/ @- g8 m' F" X# [, H4 s' @% r
                } catch (Exception e) {
* c' i) K5 a1 i                        e.printStackTrace(System.err);
8 c3 c8 {6 v: I5 A% |                        //System.out.println(e);/ v% l4 Z! r% y6 ~( I  V
                        System.exit(1);
8 g) W* ?0 [7 ?; z+ d                }3 M# A* d5 L" F0 Y+ `: ]. N
9 l' [7 v7 J, }: I9 `3 H8 t) Q
  v8 G0 A7 ]' K) n  C# `
        }3 U5 {. a$ G' b9 R9 l

. H/ j% |  U) B+ I        private void swarmSetp() {
6 X! h2 ?+ V0 M! [                list.addLast(new Agent(Id));4 O# ^7 A, h/ m( T3 j( b; K. Q
                Id++;
- ^. P# ~0 z: d        }0 N, F! d- J$ O7 l' K9 N

0 y7 l5 }4 t  l* A        public Activity activateIn(Swarm context) {
' ]" E) j8 B7 n+ J                super.activateIn(context);$ F1 M6 g" w# k$ C. y- X0 M) d7 {
                schedule.activateIn(this);4 J$ _* G/ y# a( a! E- i/ R
                return getActivity();, Q4 H1 S2 C' L7 M" }. f
        }, I: S2 C5 ?% Y

- T! n* _3 C1 n( Z" g        public static void main(String[] args) {
1 A' M1 _1 x0 O                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);( h0 ?. L8 n, r# s
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# i; h: f9 K! K; D! C  c                swarms.buildObjects();
- m  E# s. p) _" M! @4 [6 B                swarms.buildActions();! s% G6 _, a0 Q$ r7 ?
                swarms.activateIn(null).run();2 P: O/ q0 Z5 c: n* V" c
        }
, w3 `+ J' J7 g$ }* n) d" R1 {# ^, k* o+ d# j( l" y0 p+ e9 i
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-8 23:07 , Processed in 0.014362 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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