设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7575|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . l3 h: F1 P: }  g/ f
% i8 H! }. U8 c1 H
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# c" m& X7 A( D以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 C" `6 i' {( G. D, n5 Rswarm.SignatureNotFoundException
9 e, r) W. P) b: C2 |1 n) X        at swarm.Selector.<init>(Selector.java:76): Q3 A2 r/ K1 A  E3 h& }: D, Q7 u1 Z
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
2 u# V3 m0 o9 c. I. Y; W/ ^        at ActionGroupDemo.main(ActionGroupDemo.java:67)6 u+ j+ d' O$ Z. X" J

7 ]: M" X* T1 l3 S( ?% s9 b: r4 @! U7 Y5 o& o
import swarm.objectbase.SwarmImpl;6 [3 {* z8 b# r' }3 ^* y) F
import swarm.objectbase.Swarm;
' H/ B  Q% {: f/ i' q" ~  vimport swarm.activity.ScheduleImpl;. j* w5 Q& J0 z6 K( N- L" d
import swarm.activity.Activity;
+ U) m9 E7 B. simport swarm.activity.ActionGroupImpl;
* [" O& V1 Y4 r: `% Y7 Gimport swarm.collections.ListImpl;+ J% H! v! b: N3 s4 L! A/ S, r. g4 D
import swarm.defobj.Zone; 8 E. e  `7 E* y& U  n, F3 d
import swarm.Globals;( y( O: M/ j% @
import swarm.Selector;
+ i4 I+ m0 y8 x; r# v; ^import swarm.activity.ActionGroup; $ }- [2 }0 G0 @0 Y  j% a6 o- v
class Agent {( T" L9 l, u4 A3 o$ G
        char id;
" l  }6 r* H4 ~2 p' B+ t8 }9 N2 Z) x% C+ q( |) |
        Agent(char id) {& ], b7 J) D6 u+ v. u3 e
                this.id = id;
' p2 i: q4 @1 q) w# Y        }
1 E: M- Q5 s& j6 `! i: N
7 e) r( {3 }( B! D- N: b" h        public void agentStep() {
1 V( s' B' Q! x+ z                System.out.println(id + ":" + Globals.env.getCurrentTime());$ H2 e# a2 ~3 l3 f, u4 a# |& X, x
        }
1 `, X; \5 o1 G0 L9 L; _. U}
4 y$ F0 i" Z2 D; `5 g3 i" k% Z) l* m7 B1 _6 s' F" ]8 J
public class ActionGroupDemo extends SwarmImpl {
1 ~$ y! j) R) _# K. ~9 k        ScheduleImpl schedule;% I  D# Y- }; V* k3 O
        ActionGroupImpl actionGroup;# N7 g8 z6 B8 Q" K
        ListImpl list;
6 F. x5 ?9 T# q        char Id = 'a';8 a' F, {2 V6 l" V6 [( k
1 i3 v/ [3 B; h2 h  u, k( H- g' n; l
        ActionGroupDemo(Zone aZone) {
. a3 S' A* I* q1 ~9 ^                super(aZone);
5 j9 \. R) @$ L% U5 |                list = new ListImpl(aZone);
) `4 K6 Y6 s# A, Y/ O9 D                swarmSetp();8 e( g  B. {, n" U
                actionGroup = new ActionGroupImpl(aZone);
" w- M6 R/ Q# `! A                schedule = new ScheduleImpl(aZone);* h( l& V% d0 y, O5 D- d
                try {/ S: n2 X6 z# M2 P" T: Y. [
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);/ T, `; J! H+ T9 d' w& Q
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
9 A/ v" s! a" c8 I6 ]% j                        
' q+ {' Y3 _( J* v0 }& C                        actionGroup.createActionForEach$message(list, agentSel);
' E6 G6 y: @3 g1 V% j( U- z* f2 m                        actionGroup.createActionTo$message(this, swarmSel);# d. L: |5 \1 O; q
                        schedule.at$createAction(0, actionGroup);
, ~, v1 A) Z6 f- p  E" C" c& x( b                        schedule.at$createAction(1, actionGroup);
/ Q, b0 j0 D* \' k' ]                        schedule.at$createAction(2, actionGroup);
- k' R2 N9 [. p( V
7 m. l! Q, Y( z  J                } catch (Exception e) {
! _  f; E5 i+ B2 ^) E* r2 n                        e.printStackTrace(System.err);4 x7 o# u0 u. k2 k+ y
                        //System.out.println(e);6 o4 V2 ~3 O& c
                        System.exit(1);
3 H- T1 \; h, P6 z, U& m% [                }* y" O# l4 y, p! m5 s) K) H
$ ^8 w- s0 _! t4 h7 o$ l5 k) p

) z+ K$ P% n5 W7 ?; T. U        }
4 w- D5 V- B" F; d+ K" K; l
; z. W7 Z  _& |- C! F        private void swarmSetp() {
  L. V: e5 a7 H7 H                list.addLast(new Agent(Id));
& `; V$ I& i. V" w0 L                Id++;
$ W/ q! m0 v2 I& i1 J        }0 t8 {3 r" N$ O  W: z
' a( v8 v, j, K6 s6 j4 Y" ?
        public Activity activateIn(Swarm context) {
$ R, J) ?# ]0 ?# H8 x2 s# N                super.activateIn(context);0 L: D, J8 s4 j2 I& {; j1 h
                schedule.activateIn(this);1 S& F$ Z8 \& N# ]
                return getActivity();/ j1 h' m7 j1 b. R2 F
        }8 [* S7 h0 ~/ ~2 c( n/ Y

! ^/ T  q" R" P+ c3 a9 y        public static void main(String[] args) {
% }' d# h+ c3 t                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
( q! {6 |- H3 s+ B/ E- @* L  v                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
! O- l7 ~! o/ x0 A% ~                swarms.buildObjects();
4 ^/ t, C/ X; R0 p                swarms.buildActions();
1 }& Q* M1 w! e% Z0 a" k0 i: R0 _                swarms.activateIn(null).run();
( J8 C& G$ K7 Y: X- ~' N% F        }5 I: D. q, Z5 L: Q
" l, v$ l, @5 C) q  o1 ?
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-7 13:16 , Processed in 0.017301 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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