设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10040|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 + t& K9 c- P2 P! b$ ?' z4 \0 F4 ]
; a) A: h$ K- A
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21% O" k2 h9 I, A5 M$ c
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 \* A* ?# i- s/ R  s% A9 {
swarm.SignatureNotFoundException
* d% ]$ L5 j7 o* f8 b" b$ Y        at swarm.Selector.<init>(Selector.java:76)) D7 n, U# }' z0 L4 E( }4 e
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
0 e6 `, I0 m( t' J' ]6 j2 E        at ActionGroupDemo.main(ActionGroupDemo.java:67), S3 S3 u* q2 s0 V6 R; N  N

( c0 V5 J' ~% O5 p/ n$ E  r% D' u$ i+ U0 @, @; j
import swarm.objectbase.SwarmImpl;
' }) w. F" ^8 e1 \1 ^2 Eimport swarm.objectbase.Swarm;
6 I1 n2 N' T, D% A: l3 |3 V/ L! \$ T0 V2 kimport swarm.activity.ScheduleImpl;
; V  e" v* |7 h$ L& b* H8 E9 ximport swarm.activity.Activity;% N1 p7 n6 r) c2 g& Y1 ?+ t
import swarm.activity.ActionGroupImpl;- T+ M; A1 P# ^
import swarm.collections.ListImpl;0 i$ A6 N9 p' n( j
import swarm.defobj.Zone;
6 N+ r  Y7 @8 L% D2 o' W  Simport swarm.Globals;
$ _  v& _3 P+ U- W# |6 a0 |$ F6 H6 |import swarm.Selector;9 h: F& W# c  X
import swarm.activity.ActionGroup; % w( L" x( b8 w  L4 V
class Agent {" p+ I9 p* g1 h. g1 X
        char id;
0 f0 R5 e$ q/ d( N+ d" Z$ I) X
, ^6 t, Z6 f- h7 E: U) o0 V        Agent(char id) {
+ L2 H6 h" E* r% k7 K6 F                this.id = id;
  F2 f% \) ]4 x) U        }
% {, |; i! `% f: z/ j% c: ]4 i& `$ E5 u* g/ c, D* }
        public void agentStep() {: u, r. j& `9 }, r: C, A, I, x; S
                System.out.println(id + ":" + Globals.env.getCurrentTime());/ |! a2 f8 ?/ ~+ A( _/ k
        }
8 m4 `" G$ \, J! E! B}
7 K! }4 O$ r2 G
% t; A: H* A* e' q/ C4 O% y5 v9 H  ppublic class ActionGroupDemo extends SwarmImpl {' J4 ~1 j- D& P4 Y
        ScheduleImpl schedule;& M3 _& W0 Q0 {! E/ o, [
        ActionGroupImpl actionGroup;
7 G! X: _7 m$ @. t        ListImpl list;
% q8 L5 t( J" W        char Id = 'a';
: F. u7 h5 y" J  A# j# R; ^. E% \1 k0 A; I! W( W" r2 G8 c7 r" ]
        ActionGroupDemo(Zone aZone) {
# k2 f! r( q+ l5 Z                super(aZone);7 q+ ?9 I' n$ q9 o. b
                list = new ListImpl(aZone);$ c; Q9 D! g/ `1 K
                swarmSetp();
7 B1 ^8 r( [2 W' t: \/ V                actionGroup = new ActionGroupImpl(aZone);
% r- J% J+ H- d! t                schedule = new ScheduleImpl(aZone);
7 M: I$ Q& s. D                try {
* @' d5 N1 ]. F( Y; L                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
% u; d. B* }. F8 _; f4 x4 f                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) `0 ^8 ?1 T$ r( l1 [3 U5 f                        
7 l) E8 T* }/ f% [) _) l                        actionGroup.createActionForEach$message(list, agentSel);! ]5 ?$ z: |! w" L
                        actionGroup.createActionTo$message(this, swarmSel);
. v; f8 `# d' l$ X                        schedule.at$createAction(0, actionGroup);
; A. {& b1 U6 ]" C; |7 k+ S" X                        schedule.at$createAction(1, actionGroup);
( o4 S' d, ~1 m" G- T                        schedule.at$createAction(2, actionGroup);! `0 u0 }  I- {5 ?* w9 q6 W: {! W

4 d# z/ B% u- w$ C' u5 `; k) Z                } catch (Exception e) {
6 q3 i7 a% P3 ?6 z                        e.printStackTrace(System.err);
) E- q( B' z% L# K; j                        //System.out.println(e);2 [' L# ]9 B! ~0 p8 @
                        System.exit(1);
6 o" q. s/ p6 j                }! ], K# \) _5 x  H" i& h, F! ~) ?+ |

7 Q5 W# [: N7 r$ K3 |8 i4 l$ F6 l* R/ h! A7 _6 G" }/ k: B
        }  H: m5 |/ k, H) j9 ?, \1 \! x

8 \; @- X; u# U' M8 X        private void swarmSetp() {
( j6 V& J* p3 X* w                list.addLast(new Agent(Id));
6 @9 f+ D1 G/ d2 L8 s6 o4 ^- @+ B                Id++;. c) O8 x1 ?% t/ a1 n
        }
6 S& w) y4 x9 @6 J! E, t" m
. Z0 @6 P" _: o" H* t7 a        public Activity activateIn(Swarm context) {. o1 G% o- Y% a5 c
                super.activateIn(context);
' J6 W5 ]9 @4 @/ G# E5 q4 s                schedule.activateIn(this);
+ o$ Q: o6 S3 u7 n4 u2 y. p( X2 t                return getActivity();% i; A; ^7 N  \
        }2 Y* G: x) [1 D/ Q" u1 g
1 ?6 \. h2 V8 e5 ]+ T
        public static void main(String[] args) {) ^0 Z) q) K5 V+ Q+ }) X8 |; K
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);# Y" y5 k% k2 Q, F& f1 d  A% W
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);! g% m  V5 e" R% C) Q% F$ n, U
                swarms.buildObjects();: B: N) ~& z$ w  H% c, N( m
                swarms.buildActions();
7 ~& Y8 L& k. o% |                swarms.activateIn(null).run();5 y$ f& Y7 x: R" c3 G: [0 j
        }# V  g- l- T. T% @2 }; ]- I4 I

2 H$ @+ r$ Z, L1 N}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-1 12:08 , Processed in 0.013358 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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