设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13584|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. N" @% c- |8 L4 E9 B1 f+ I
! Q7 ]7 |0 G, T; A' I2 {本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21$ F& V7 g0 K: `7 p( C' t( Y; ?
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ {6 v: N- ]5 ^% O8 [% y' C/ V% b
swarm.SignatureNotFoundException
+ x+ g, I; l# w) k        at swarm.Selector.<init>(Selector.java:76)
- ^6 u8 h) H. P6 [4 g        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
4 M" m% s. }7 y, s. F        at ActionGroupDemo.main(ActionGroupDemo.java:67)7 l- ~4 b9 A- S4 Y& U' ]$ q1 B
6 a/ }- K! B! V* W
, f% F  Z+ b( g4 v* R0 s
import swarm.objectbase.SwarmImpl;
$ L8 b% @5 |) ximport swarm.objectbase.Swarm;  _8 |, m+ \2 {8 a. V
import swarm.activity.ScheduleImpl;) x! h: T! J# ^5 \0 n6 S
import swarm.activity.Activity;& A' W* Q2 ~( C( K, {
import swarm.activity.ActionGroupImpl;( G! k! S9 s( t3 c* N
import swarm.collections.ListImpl;
/ w+ M/ e& J8 v1 m) j- J, {import swarm.defobj.Zone;
3 D0 U& F5 P- d% qimport swarm.Globals;
  e% m' G$ b% {- f5 }! I: W% F1 Mimport swarm.Selector;" V" z' b- m% q0 v; m  x
import swarm.activity.ActionGroup;
! y; S0 e$ r5 c! u( T6 a7 sclass Agent {
5 J  M; M) \! G1 D4 V6 _! C        char id;
! g- |  |/ K2 X4 V6 F1 `# g% Q
  b$ Z$ b' E# y( m9 M: ?        Agent(char id) {
) j: W8 h& |4 k2 l$ u4 ~/ f                this.id = id;+ h$ ]0 V; w2 ^, _; t4 c6 Z9 C8 I
        }
# {2 K3 W# {" q9 S; X8 f9 r6 ~( j% ?& _9 z
        public void agentStep() {
# X& G+ W- \) t0 Z                System.out.println(id + ":" + Globals.env.getCurrentTime());& K$ `  m& b6 ^- n1 U" w. A
        }
  o3 K7 H( O% C) f6 K  [}! R: M# ?; @. y: h

% `! j+ G4 [5 H% }- Jpublic class ActionGroupDemo extends SwarmImpl {
0 Y! \1 C! e% G2 A! Z/ `. x& e! ^        ScheduleImpl schedule;; F" P3 u0 r0 z. s
        ActionGroupImpl actionGroup;; Y7 B" x7 r$ X
        ListImpl list;) o+ _7 ]; U, v0 c4 f, g: ~
        char Id = 'a';
6 P+ b$ I5 E# e! W, U- J
9 e6 Z; t3 N+ R/ W8 k* T; l0 ]0 A        ActionGroupDemo(Zone aZone) {
/ K% X3 q% E  G7 Q8 Y                super(aZone);
# F; A! e; Y8 b6 C2 l5 z                list = new ListImpl(aZone);! A1 R. W# \: L: L1 S! @
                swarmSetp();! g9 ~" c6 A+ b% c5 x
                actionGroup = new ActionGroupImpl(aZone);8 u5 k1 z& e6 b, y8 D% f
                schedule = new ScheduleImpl(aZone);
& h3 ~9 V+ n+ Y# p/ w0 Z                try {# V8 d. \( N0 f  R  y- S
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);9 S7 k9 X- Y7 T6 v
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
9 I, ^' b8 n/ a7 i7 ~9 j                        ' j; [* k1 a) n) j& r9 U
                        actionGroup.createActionForEach$message(list, agentSel);+ r+ a& g/ ^6 I  g9 ^/ d" N
                        actionGroup.createActionTo$message(this, swarmSel);
5 U2 o+ R) U; ~6 r. Z* X                        schedule.at$createAction(0, actionGroup);
$ s+ N! U, z* u7 |% Q0 g                        schedule.at$createAction(1, actionGroup);
. r8 k' @: p! Q( w; O/ W9 U. t                        schedule.at$createAction(2, actionGroup);4 x; ]9 D; r7 J4 B+ T2 v1 k
' p% O+ E- `2 d9 C+ |& v& }
                } catch (Exception e) {; Q% T2 X: s1 c; p' H- R: j9 m
                        e.printStackTrace(System.err);! O! H$ m# i0 v) t
                        //System.out.println(e);
! q! w$ u/ K4 g# t                        System.exit(1);3 X' O1 b% ^8 m/ p; Q
                }1 g- }2 L, T/ z$ _6 P8 }' F

* Y  y5 F4 s; j! D) K; b* Q9 s' p/ r
        }% G0 `: D9 L, P
* E. w3 b, g% y' i, Y" j1 s
        private void swarmSetp() {
* p1 K" e% w1 e6 G4 C: _8 z8 o) z1 {                list.addLast(new Agent(Id));* h9 l) @  Q9 B- L
                Id++;
- ^, I) o9 L, X        }0 o  X# n8 U8 }* q$ ~" v

  J7 U* q7 [8 P! B1 Q        public Activity activateIn(Swarm context) {) Z2 N/ O3 z  _; z( Z6 l+ }7 p
                super.activateIn(context);
0 O% w& N! f& c6 J7 ^% |                schedule.activateIn(this);5 G+ V% t/ u' s; O: D8 ]
                return getActivity();
. S# c7 T5 h+ W# y        }  N' z8 l! R1 K0 ]
% k5 K5 c; ~# A8 j( y  Q8 I5 p
        public static void main(String[] args) {6 i0 [* T. ], v3 A2 F% w' W. i+ w
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! z$ N0 ]: w4 z& t) M5 x/ {                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);2 w; Y; j* p! m
                swarms.buildObjects();+ B9 u" [1 \# ~3 p, E
                swarms.buildActions();
& O% K! i, e3 K; }  Z                swarms.activateIn(null).run();
: D' c6 H. Q+ V: ^        }
' J$ w% ?+ u3 D( U( P2 v
6 C- m" r+ R' @5 m* g+ `}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-11 20:35 , Processed in 0.017397 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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