设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6462|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; `9 G5 p$ P* |/ y
9 o5 ^$ [1 K* K. z6 r: ?本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& Y5 M" @: L! Z
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 V7 t/ `4 b% n: J) Wswarm.SignatureNotFoundException
  T  {6 p7 \& z. `' M) D- a+ O        at swarm.Selector.<init>(Selector.java:76)$ e) j. }$ i* u% J! r
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)! J. X6 s) I# C- ]5 o7 v( a- l
        at ActionGroupDemo.main(ActionGroupDemo.java:67)+ v5 c% |( r- U! i/ i
4 o7 s! |; J& q1 P5 F
3 K4 |6 \! Q7 S, E6 O& L
import swarm.objectbase.SwarmImpl;$ p; q. F8 o2 |; Q/ R  O; r, x
import swarm.objectbase.Swarm;9 \& W6 K& A* ]( j( u9 l0 g
import swarm.activity.ScheduleImpl;
! K5 q- I: [$ M% I  \' Y3 @0 g) simport swarm.activity.Activity;
8 O  j4 p0 K2 v( k% Aimport swarm.activity.ActionGroupImpl;
7 \/ g6 j* i7 ?% O/ Fimport swarm.collections.ListImpl;* U4 V, h8 _3 T7 ^0 y. A
import swarm.defobj.Zone;
% ]$ P; A9 U% y) L$ gimport swarm.Globals;
8 a% G0 x8 k% j+ v! l1 gimport swarm.Selector;
% R& A* l1 s1 r! j6 M5 pimport swarm.activity.ActionGroup; ) s2 z$ D, e0 B9 U
class Agent {6 p; H# v+ A; e2 b3 h4 l
        char id;
3 d9 T* V1 C/ C6 j3 B, c1 T( [* j7 c  y
        Agent(char id) {/ K& W: M, v5 G
                this.id = id;$ n1 T) {- v; O, e: U- U7 F
        }
6 T) G" {+ m# ?$ F7 {
# c- {* G/ W: F+ k& D        public void agentStep() {
/ L4 k( p2 c; g                System.out.println(id + ":" + Globals.env.getCurrentTime());. T. a+ a( P0 ]
        }5 m& E5 o7 r9 _* K9 E% z) h
}9 I( ^5 y, E9 B$ i" o  n! }  W

9 T' x- F' ^; T: Ipublic class ActionGroupDemo extends SwarmImpl {
$ Y9 D# B* H7 P7 G) Y# {        ScheduleImpl schedule;4 a1 U; S/ m. b, M% E" A
        ActionGroupImpl actionGroup;
% l4 c9 K' b0 B& G5 I( u- e. \; W        ListImpl list;
: b. ^, m0 E7 P8 }        char Id = 'a';
9 f+ H, D1 D. U0 A1 ~% r; M# @' M
' ?$ I- r# k* G4 ~% I        ActionGroupDemo(Zone aZone) {; C* R* ?( s8 |( g+ K
                super(aZone);
( P. r" ?2 ]9 ~8 A3 a                list = new ListImpl(aZone);
( `) g" O5 w" l" S7 Y" P' v                swarmSetp();+ z" U  u2 j2 d# Z" t) R
                actionGroup = new ActionGroupImpl(aZone);: M- w0 ^0 c4 S
                schedule = new ScheduleImpl(aZone);7 S5 t" B8 U+ G/ u# E
                try {* K2 ^3 w; I9 W$ n- K
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
( h, }3 q/ r2 j) Z+ f6 \+ S4 u                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) z# H; N+ ~. N0 z" J0 ?                        
! _# `3 m2 S% @                        actionGroup.createActionForEach$message(list, agentSel);' E' A  y4 }  U1 O6 p/ P  _  D
                        actionGroup.createActionTo$message(this, swarmSel);
, C& _/ n  Q" b5 I7 T2 G                        schedule.at$createAction(0, actionGroup);0 ^/ R. U7 s" D( Q6 @1 L
                        schedule.at$createAction(1, actionGroup);
+ V  R! Q! x: N                        schedule.at$createAction(2, actionGroup);
1 I6 U2 Y* t( j5 Y9 R" N. F) P) z# b) Q7 @+ @
                } catch (Exception e) {
6 K/ f/ A" K5 O' W! R! h                        e.printStackTrace(System.err);
" c! x5 L% N7 s" U, G5 i                        //System.out.println(e);
& l2 F" u" d3 V& @                        System.exit(1);
/ D( u' i% U. Z9 N! S5 _                }
9 u8 p. i7 D; J- J. |8 z& i6 T* E& N% w: O6 x
. l8 x' d0 @  A3 P6 A4 y; `' |2 [
        }* r) D; ]) ?: l

& }7 c3 N$ [1 P, E, d: ^1 i' ?% S        private void swarmSetp() {7 u1 V+ x3 W. c# \
                list.addLast(new Agent(Id));
  u1 F8 K! Z! K4 p: R3 J& i) \7 \                Id++;
7 C( W7 N; F+ Y, w: ^  H- {  S        }* n& c! C: _( F5 w! i) L2 V

, z9 H9 d' {. o( d1 J        public Activity activateIn(Swarm context) {
% Q# t- S( u& \) D                super.activateIn(context);/ S6 U6 k1 |1 S
                schedule.activateIn(this);. D) V; j* F& [* K6 a
                return getActivity();
6 ]+ x- |  K$ H% ^6 s6 z8 {        }( E9 U( N; p# K( X4 u7 ~0 m/ \2 Z
7 c6 d3 d" `- j' B! J: V8 @
        public static void main(String[] args) {2 Q( e3 z, H: p5 M
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 K6 ?8 t) q8 |: Z7 t                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
2 ?1 P: y- t2 ~% u7 v% a6 J. R* B                swarms.buildObjects();* C7 A. w2 y4 N: A
                swarms.buildActions();
2 w. N! |" S0 y+ {                swarms.activateIn(null).run();' x/ n  n, {; a4 M( p% P& Z
        }/ l9 `) l' A6 ?# \
$ B/ t. X' ^: j7 _- i8 Z
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-29 07:53 , Processed in 0.015915 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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