设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10817|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 3 A/ E7 G% q6 e  e3 x3 B

, ~! {! s% B% E本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# M, F$ ^- t. z. D以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: L3 D$ o! q7 E1 c6 m9 ?
swarm.SignatureNotFoundException) t: S* i) h& ~9 Z
        at swarm.Selector.<init>(Selector.java:76)
) z) T( a" f% r6 P& O, j: R        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
! R; @2 y, N, m. B        at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 n0 G! U" D( @
( s7 r  R* W! P8 [: V- o
# ?  \2 O( G- f  c: Eimport swarm.objectbase.SwarmImpl;, r+ z  p0 }$ w4 |
import swarm.objectbase.Swarm;1 @+ |5 F+ F! [5 M) E0 ]
import swarm.activity.ScheduleImpl;
' A7 [; @, o  Oimport swarm.activity.Activity;
. N8 a' F  ]- P) p6 ^import swarm.activity.ActionGroupImpl;
! [/ k( G4 E3 A  _import swarm.collections.ListImpl;2 i, p* ]5 F8 m4 L! s: |' D( v: f" |
import swarm.defobj.Zone;
( i+ B6 w# E& N. R: [! |2 D( R' Cimport swarm.Globals;4 B- \3 {5 h& W5 s
import swarm.Selector;) W9 N/ @# |  }) i" Q3 V
import swarm.activity.ActionGroup; ' y  ?' o- |) v9 y" n2 e
class Agent {
, e1 a& @. h$ u' Z0 G3 V! A" l        char id;
) b2 J. M  g8 u* _. o* a$ ?9 o6 x. {5 z9 ^1 j
        Agent(char id) {, c9 l; h3 F9 J
                this.id = id;, o6 x* n  G! _1 E# I
        }
/ s" P, z" |# d- W) ?6 s* K, [- R! ?5 r' h; M. w. g
        public void agentStep() {/ I0 Q! ]0 O8 c" T. i4 ^. s- a. C- D
                System.out.println(id + ":" + Globals.env.getCurrentTime());
- Q+ a3 k( N0 H+ {  ]# x        }% Y6 O8 M4 B, |5 J( e( l# z
}3 f2 N- S: A; Q. z- \
/ W  i; G, u! d/ W1 Q
public class ActionGroupDemo extends SwarmImpl {4 x4 L1 ^; k- Y
        ScheduleImpl schedule;
4 f# {$ m, l8 s1 o$ f% B* v        ActionGroupImpl actionGroup;+ {) y) A( B+ C+ N$ f+ Q9 u7 a+ {
        ListImpl list;
, @% r1 X- c9 q2 R  Y6 n$ w  }3 \        char Id = 'a';
' p5 A2 V0 x+ y1 Q5 B! T4 B+ v# P2 b" ~0 i
        ActionGroupDemo(Zone aZone) {
' K4 v/ C- [, \  f7 P2 o                super(aZone);+ l) S- g0 y# y* d" d9 Q$ h$ e
                list = new ListImpl(aZone);
8 Q5 @: h2 `" h2 v, q# Y                swarmSetp();
6 L& Z8 e* }2 \$ ]1 G  L8 [                actionGroup = new ActionGroupImpl(aZone);
/ S/ N! T# Y1 `9 U" z  Z                schedule = new ScheduleImpl(aZone);: d; `/ K* d) B: _( c& ^! U
                try {
% ^4 P, g, f' u                        Selector agentSel = new Selector(Agent.class, "agentStep", false);+ r" s6 p6 l6 @) a
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行9 }$ L; y, A' t$ y: ~
                        
0 Y1 _9 Q/ o, @& V0 M                        actionGroup.createActionForEach$message(list, agentSel);6 C$ S9 p" ^, G( E, ~$ ^2 g
                        actionGroup.createActionTo$message(this, swarmSel);
4 l, S4 X4 n& A- ]: H( c/ ~                        schedule.at$createAction(0, actionGroup);
) t& n+ A& B4 \8 J$ h5 {# W                        schedule.at$createAction(1, actionGroup);
5 l6 K: u. d8 e4 |                        schedule.at$createAction(2, actionGroup);
0 C% ~; v4 q' W9 ?" r) k; }$ ?9 Q5 [) o1 g* ]1 }
                } catch (Exception e) {
* H) z7 I4 u/ u7 A( n0 \                        e.printStackTrace(System.err);! ?( K" U6 V; i
                        //System.out.println(e);
! Y2 r. H6 A& e/ r* G  U                        System.exit(1);
& U/ f: _0 _. ~4 ~6 z- l; Y: Z8 q3 m                }
# B; W% @5 i1 u7 a! ]- f: U. t' `, B2 L' r, w5 ~1 Y

) W* E* `2 u( h: t- H# l        }- e- H2 \  ]- ^" Z

+ j5 Y) r0 O3 ]1 \; C, Z# V% r        private void swarmSetp() {
3 {9 `) B! A9 W* U9 P& T. A- L8 K                list.addLast(new Agent(Id));
% [% R& B# F: ^: b. `* X                Id++;
2 J* k# ^' ^3 _, c1 {  J; |: ]        }4 J) b) Q3 w) e! n5 g

# a& I7 J" ]) ]; F+ b5 T. ?1 r        public Activity activateIn(Swarm context) {
8 L" X8 j( K# c- g8 Y2 V& C                super.activateIn(context);6 R* d9 O1 o/ }" ~
                schedule.activateIn(this);( [4 k1 P- o3 b7 `2 }" g
                return getActivity();
4 N- s; f& t$ d0 b3 a1 Y. a        }' D& T4 L+ B: {) n' T, b

9 w. ^4 W: ?0 v2 W3 s$ U0 y        public static void main(String[] args) {
. X8 @9 a. L& H# y* J7 H9 k/ c( o                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);! P$ T* v  @* f8 [  N# K  Q, X" O% Z
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
8 ]6 J2 Y+ d* F5 z9 P# a& L                swarms.buildObjects();
) G5 C; N$ l# @" y6 f                swarms.buildActions();3 y6 e; P/ O7 R- \8 t: A  J
                swarms.activateIn(null).run();1 Y' G4 R; m) T0 T, S
        }& T* f) l  _+ E. p5 B7 M! Y' j0 ~2 F" g
  l- g9 K8 |: U6 A7 [
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-24 14:12 , Processed in 0.013896 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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