设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9986|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - h- X6 F" f# \2 D

+ ?9 P- C- \3 J$ H6 u& ]3 y! @本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; M' @  y# W6 H: T, u, }7 X
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 p+ a7 y. c) ~: z* f
swarm.SignatureNotFoundException1 ~  k! Z- [5 @/ E! y' y. q  |
        at swarm.Selector.<init>(Selector.java:76): n" C. ~5 w+ [
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)+ x* \: v/ m8 V: b. B# s# h( s
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 A, T- `' l4 `: L& @+ q
, h0 [+ @& O7 ^* c. m* k
4 g3 C5 F1 y( _1 v6 ?! wimport swarm.objectbase.SwarmImpl;
( U! H  u3 N! _% N2 o6 [- I7 m% Zimport swarm.objectbase.Swarm;; Q8 \2 e& m$ {5 [* \
import swarm.activity.ScheduleImpl;
7 N3 _' {  M  D6 n/ L& cimport swarm.activity.Activity;7 p, o7 x0 K- u. d( ~
import swarm.activity.ActionGroupImpl;' `' i) d- v- [) {
import swarm.collections.ListImpl;
2 E3 ?1 Z6 n4 W# G2 c% Fimport swarm.defobj.Zone; - e: G% [6 O6 x7 N
import swarm.Globals;& d& C! `* ?, E: s
import swarm.Selector;
  P9 c/ X& ~- S9 i" w1 B; Z" S7 ]4 aimport swarm.activity.ActionGroup; $ Z$ q. X7 q9 Y- o7 Y( \
class Agent {
) e9 Q. n6 r- }. f% L' p+ _0 |        char id;+ U. O! J9 `+ o! m% L* Z0 G8 ^
: Q4 g' W0 i, B% f$ E
        Agent(char id) {! S1 z/ a3 b9 W2 `+ `( F/ n3 \0 ~
                this.id = id;
0 T  s5 \* O. c8 V+ V7 M9 R+ ^        }6 w  S- ^7 S9 b3 S3 F0 O5 B- @# o5 h4 }
) @' A" ?7 \  L, [' l
        public void agentStep() {
7 h1 y8 B6 b- \& c- y2 b# T                System.out.println(id + ":" + Globals.env.getCurrentTime());
& J3 \$ b% r, E7 l# l% {5 H- L        }
: M1 [. N* N6 H6 D}
0 p" i- }& d6 S9 W  m) q8 X& ?; u9 ]" ~
public class ActionGroupDemo extends SwarmImpl {( h2 J  u5 a8 ^6 Y3 L& Z, X
        ScheduleImpl schedule;: o) j+ l3 x+ r* Z2 A! X/ u
        ActionGroupImpl actionGroup;* b) J$ z' B5 b+ m5 r5 y" R
        ListImpl list;
; U8 z& s7 P# q, w, G& ^6 M        char Id = 'a';
; T, N! M* L: A! j* N- ?3 b1 s' H$ U, {* y* z
        ActionGroupDemo(Zone aZone) {
( D* r, n, Q/ \% y" T# _% R- ]                super(aZone);' {0 M6 x1 K; L6 R) t2 I. k
                list = new ListImpl(aZone);
) z5 V8 E3 S& L: s                swarmSetp();
* w/ K) i% d5 \  m, t, T% Z                actionGroup = new ActionGroupImpl(aZone);
7 _$ u5 J' U, E9 o$ K# y: R# C                schedule = new ScheduleImpl(aZone);
& _6 n5 a* V1 f8 |4 C: d/ S                try {9 V2 t$ ]6 M* z. z! [1 n5 v% I% h" u" k
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);, }+ o' c, I) a' e6 R
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ i4 Z, s% e- s/ d4 i                        
  N" |0 A& l. n0 a5 C3 x                        actionGroup.createActionForEach$message(list, agentSel);
8 P0 Z6 s" R, k8 H- G                        actionGroup.createActionTo$message(this, swarmSel);
3 W! V) B5 V" X% n; ]( A                        schedule.at$createAction(0, actionGroup);' V+ N6 `) V; O* q. M
                        schedule.at$createAction(1, actionGroup);# p$ @2 h, @# p4 q% k
                        schedule.at$createAction(2, actionGroup);
7 ^$ e# S: j- J. G
) E% B8 a; z* g: R+ f7 f7 ~                } catch (Exception e) {. O1 H0 d* y$ o) z
                        e.printStackTrace(System.err);
- a2 t2 i5 ^$ \1 i                        //System.out.println(e);/ T& Y$ M1 }# \' n2 M2 K
                        System.exit(1);
6 b9 W1 m6 |& j4 X                }7 ]: G- S- [3 Q
% W6 b5 P0 t" O

! Q2 b0 B% c* G6 T) t        }" S9 f0 x1 s* A6 b( h
4 [1 w' {5 E. ?, R
        private void swarmSetp() {
7 z6 s  Q  K, i1 I                list.addLast(new Agent(Id));
; B, i. W: y, H& Q                Id++;
3 e& k) S$ X0 U$ P2 R, I        }' v* d" u) j! }6 Q/ c

1 N3 @5 p. H: v. B        public Activity activateIn(Swarm context) {4 O$ ]0 ]& {7 _$ }
                super.activateIn(context);
' U* s+ X, E2 Y8 f3 z0 X                schedule.activateIn(this);
& N' l3 O3 i/ v7 M" c4 y& V                return getActivity();# f; ^$ i! \; e; t
        }+ w5 Z/ L; }( t5 x/ @

" {$ v9 u( t5 B6 r2 W        public static void main(String[] args) {' U( ^2 [7 v* c3 I: i
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
/ y- L* N1 x+ X; I+ W                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);9 @, r; {# i. c
                swarms.buildObjects();
0 Q3 `2 ~4 S$ G* N3 l8 C                swarms.buildActions();" Y% q" z( t7 P7 M/ [
                swarms.activateIn(null).run();  s6 f( j7 `' N1 e- ]  G9 C6 i7 r
        }
7 ?! I& d" P( Z9 s/ [8 A. H3 g1 @- C; O6 y; Z: B* M, W
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-30 14:38 , Processed in 3.407461 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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