设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12659|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 9 r) X4 O2 O) m5 L- x* f7 k/ r

( B! V# r  Q) R1 x, Z8 o0 V本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update212 c1 I; i6 V+ L1 _
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
9 R/ H0 k6 Y. Q' V( s& G9 J3 r* wswarm.SignatureNotFoundException  V6 c+ b* R" T# W/ h! C. A( w
        at swarm.Selector.<init>(Selector.java:76)
2 p+ \( \4 @1 I9 ]* ~        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
9 ?" G3 O& b% o4 L* ]. @' G        at ActionGroupDemo.main(ActionGroupDemo.java:67)
* w1 K% z" D' |$ p5 l) A* Y' l+ [0 x1 v$ L& y7 x

5 \1 ?$ T* b1 Q. |( aimport swarm.objectbase.SwarmImpl;7 M& s6 L" R7 [  l- z# V  Y& M
import swarm.objectbase.Swarm;
( |3 r' H# W0 g& \; Z+ Limport swarm.activity.ScheduleImpl;7 F/ @) d5 c# K& d' `9 l2 T$ j
import swarm.activity.Activity;
6 \4 \3 ^/ K2 j  e: Uimport swarm.activity.ActionGroupImpl;0 l7 B& l$ g! f$ F2 t0 g# s: k
import swarm.collections.ListImpl;: z1 Q* X! W9 X/ s# M# Y
import swarm.defobj.Zone;
1 H& B8 ?* q+ k3 G3 R0 [import swarm.Globals;
1 q: P& t4 f2 p) }- Z$ }3 a* timport swarm.Selector;
9 Q3 K7 S. N/ |' [9 j$ jimport swarm.activity.ActionGroup; " q0 G6 z5 G( N% s
class Agent {) v5 z  T3 V! ^
        char id;
* w  ~6 u: c, h: D7 a6 n  a
1 Y0 I$ {' v4 U        Agent(char id) {- C2 P. S. m$ y) T
                this.id = id;
+ c# c( a) X$ P6 x        }
3 C( R  @& |* `, M9 p1 C. x$ I. N9 b$ ]6 \
        public void agentStep() {
7 Y, ~! i! Q1 w0 w                System.out.println(id + ":" + Globals.env.getCurrentTime());  E4 i, \! m* E1 U* l  F
        }2 }. G' G" d( ^# ^% [5 B
}
. o) B9 _2 F5 t! O
4 z/ a) M6 N! X1 Xpublic class ActionGroupDemo extends SwarmImpl {& `" ]$ G* \% a
        ScheduleImpl schedule;
: o" s$ u$ @1 N; X5 s4 H: }        ActionGroupImpl actionGroup;7 {8 n# I0 b9 H$ I! t# z  x
        ListImpl list;
+ R6 y( L( s/ I$ z% b; B0 L& I* l7 j; A% }        char Id = 'a';8 j) H! @5 O6 D3 P# W1 F

6 A- c* R+ p% ?% i; D' h! \/ T) Q        ActionGroupDemo(Zone aZone) {% [/ L. d+ w! e7 U' H3 g  |
                super(aZone);- ]5 H5 M0 y/ a4 v6 V
                list = new ListImpl(aZone);7 f  p: v/ D9 _, ^6 R: \. a$ S% H
                swarmSetp();' T, X) u4 E* V
                actionGroup = new ActionGroupImpl(aZone);
0 ^& m" d# }# z+ h  S) @! _8 B                schedule = new ScheduleImpl(aZone);' t8 c: F, i' c& L: o
                try {
& [4 b# X! r+ Q: s' _1 V, a                        Selector agentSel = new Selector(Agent.class, "agentStep", false);& i! S6 q" u5 _$ p/ i9 @7 C- O# f
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行* g3 i# _! ]5 p0 T
                        % g/ [. J* K3 f5 R% R1 k
                        actionGroup.createActionForEach$message(list, agentSel);
1 ]  h: r" Z+ T9 Y# U" h5 w% u                        actionGroup.createActionTo$message(this, swarmSel);
& t) `3 o5 @; ], B9 D, N                        schedule.at$createAction(0, actionGroup);
7 W5 _, a) B9 N$ @7 s" K                        schedule.at$createAction(1, actionGroup);
  c0 }8 K4 |. [$ m& d                        schedule.at$createAction(2, actionGroup);! _" @7 _3 |4 w' T" J
4 `6 G! v$ e/ V' n+ q( S2 R  X
                } catch (Exception e) {
7 {! A, W) @, h5 I) F                        e.printStackTrace(System.err);2 n3 X; @) A% g* @9 P! ?- h( |) ~
                        //System.out.println(e);
) w6 Q3 J/ o. c6 l                        System.exit(1);! p/ x4 Z0 p0 P& j& d' q. C
                }( J0 Q0 f, p4 P4 v/ i+ X
0 ]+ g% \1 e+ i  H: B) z
: U4 C0 M! c9 |- ^0 M' Q
        }
; ?. K: w$ {5 U, \: h2 }; V6 r8 b  X1 ]
        private void swarmSetp() {/ s5 d7 s3 p1 p0 \9 n  |
                list.addLast(new Agent(Id));
6 p2 [/ z( [/ Z# O                Id++;9 n' r! d' F9 l6 E6 O5 |
        }
) \5 {' |. z, }1 ?' I. I
* x. x$ e8 W; d3 e4 v        public Activity activateIn(Swarm context) {! v7 V0 d# `$ K
                super.activateIn(context);
/ p; S6 q# L( R; @2 B. m                schedule.activateIn(this);$ ~! U# N3 g( w% s6 l
                return getActivity();
3 a, e3 X  W) G' ~2 K        }
$ C7 q2 Q: x3 y( s- K
- V% w8 c, f1 G: I4 r* E        public static void main(String[] args) {
. Q3 T. B# ]0 n  _1 f9 B& `8 n" _                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
( C9 h; q. ^; J4 E* ~2 k, L3 M                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
- |& [- B! L/ Q  H9 m                swarms.buildObjects();
( R  P$ q$ Y* ]$ ~- Z: O                swarms.buildActions();. g( k+ [3 S- l/ }) ^
                swarms.activateIn(null).run();
. o/ }7 M& c; _4 J/ a) V        }7 j, {$ d$ q% w' Q. v7 [
7 k* V$ Z2 \7 w- p( u; B! c
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-15 05:15 , Processed in 2.425757 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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