设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13950|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 2 `/ f. c( `+ t  y; ^1 }) ^
- t* t$ ~$ W( f% C4 q6 D$ b0 p& B
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# f! d( P5 q; M+ z% ~以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.9 l' a- k- B+ O7 I% d! k+ E
swarm.SignatureNotFoundException0 m7 y+ Q3 T$ n) n5 N6 L. U  g
        at swarm.Selector.<init>(Selector.java:76)
8 e' D! ^9 A+ y, |9 @  ~        at ActionGroupDemo.<init>(ActionGroupDemo.java:37). p1 k. G4 d' |  G0 [
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
  \" y& b( D9 \# ?- h- C$ P4 L0 v! K3 ]2 c5 I. W) p$ J
9 \6 [) `& \. W  b3 a8 m( G" n
import swarm.objectbase.SwarmImpl;7 R9 ^7 Q3 r2 ]- K$ C4 v; t5 D
import swarm.objectbase.Swarm;
3 X5 v2 A% N& U$ y) ^. i' e5 v# e# R" cimport swarm.activity.ScheduleImpl;; b+ N' \+ h6 m: v, [1 Y
import swarm.activity.Activity;. ~& [. I. X: A' q
import swarm.activity.ActionGroupImpl;
0 d8 ^8 Z7 P/ Q' C7 i+ e* h! Y6 vimport swarm.collections.ListImpl;* j3 Y+ n  s1 r! k
import swarm.defobj.Zone; * g) m; f0 P5 L( T" M0 E$ q: |( L
import swarm.Globals;
, _+ g/ k3 J9 W8 limport swarm.Selector;/ i/ ]% K6 F% {- s
import swarm.activity.ActionGroup;
4 R0 i6 X8 z3 E6 M6 K) lclass Agent {
1 p2 ~' d- t9 U7 h1 W; H: M5 Z        char id;
6 y. D1 e  G; q9 u9 {  M% _) N# ~- f8 n9 d% f/ B
        Agent(char id) {% a- R2 D4 i  T+ N
                this.id = id;
$ p: F. @6 j' `        }/ N2 P" s4 M0 M! j
% u( \4 a1 u+ V$ s  v1 I7 `
        public void agentStep() {; [  }: K5 ~1 {. g! Y6 t0 L2 }
                System.out.println(id + ":" + Globals.env.getCurrentTime());
% A) ~) _# s" H/ B$ m( A) ?4 U        }; |  U5 e& J" ^* c# m/ y% p; L
}  H  V: r9 w6 F8 s( G
% b; @" S6 [3 `6 e+ _
public class ActionGroupDemo extends SwarmImpl {' \% h- }, ~! {" Q- v
        ScheduleImpl schedule;
5 {  c+ f. X# T4 }        ActionGroupImpl actionGroup;
# f* U9 y7 }2 {0 D        ListImpl list;
* v* l0 s" Z/ A' m9 [" e        char Id = 'a';
9 Z' Y6 y3 @8 `8 S$ d, J7 S' R+ G9 }2 f0 x% ^* F& s$ U5 {
        ActionGroupDemo(Zone aZone) {: g8 C4 T0 q' V! o/ u5 x
                super(aZone);
- r8 {$ Y2 }5 J4 c                list = new ListImpl(aZone);
1 ]1 C/ N9 r4 Q8 k' [( M% m  X- S                swarmSetp();6 q( g! L/ O. n' h
                actionGroup = new ActionGroupImpl(aZone);
. w$ U& G( j+ _5 I, T+ L3 O4 v                schedule = new ScheduleImpl(aZone);- T$ x( {+ r  O) w: Y, s
                try {
  |' c$ q' {5 ^; q! J, R                        Selector agentSel = new Selector(Agent.class, "agentStep", false);8 {, Y0 K& M+ o) X
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
/ h; }3 [) q& l- x+ X  ?: ?, w9 a                        / m6 ~6 R$ h1 Z; p" l
                        actionGroup.createActionForEach$message(list, agentSel);
& @) p7 t! Y$ s                        actionGroup.createActionTo$message(this, swarmSel);
6 s7 ^5 q( ^' L                        schedule.at$createAction(0, actionGroup);1 ^0 T6 G7 _6 `8 Y
                        schedule.at$createAction(1, actionGroup);
& x* m1 z% E5 y3 ~) u' n5 s+ c                        schedule.at$createAction(2, actionGroup);
, h& N$ [0 ?- l' T
; F  @' S3 D5 s1 {: J7 a% f                } catch (Exception e) {
7 K, y4 j- a& F5 I                        e.printStackTrace(System.err);9 a% H5 G: A% Y0 P( _0 U( _: O
                        //System.out.println(e);
$ f9 k: L2 `/ V; F                        System.exit(1);
$ O+ ^9 B5 A8 D' W6 g                }9 x3 X! N  l) v/ T" q1 C2 r. o

0 I6 z8 n/ `3 R+ i& Q( W  l
4 m7 f% o$ c; t+ A% g3 O% p0 Z        }( u# v6 Q2 O/ `+ J. j# C$ x  V

5 \$ t! ]8 v9 V& X5 X+ A7 ^        private void swarmSetp() {
% y8 k/ M4 {9 Q9 Q( B6 y                list.addLast(new Agent(Id));; l4 Y) v# X1 S6 U1 S
                Id++;. x" Q* h6 D' I6 Z0 o
        }
7 h) M* }# l$ M3 r
; p& Z6 h: k& g9 L1 p        public Activity activateIn(Swarm context) {
$ N* V7 s, L3 h' }- ?+ `- D3 g                super.activateIn(context);
( \0 Z5 ?/ t2 O                schedule.activateIn(this);3 x, e3 L& t' J. Z: f) b( g
                return getActivity();% G) Y* Z- Z; }7 a. L1 `4 T
        }" e& x/ T; _- E: e' Q& x4 L
; k  ^" s$ ], R. f) D
        public static void main(String[] args) {2 b1 ?$ N" Z# }8 c
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);& ?4 s/ x$ s* u5 C+ H) e
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, K8 L7 [. }2 j9 n& R                swarms.buildObjects();
6 [* V8 s5 D+ [2 m: P                swarms.buildActions();
' p/ T5 c, }8 r. ?8 P* ^3 ?* D: p                swarms.activateIn(null).run();7 g6 o7 ]$ g( i3 Z1 ^7 k
        }4 f/ {+ b- }8 U3 K% O$ e

* n  Y( `: a( v1 ^1 l}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-22 17:01 , Processed in 0.016425 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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