设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10736|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* M8 ], ^5 l2 X0 ~$ C" B
7 y8 v1 D% B4 d# y( H本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21( B2 b2 U) I7 a0 R
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 j! s, H. P- M5 r! j& q+ i6 Dswarm.SignatureNotFoundException
! Z" }, e' b# @! f        at swarm.Selector.<init>(Selector.java:76)
  {; W5 D: \/ K% H        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
1 S' X' }. m( B. R% q' G) g+ u        at ActionGroupDemo.main(ActionGroupDemo.java:67)
$ @+ [, z+ u( L  G: N) S* K" i0 b. M  b1 q# C2 p% G/ g" \+ B

! G: P( u  i: r/ O" R+ S* c% `9 Yimport swarm.objectbase.SwarmImpl;
' ~& J# p6 n8 l5 V  yimport swarm.objectbase.Swarm;
2 m1 z4 ~) a/ f$ K0 b/ Zimport swarm.activity.ScheduleImpl;! ^5 U0 |/ Y. R% C# p  \% G
import swarm.activity.Activity;( v6 {9 o1 D3 R% @+ e8 C) d, ]; b/ _
import swarm.activity.ActionGroupImpl;+ X. H5 I& |; d2 ^; ?) i; N
import swarm.collections.ListImpl;
: s; k4 Y* E, D. a2 P' [4 }+ \$ kimport swarm.defobj.Zone;
+ q; U9 T7 r% @import swarm.Globals;0 p: L: f2 R8 ]6 ]
import swarm.Selector;
9 F& V, T8 A' P, }* K  Z  ^import swarm.activity.ActionGroup;
& F: h1 C3 q. T$ l4 ]! yclass Agent {3 U# k1 p* m" C, z7 c
        char id;0 `$ t6 J+ Q& T, y

2 R  o* l- Y5 f- Q4 W) _4 i        Agent(char id) {, c! J2 r; h8 D# ^
                this.id = id;$ I5 X4 u1 D# x1 ~: N0 H
        }
/ d7 W  D1 p; p0 C" D7 V
$ f* U7 F# ]; @2 ^6 s        public void agentStep() {
  j3 ^8 }8 `1 r- T) _                System.out.println(id + ":" + Globals.env.getCurrentTime());
0 j( K9 r7 P, W        }
! P$ Y8 [- L. K}+ D3 R  i4 U2 I2 _+ |! w9 W1 _: K
% E. l/ i! C# \6 P; l
public class ActionGroupDemo extends SwarmImpl {
) T& `' J. y7 ^5 ?        ScheduleImpl schedule;
# ?9 S, {8 N2 U5 t5 ~& o) x        ActionGroupImpl actionGroup;3 I( Q5 e7 w. l5 P$ d" j
        ListImpl list;
& X& ^2 k  t: z- ]        char Id = 'a';
  D: I" p' ?: s2 i* I; `$ p* \" _; J* w' J' W! F( S% j
        ActionGroupDemo(Zone aZone) {8 @! v8 n) N- U' K5 G3 S( o$ e
                super(aZone);6 I( a( P, x8 ?/ L8 p
                list = new ListImpl(aZone);
+ c, O% z4 d+ Y& r9 L+ ]1 e* i! C2 R; ?                swarmSetp();# Z2 U, Z  F4 c/ ~1 C. _" Y- f
                actionGroup = new ActionGroupImpl(aZone);2 k( y; i9 d  a4 m9 K' g8 c6 X0 H
                schedule = new ScheduleImpl(aZone);4 y- B3 ?$ i1 z, U1 D) P
                try {
! N9 O0 h. y+ J9 Y, X$ a+ i% Z8 c                        Selector agentSel = new Selector(Agent.class, "agentStep", false);' ~# K+ m; f2 Q
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
" S8 L$ U$ F; G                        9 _8 l+ A2 C- y- z2 [0 O& N- p
                        actionGroup.createActionForEach$message(list, agentSel);
) m5 G$ B+ i  p* k                        actionGroup.createActionTo$message(this, swarmSel);
4 I* ]$ f. f) m9 f! k; f                        schedule.at$createAction(0, actionGroup);
4 @: E4 I3 b0 i% E2 u9 |$ k                        schedule.at$createAction(1, actionGroup);
* p$ F4 t" D& d8 c% q                        schedule.at$createAction(2, actionGroup);
! \( Q6 w. z$ l$ X% k) L$ w
7 ^- t! s9 B  O                } catch (Exception e) {1 D! d3 c% Z/ j2 c
                        e.printStackTrace(System.err);0 d; q! U% f9 w1 d2 {0 `' w
                        //System.out.println(e);
: I" m. ^" @3 i, p4 a                        System.exit(1);
& w0 o; L- H) o* W) P6 w                }$ o) P: ?1 d+ t. X
% X# N5 J, Z  ~2 `- Y

: i5 P4 X$ Z' q! F        }
( P5 a2 [) O, {) w' W; T0 O1 i* Z4 p& p% i3 \1 u1 }8 T1 H7 q) h# V; L
        private void swarmSetp() {, p3 ~2 |0 J7 b. |# D
                list.addLast(new Agent(Id));# f5 H0 d  t" {; J6 x
                Id++;
3 X' b3 z5 {& L% M( t        }
3 \) f0 J# C/ G/ N4 z7 l% Z! P# [2 t+ z
        public Activity activateIn(Swarm context) {
6 f! Z4 f& P3 [+ V0 w$ P                super.activateIn(context);
+ @( z% o1 U! K8 _; T                schedule.activateIn(this);  _: u! Y( ~, [4 J7 H0 d! l
                return getActivity();( n1 q1 ?" x) M( t$ z
        }
  ~# t! i! c0 T7 w2 f+ y
3 g" Y6 R2 I8 Y  w5 z        public static void main(String[] args) {
6 n  ?6 v" a5 P9 [$ q8 N* n- p& G                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
  b" ^& k  h2 D+ {- z, S1 k                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);2 o5 o+ a( M1 l1 ~( h6 q2 {7 ?' a8 Z
                swarms.buildObjects();  [( u8 k. e! Q, c1 ~* X, b
                swarms.buildActions();
6 a& T0 ^' p6 k# J6 P8 b6 t                swarms.activateIn(null).run();0 n1 k" p' \( r0 G. x2 }0 S
        }
( x* i$ {" E  I& b" v. V
; Q& H8 _8 |* T% G8 E; ^6 B}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-22 02:30 , Processed in 0.031956 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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