设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10973|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 i" J; G# H3 W

5 s. |1 U. a- O! ]# @5 |本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21$ [2 s. f5 D5 W
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
3 j4 R+ e0 d; C# \- J$ V2 _swarm.SignatureNotFoundException
( H4 f+ d6 V- [3 i; X3 q/ w( l        at swarm.Selector.<init>(Selector.java:76)
1 b( {0 U. v) R" U; Q        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)2 T1 @4 ?- ^- Q
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
& p: ~3 f5 O* s/ I7 k3 L  P
- T/ E. G' n+ y# e, G# S5 [" T# H5 A$ _
import swarm.objectbase.SwarmImpl;
$ z* r! I( Y5 d/ i* n: M0 K9 iimport swarm.objectbase.Swarm;
) m' u7 l: _6 w4 t( ximport swarm.activity.ScheduleImpl;! J2 u0 A+ p' H4 w# g& H
import swarm.activity.Activity;
8 `1 q+ V/ Z0 L" m3 V- bimport swarm.activity.ActionGroupImpl;, Y& l0 O/ u3 i
import swarm.collections.ListImpl;2 ~# x! Q, Z7 [; G- N" b' L
import swarm.defobj.Zone; , \. k4 N/ p8 R) Y1 h  D
import swarm.Globals;1 v9 p8 s* @5 x) d/ _  Q) r
import swarm.Selector;; [7 n% G% f; A, M8 l) e8 m7 O% ?
import swarm.activity.ActionGroup;
! v. H* ~/ K9 d! y1 p+ bclass Agent {
3 A7 g& q& b' q. Q( ?3 ^        char id;8 b# _6 A( L3 \) O1 d

3 r) g% T& ~6 x) F        Agent(char id) {  V" s3 q! B# K6 {( l
                this.id = id;( n- e7 ?) V3 f4 k
        }6 v% P6 M5 N% c
) n4 f) ~, Q( \. K# U& x
        public void agentStep() {
, k7 Y; v; R6 N+ g9 |( u3 t  k                System.out.println(id + ":" + Globals.env.getCurrentTime());
9 I9 c. }( q4 S3 w# c" e8 b: z+ _        }
# ^- L" U$ c. W: ~}
% G" |9 c7 s" z  B  v- a( X2 m/ \9 T
public class ActionGroupDemo extends SwarmImpl {
: ~1 h& r6 x) U* |        ScheduleImpl schedule;) ~! [! e7 N( M3 z; L8 G
        ActionGroupImpl actionGroup;0 I' R1 a) K( @5 _* H  ^
        ListImpl list;1 v- a! R" O+ `! {, p5 R
        char Id = 'a';2 H5 g' W% a# Z8 {& B

4 c3 k" [$ n$ G/ `& Z9 x& u: N        ActionGroupDemo(Zone aZone) {
4 j; [9 f4 M! t; D* U: j4 Q; O! r- e                super(aZone);
/ ?5 c/ R2 L6 `- h* N                list = new ListImpl(aZone);
# F. F7 R9 {, U; i4 [7 `- C6 |                swarmSetp();; T9 l$ f. q1 n- N
                actionGroup = new ActionGroupImpl(aZone);
3 X6 ?9 U- g! Y                schedule = new ScheduleImpl(aZone);
  M/ u7 P/ q! u  J( A                try {
/ T$ @: H9 B% Z( h8 f                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
  h% M+ N' R, i0 [% h                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# k6 @5 o: o) r  I
                        
# F' m9 \  X) `, |" d* X                        actionGroup.createActionForEach$message(list, agentSel);! @/ @- R* s; m. M) r
                        actionGroup.createActionTo$message(this, swarmSel);! ^; p9 f" y1 `! E4 ~9 C+ w
                        schedule.at$createAction(0, actionGroup);
. l8 s& O  |, `                        schedule.at$createAction(1, actionGroup);
  W/ S6 V6 I6 o) h( H% i0 Y7 ^                        schedule.at$createAction(2, actionGroup);, q5 p+ H% t, f8 e6 W
) H& }; b, [. u6 R* n
                } catch (Exception e) {
& Q  s0 s- x7 i4 ]( D  c                        e.printStackTrace(System.err);
, P7 B* X% g  z                        //System.out.println(e);% I4 ^# H! E/ u8 j9 A& U0 s1 d; q; {
                        System.exit(1);/ c1 Q5 K4 A: i0 [
                }
! m: l4 H+ V7 L" I* L, \2 K
. M0 n2 x# F% [  y  V# a; K
; i' |. g, Y. t  e        }3 h* n% b* o8 j

% ~1 e8 h5 U7 ]  }5 D$ ?        private void swarmSetp() {9 n1 r9 l# z0 ]+ @
                list.addLast(new Agent(Id));
; g7 r2 F) {7 F, [                Id++;6 z- q% ?2 Z* V$ E& R: C8 r5 f
        }' v9 M! W- o- l! F( u
: S* T, N$ k/ p% U$ l" o
        public Activity activateIn(Swarm context) {, W# d; O, r0 m( w5 Q
                super.activateIn(context);
9 Z3 h' w+ K; g7 _- u1 f4 W! e                schedule.activateIn(this);
5 F0 e5 X& {& c+ d                return getActivity();
( r+ y% E0 _. H5 a( D9 y        }
' L1 a4 y$ D7 P" P8 }+ @, D2 d8 \# k1 J
        public static void main(String[] args) {6 C; c9 i$ `) {$ N8 X* L# E, l
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
- Z0 |& J7 m* v- \; l0 s                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
  P2 Y5 W/ {7 b& u4 Y, B8 T+ g                swarms.buildObjects();
( \2 t) r3 [4 }6 _                swarms.buildActions();5 s3 {( d9 @* a$ t  R
                swarms.activateIn(null).run();# h1 X8 E( g& ?
        }5 R* ]9 {9 T2 d" Q7 G# `

* D8 P5 u5 f% _* I! f" G}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-29 04:26 , Processed in 0.017822 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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