设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8327|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 Y, u# k" j7 p  u5 G1 G1 b" G0 ~/ k2 _4 z" D1 `
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
9 d5 f& w2 w' \: P  x. c2 \! @以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' p; i1 c, H0 ^4 t; Q
swarm.SignatureNotFoundException
$ b2 f$ b9 K, F5 [        at swarm.Selector.<init>(Selector.java:76)+ S/ }+ x6 m( f( M- r
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 v  b: _% Y5 V6 ^7 y/ ]3 C- d        at ActionGroupDemo.main(ActionGroupDemo.java:67)
: t) m& u$ d$ k% u* W6 K6 s$ ^( V
# e; u& ]. ]7 g% R; `: H7 t+ X# V" ?- s( m
import swarm.objectbase.SwarmImpl;& m3 ^3 G+ X* O% G
import swarm.objectbase.Swarm;
# H: Y, u& q2 ?' l! b0 m  C* Timport swarm.activity.ScheduleImpl;
! Z( S1 [6 P' s$ timport swarm.activity.Activity;
! _  p% d+ ~6 b( W4 G7 v9 A- _import swarm.activity.ActionGroupImpl;
& X) {& ^* k, ximport swarm.collections.ListImpl;
8 r" V+ W5 X5 ~6 I  z" uimport swarm.defobj.Zone;
8 _$ B8 `9 G; t8 e& m8 \+ Pimport swarm.Globals;2 }6 E6 Z1 i9 @0 I+ D
import swarm.Selector;5 L- E! R2 A0 \$ s$ N
import swarm.activity.ActionGroup;
) j( c9 C- a/ \8 e3 g' ~class Agent {
  \. \  w4 P# k& D8 X5 B, \/ y        char id;
$ _1 G# d' g- f0 s0 h7 ]+ e" n, d4 I3 t5 ?) n) Y" E: x4 {: |
        Agent(char id) {
# a5 A( I8 K- E8 d- B                this.id = id;( I$ j/ |* l2 O& W) o
        }6 S+ I( |0 z& Q& n

+ F' C* {0 k! T        public void agentStep() {' o. p! c( R# Y$ d- ]
                System.out.println(id + ":" + Globals.env.getCurrentTime());. N& c# D. v! c  o# {) t" ^
        }
* ~  W. Z+ y2 x& l}
3 Y- J7 R  |  G( o' v% v: c- S1 }( B9 W  @# {0 _$ T
public class ActionGroupDemo extends SwarmImpl {
8 x  Z, P8 t' g# x4 u$ E# g* d        ScheduleImpl schedule;
% B4 f: U2 w7 d        ActionGroupImpl actionGroup;' D% e. c  p0 }5 r2 E, c" u5 B
        ListImpl list;
- T) S  ~0 p. {# [/ M4 y        char Id = 'a';
' L2 r1 C! A: i- q4 D' a  K/ B, T) c% h& h& x2 [3 N; [
        ActionGroupDemo(Zone aZone) {
6 e; K: \( |! l" F: a2 J  V5 _                super(aZone);
3 o3 Z: e3 Y- C8 H$ l' R/ L4 `: R% \                list = new ListImpl(aZone);
. o2 V- u% @3 v8 D) G& i5 K$ ^' }                swarmSetp();, \$ Y5 o8 ?% S0 L5 ~# P
                actionGroup = new ActionGroupImpl(aZone);
  c  M# m) F/ c1 j  T# @                schedule = new ScheduleImpl(aZone);
5 ^  ]8 r) v% D: Y' ]6 \0 ]                try {1 p; a% t' o+ K  B3 ]$ v
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
) a' G9 p" E! j( G                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
3 V. Z0 q) t, C% J! z                        / Y3 ~2 o5 Z1 W3 D% H  B
                        actionGroup.createActionForEach$message(list, agentSel);
9 I9 `4 G) D" w& q! Q                        actionGroup.createActionTo$message(this, swarmSel);" A9 {; x- s2 G& f* G# O
                        schedule.at$createAction(0, actionGroup);- z( q6 D& p  n3 C& s
                        schedule.at$createAction(1, actionGroup);# H7 q6 c8 ^8 a+ [9 `. j$ q: U
                        schedule.at$createAction(2, actionGroup);
9 b' b0 \) r% b# B6 |5 r- }3 w
9 n  P; N0 ]- I% R                } catch (Exception e) {
; Z, G$ a5 ]" U                        e.printStackTrace(System.err);# y0 M  K+ V0 l6 m0 a8 m( W
                        //System.out.println(e);
9 a6 M% q1 T/ n& P, F                        System.exit(1);& o2 F4 T- a8 f' {) C
                }
6 J# [; D0 _" I3 B. P) j( F9 S* G# V' I5 v/ B% z  p
0 O! H3 `* r0 [
        }
5 ~$ m0 C  Z% A7 i1 ~! \3 ^9 R6 f: P& y0 z
        private void swarmSetp() {& ?/ S0 v1 W5 n1 V- U0 L+ |% X
                list.addLast(new Agent(Id));( t! {% F! `, l& F
                Id++;
$ Y1 }. G. A3 o        }
$ x+ L$ ^! ~+ q/ ]7 N. {& o9 W
  M3 W( w8 C3 d" _# w# a. r        public Activity activateIn(Swarm context) {
, n5 [/ [" {' q3 H; B; l/ [                super.activateIn(context);
( w: P) A( q" I1 r$ \; a2 Q$ N0 l                schedule.activateIn(this);; d8 L2 Y* x! e; k; }
                return getActivity();# T9 [4 N8 z& p% U6 g1 g0 m
        }
2 a! f; U& ~0 v- p. L5 D2 t8 ^) t
) k( J! p! _0 Z4 [2 \, n6 p9 D        public static void main(String[] args) {
* k  ]5 P  G6 w+ V8 u3 C3 N                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 ]4 a: }" s6 ?                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
0 a' T1 N) h" S! o. C1 [4 C                swarms.buildObjects();. A4 n# {0 l9 l" n
                swarms.buildActions();. F- ?: Z3 }& j4 H& `
                swarms.activateIn(null).run();+ I3 q  B7 e8 C8 Y
        }( s: E. o3 ]1 b; J

6 u4 D% P! M0 v0 L! P# Y}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-8 06:42 , Processed in 0.019876 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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