设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10298|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 & ?2 l/ S2 F* W
$ N; Y2 L3 U" c" Q7 ~0 A' G8 u
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
7 d3 _" R" u! \/ H1 [( X! K4 u  `以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
9 y& ?% Z* F% A! nswarm.SignatureNotFoundException
% I* X; O; Z& F        at swarm.Selector.<init>(Selector.java:76)
/ v0 C5 n7 F' s" W! W        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ c$ K: v! L  A: O        at ActionGroupDemo.main(ActionGroupDemo.java:67)$ j9 M* `. W1 }3 o
$ W8 m) K+ F, X/ Z& ?

, E$ P! x! x; h# ?7 Qimport swarm.objectbase.SwarmImpl;1 O. T8 h" l3 K3 W+ P' {
import swarm.objectbase.Swarm;. l5 w5 U1 H: }8 y
import swarm.activity.ScheduleImpl;
& j7 g9 d, ?, T  ~7 e  bimport swarm.activity.Activity;& l- t" m: m  j6 O; B6 p
import swarm.activity.ActionGroupImpl;
0 W0 E+ H2 Q% c' p( Oimport swarm.collections.ListImpl;( N* @) A+ y2 o
import swarm.defobj.Zone; % w5 \, P3 h% |# o
import swarm.Globals;2 M6 c6 A- o! F1 I% |) L( [
import swarm.Selector;
' e0 `( Y; S6 j5 ^import swarm.activity.ActionGroup; # D; g# v2 M) O$ }( I' j
class Agent {
6 M' i3 U$ X' \8 d8 x1 E        char id;
4 Z  Q# f; d- f# W/ l9 g/ g& W- \+ `( ?7 `. t' q
        Agent(char id) {, E2 W9 P# ~& T& w- @. p' m+ I( Z
                this.id = id;' R9 m& P1 U+ }
        }
7 K, A9 }6 @. f. ]
1 Y9 ]# ]4 F0 `: v        public void agentStep() {9 S0 C) v. l3 A% j( W
                System.out.println(id + ":" + Globals.env.getCurrentTime());, o; C7 c; ?- K1 n
        }% v0 a4 O7 {: `$ `, k+ Y
}- c) S, h. H+ V; z
* H% R6 g" J9 D
public class ActionGroupDemo extends SwarmImpl {( [% o; z. }$ Q8 k; i( S
        ScheduleImpl schedule;
5 s! J0 f& r7 R9 J- z+ R  Q        ActionGroupImpl actionGroup;" o0 A0 ?. ~- N0 W3 [, h' B- ?
        ListImpl list;
4 |/ U$ g$ k* p: q        char Id = 'a';
' \) h/ Z; a8 m4 M. c" W9 ^' [2 h% u+ E6 X: i
        ActionGroupDemo(Zone aZone) {8 L& Q, G, w3 B* U8 |" Y
                super(aZone);
+ ~1 C+ E2 [7 W+ r5 a                list = new ListImpl(aZone);
$ F- s# ^$ f% F                swarmSetp();
3 r6 X' j' ~* C; F- R! R) X) ~                actionGroup = new ActionGroupImpl(aZone);
% C; c2 \. p( b# {* v! \* q' M% H                schedule = new ScheduleImpl(aZone);" `7 ~5 h  G$ i% e! E3 Y! I5 v
                try {
8 E) O1 j5 o: l( s                        Selector agentSel = new Selector(Agent.class, "agentStep", false);5 P1 \% E( p+ d0 q; y
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
2 h! b4 W3 I6 \7 G# L0 A# d' s                        0 |, ?) a+ F6 Q& ?0 y8 Y
                        actionGroup.createActionForEach$message(list, agentSel);
- ]; A) f7 |2 O2 j& t# [& J                        actionGroup.createActionTo$message(this, swarmSel);
: O+ Z6 S+ w; |! \- H                        schedule.at$createAction(0, actionGroup);% r1 {# K0 x# V3 s0 d4 Z, ?
                        schedule.at$createAction(1, actionGroup);- T: R, U7 v  Y
                        schedule.at$createAction(2, actionGroup);
& `# U9 O8 X. M" {6 m+ N: x5 G$ F% L, r6 K% _5 {) p1 G' L
                } catch (Exception e) {
( o1 D* ]9 J, ]6 K3 v" @& H7 u1 ?                        e.printStackTrace(System.err);$ e/ ^9 l3 m3 _" t
                        //System.out.println(e);: ]( m# s& w$ x0 b1 b( V$ x% N
                        System.exit(1);
2 i- a3 \9 s  W/ q                }
' P. k1 S( `+ O* L8 |. x' k$ |' q1 F# J, I
( T2 ]- D, i5 f* V( `( J$ s( {# W
        }( L9 a5 b0 Z( a. H, e5 d

0 b6 l8 M' \  z: O        private void swarmSetp() {
! n% l& K% b1 w" h) K                list.addLast(new Agent(Id));0 f; m6 U4 K5 Q
                Id++;
4 D9 F6 }' d/ i& `        }
2 J6 S/ [, S) ]8 R4 s% F5 U4 ]5 p, b8 P# J
        public Activity activateIn(Swarm context) {
( q* d6 Q4 g+ x( I                super.activateIn(context);
/ T) s3 {3 `6 G# i                schedule.activateIn(this);  a$ r; U; {) I) l* }
                return getActivity();% {9 b+ g8 z+ p7 `* y; D
        }
& }( r8 o+ C0 i$ o7 j- [% _; G8 I% B7 ^4 d
        public static void main(String[] args) {1 U% P& `- ]$ ?9 Y6 [; E
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);8 [+ R/ q/ y. D5 m- N
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" J1 z9 _7 o8 r: X  r9 l                swarms.buildObjects();
# W# G* @8 ]! I+ Z3 K                swarms.buildActions();
- b' I' q, O$ G; S; A                swarms.activateIn(null).run();: [: h+ g4 m5 A2 |$ c1 c
        }
+ Y  v6 r4 E& V, r5 F1 j4 {
2 l" }! K0 H" z! d; {" x}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-10 00:44 , Processed in 0.012672 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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