设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5047|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; l8 ]5 g* _2 _6 L- T, J
. V/ B/ l1 c9 M+ h, N% M本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" ^+ M$ z6 J8 [7 `, e. N以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.3 ?, s. V2 {( e
swarm.SignatureNotFoundException( X+ t6 \- p# y9 O
        at swarm.Selector.<init>(Selector.java:76)2 p3 s; ~! E1 q/ j
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
( g9 ^! }7 v* I        at ActionGroupDemo.main(ActionGroupDemo.java:67)
- n! s8 H6 O- e
5 q- @5 m" H9 W' u0 Q* T& J& Y- y0 O4 H% j( ^+ U7 X
import swarm.objectbase.SwarmImpl;. x1 g: e+ N8 O* x6 J$ A5 q8 ^
import swarm.objectbase.Swarm;' R& L9 w0 p- T& h; V5 @
import swarm.activity.ScheduleImpl;
6 t5 C. p5 d- bimport swarm.activity.Activity;
6 T2 u# H3 S1 Q8 e; [; b8 limport swarm.activity.ActionGroupImpl;
) ?6 @/ |- B* O' h# d) j* ?import swarm.collections.ListImpl;
4 q4 r( K( r7 g3 N' ^import swarm.defobj.Zone;
6 y1 ]3 n6 K* r- V) y8 vimport swarm.Globals;2 N0 m- T& A3 k; \
import swarm.Selector;# Q5 E' H6 J2 F2 c! y; @# n
import swarm.activity.ActionGroup; # V. ]. F; ]6 c  i! a. Q: f! q- \
class Agent {$ ?+ H; M% n' u0 d+ L1 T) u
        char id;  b) S/ `" U& M. K7 n! L* b
' t: F( J" f3 l( Q! G
        Agent(char id) {
% u8 U/ z. z0 x                this.id = id;+ K7 U+ W( Y1 |$ b0 y9 S) K$ z* t
        }" T$ B4 H5 x5 o. }0 R1 f) y
6 r) k: \& k: g; E9 m0 Y
        public void agentStep() {
5 v5 g% s7 y8 B! E  g3 w                System.out.println(id + ":" + Globals.env.getCurrentTime());
; U! j" ]  w7 C4 x+ v' b4 E3 Z        }3 k/ w5 O- `/ ]0 |9 y7 }
}- Y1 [, e$ [0 g8 {- q- o2 o& I- M

5 z7 z* E; h/ J2 {. n/ qpublic class ActionGroupDemo extends SwarmImpl {
, m( i8 X( X/ F+ x( K        ScheduleImpl schedule;
2 m% i7 [  \- }; J, z8 z        ActionGroupImpl actionGroup;/ \2 m  l' n; F& M5 w7 a. P: ?9 M; `
        ListImpl list;5 |* v1 t  e: `+ `8 S5 a# o9 v0 v
        char Id = 'a';" Q; F+ W4 ^' ?/ [$ [$ d
, E1 ]9 I* x" G3 m  @$ ~1 S% m
        ActionGroupDemo(Zone aZone) {
6 X) ]' S% k' y                super(aZone);
) v$ S- N: p+ j% ]                list = new ListImpl(aZone);" ^" h" _* w. Q, X( q
                swarmSetp();
' q& T# t) l. v, T5 Y                actionGroup = new ActionGroupImpl(aZone);; d8 Y  u7 s, D% n
                schedule = new ScheduleImpl(aZone);
. h# z% ~; h# `) h                try {* E) R+ W2 F1 u' I1 M$ z' u
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);6 V% n6 t9 F6 X( j
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% I, ]4 c8 Y0 J                        - S, b- f6 P) Q1 Q' f' g7 U  ]
                        actionGroup.createActionForEach$message(list, agentSel);
, f/ s; b& b# Q. L/ Z                        actionGroup.createActionTo$message(this, swarmSel);
! n. i# @! j4 F$ k& M                        schedule.at$createAction(0, actionGroup);6 Q4 N; c8 m& C( z, L
                        schedule.at$createAction(1, actionGroup);- D. e" c+ O) h* X$ v, O, ]
                        schedule.at$createAction(2, actionGroup);
3 t) ?( s+ m4 G
4 z: G* Z3 R: H                } catch (Exception e) {
2 T! y) Y6 ]% s. A2 ^: E, W6 k8 r                        e.printStackTrace(System.err);
# g4 y5 l# f- x7 P2 j# p' G                        //System.out.println(e);' A2 Z7 B( e3 Z
                        System.exit(1);. q1 t3 V1 y) i/ G  x& h+ @& \
                }2 Z( j4 Y2 p: D8 S# E
. P9 l( c  T0 u$ c) e' B

' L/ }- ^7 k! n% P4 J        }
# ~0 Z' g! S9 {2 G
6 S$ q7 w/ u/ V/ u* y        private void swarmSetp() {  r  H8 d  L- d; n' N/ d) D4 f' N
                list.addLast(new Agent(Id));
7 i3 n" L1 V' v& S4 [                Id++;
* N- q4 B5 P% }1 ]1 q9 e% v        }1 F" z9 ]+ y! Z) x  E/ U
7 ^4 n" I) |$ ^; d
        public Activity activateIn(Swarm context) {
' \8 b5 Q" G9 O7 a2 w3 u. X, K/ [                super.activateIn(context);
; {/ e' s" X% E5 I                schedule.activateIn(this);% i6 L2 N, t4 |- Q7 V  x9 t, v
                return getActivity();$ }) r- H7 L; J; }* D) ?0 a: a
        }
' o* [% q! x- d8 x1 o3 c
4 W7 K6 p  n9 t$ _8 Q! `        public static void main(String[] args) {
" J8 \% H9 f, x; A+ j$ m* i                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
+ H# A9 i) h6 o: u$ a                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);8 r. A0 {- V/ C# y
                swarms.buildObjects();
* C" X) q$ X# Q  q. ]/ C                swarms.buildActions();
$ h) c' N' h/ B0 Y  f4 {- t  z                swarms.activateIn(null).run();
: M0 b0 x2 x3 E. H1 z0 j; G        }
7 K6 ~& R, i5 s& ?' s! u3 E. p
0 P' r4 i5 \+ u, X}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-23 00:49 , Processed in 0.019187 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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