设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13579|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 8 e) U! q1 O) s* r; W; j1 }
. x  l! p% n" \4 p. o
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! T- Y/ C& ]. U- g, ]7 v
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 ~, X, \7 _0 Y/ X; O0 {
swarm.SignatureNotFoundException
) g) m/ C5 ?+ r        at swarm.Selector.<init>(Selector.java:76)
" P) H! n2 S2 E7 \, z5 ?        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)! F. x7 K* O, o2 P3 W: X- k
        at ActionGroupDemo.main(ActionGroupDemo.java:67)" Z) Z& W. \& l' H

  m0 u: U; Y% Q% F3 u4 |
3 h+ l. y8 ]# o0 A  U2 nimport swarm.objectbase.SwarmImpl;
. \0 F9 j5 p. b* Eimport swarm.objectbase.Swarm;$ G  r8 q# N' n+ W0 S
import swarm.activity.ScheduleImpl;+ M/ i. j" x; q+ a# k
import swarm.activity.Activity;) m( M) A  Y  F4 i
import swarm.activity.ActionGroupImpl;% r; e: K& u; I0 F  c. f
import swarm.collections.ListImpl;0 K/ N  z+ t6 {
import swarm.defobj.Zone; ( E/ e0 V1 u$ s6 @2 w0 p
import swarm.Globals;
+ b3 H6 V3 Q  r* Q9 A0 mimport swarm.Selector;+ \9 F6 m7 y+ t* [8 B
import swarm.activity.ActionGroup; ; i5 i! h, W2 ^  A
class Agent {
$ N& P* v' f5 u: b, r+ K+ ~        char id;- B) A  G2 Z2 K

& q$ ?0 K, K- x6 R        Agent(char id) {6 N6 {1 i7 V/ _4 M' A
                this.id = id;8 }" o- t' f  \" n# r5 F
        }$ |4 Q2 a- C6 W* `! K

" b% H1 Y, @/ M' v        public void agentStep() {
) e5 m: e4 Y, _+ U* D' F                System.out.println(id + ":" + Globals.env.getCurrentTime());- k2 x! f3 W8 X+ t) `. w5 D, ~
        }- J" u9 {+ U+ x
}
9 J" Q$ s3 Z4 n: k/ W4 `8 s9 h4 m# n& q* R
public class ActionGroupDemo extends SwarmImpl {
, A2 Q# D" \7 z        ScheduleImpl schedule;* s& _4 F9 n6 E( D
        ActionGroupImpl actionGroup;0 `) [& {8 m& Q2 V# G) \
        ListImpl list;
3 O, H$ F! }! W' m. R1 g        char Id = 'a';6 O! Y- n. x" U$ [& I6 j
5 }+ G/ |9 s" j4 E7 l
        ActionGroupDemo(Zone aZone) {" r9 ~  E  I) y; U* N9 e6 `) @
                super(aZone);- A2 ~$ C1 f# {
                list = new ListImpl(aZone);
6 c) \4 X  X3 o4 D) H6 O( @                swarmSetp();. ]. U5 j) W6 E/ Y7 q" o( S* ^
                actionGroup = new ActionGroupImpl(aZone);8 j( F" h5 \- ~9 c6 o
                schedule = new ScheduleImpl(aZone);3 H1 G3 I# G; p$ V( x, I" G
                try {% U4 g9 }' }' D, X3 z: j
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
4 ?/ ^6 G/ \' m# f: y0 V                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
- j. t8 F9 Z8 j0 G# p                        ! K5 T; o! b6 J' _* I
                        actionGroup.createActionForEach$message(list, agentSel);
# \' }' G# A, V. O+ f" J& W) Z  v2 z                        actionGroup.createActionTo$message(this, swarmSel);: v+ X; p) Q' F0 R4 W& q* Q1 I  K! q/ @
                        schedule.at$createAction(0, actionGroup);5 V, J3 v: Z1 e+ f  _4 Z
                        schedule.at$createAction(1, actionGroup);
4 `) Q8 Q/ ^! j  x2 p                        schedule.at$createAction(2, actionGroup);+ R9 M- |( J! _" H7 b- [7 l

3 ?: I0 }; Y7 F                } catch (Exception e) {1 N9 j: J1 ~( V6 |: a
                        e.printStackTrace(System.err);
. k" U$ l+ ]. u  W                        //System.out.println(e);% Q. }5 v7 s  x7 }. m( v: o
                        System.exit(1);
  s2 @, J; Y% k/ z4 K                }
3 D; n7 O2 p1 a9 ]/ r0 T) j
( h. v' v) I/ a$ h# _9 G, r
- @5 h, u0 z/ W% q; [3 `        }: }2 r1 R, P: R# h5 x

6 @- }9 t% s* T1 H3 c2 ~! w9 T# r        private void swarmSetp() {
# [# w# H; H8 U5 B. t                list.addLast(new Agent(Id));0 o/ b) W3 t/ P* g: S* h/ u
                Id++;
% O" b% }% ^) ]% s, O! c) c        }
8 Q* Z( g9 m" f. B1 n; q
7 K* p& q; N0 I) F! o$ G- C) f- `        public Activity activateIn(Swarm context) {1 ~: ?  z$ P7 \
                super.activateIn(context);: B& b% d3 q$ U7 i
                schedule.activateIn(this);
" ]9 M  z5 x  u                return getActivity();* u4 g0 G% S+ v* f( g1 z& b  f5 p& H
        }9 _' y! r* Y4 C; J3 }

, e6 \' V( l, R. N        public static void main(String[] args) {5 C+ A* G+ i8 a- E' o! j
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, E7 u' B7 P5 b1 ~4 t2 l                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
- B1 X+ I# q6 s; `                swarms.buildObjects();1 f9 V7 q! D/ S- [) n7 [
                swarms.buildActions();
/ L% B( M) y3 P; x9 D9 y. q                swarms.activateIn(null).run();
2 ~, p( u" M4 p9 y+ K        }$ O" _3 {/ d9 k+ n8 Y* j

. i. B- \6 H& z- S}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-11 19:25 , Processed in 0.014506 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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