设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11831|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 9 K7 X& b' e; c! u9 X+ f
5 ~1 Z5 e; ~0 b& [
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
* h9 C, H0 ?1 d9 F+ A以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
. A7 C$ H' _: j( G9 P4 Bswarm.SignatureNotFoundException
. r% D6 Y  |: Q" Q9 G/ _        at swarm.Selector.<init>(Selector.java:76): b1 S$ `+ S/ @8 [
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 d* N1 l) c1 ?3 Q5 Y. x! N
        at ActionGroupDemo.main(ActionGroupDemo.java:67): e. R2 y0 N( Y, y: p

* p* Z( o6 \+ l) i% Y# B0 Z4 U- S( c9 }3 ]" [2 }6 F
import swarm.objectbase.SwarmImpl;8 v9 t. B! ~: n. m* ~& {2 g
import swarm.objectbase.Swarm;
- v7 B0 O, K7 q: x3 W( a( Gimport swarm.activity.ScheduleImpl;1 S1 O) W9 a7 K
import swarm.activity.Activity;
  M! x9 C: p8 m0 V1 w* |/ `import swarm.activity.ActionGroupImpl;/ ]- m, [) I) u* h2 S  b( l" `- O% X1 g1 z
import swarm.collections.ListImpl;
) x, w: x9 D' s0 w8 }import swarm.defobj.Zone; 5 w3 j4 a# u9 r" K5 p/ f5 e* w
import swarm.Globals;
7 O1 m- d* a, x7 Timport swarm.Selector;
3 c/ ?/ O: W# C2 eimport swarm.activity.ActionGroup;
2 s+ c  N; @0 iclass Agent {8 o. W' H9 I" w( g9 c
        char id;
/ b2 h- H" m/ }' s0 v; {7 j" }1 ?4 I" c2 h' @/ u
        Agent(char id) {
7 {: I: m1 m6 T* e0 _* ]                this.id = id;
7 R# H# [5 j6 A/ p9 s& T        }
3 A7 t- w% B0 d( {9 b- @" y
/ `/ C" P( A) ]$ e8 h! V8 d4 f/ D        public void agentStep() {' S) E) v. `) a. R9 [: N" {: J1 k4 o
                System.out.println(id + ":" + Globals.env.getCurrentTime());
( o- S+ I( Q6 n* d3 n        }/ ^2 e0 @# A" n9 G/ l: d
}: O& {9 d. A9 o3 r2 F

4 _' {: J4 h  b+ q: Y" v( vpublic class ActionGroupDemo extends SwarmImpl {2 _" F* m6 _; }" M# W: z( c
        ScheduleImpl schedule;
& q" R# j( y, [        ActionGroupImpl actionGroup;( U5 ?1 O+ t# b! J, E
        ListImpl list;
) W- z$ Z3 c- d        char Id = 'a';
5 ^" X; F0 J& l% v2 L
7 C% }6 Y! E( e* }        ActionGroupDemo(Zone aZone) {8 J3 N4 e3 N5 ?  o
                super(aZone);/ H& `4 F& i6 H: G6 g2 Y0 `
                list = new ListImpl(aZone);! o4 {  C7 W9 h' P! B' ~9 b& d& C- s
                swarmSetp();& ]! `' [( `3 u- g) J4 _8 G
                actionGroup = new ActionGroupImpl(aZone);, Y3 E2 c, f& ^- F2 D
                schedule = new ScheduleImpl(aZone);
! D2 ]# p  J8 ~# q                try {
5 l, e+ i  n! \% @/ n                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
- Z, C. F& b' \5 c" Q                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ J# w; W) ]) h  R* Z
                        5 b/ A% p" f2 M
                        actionGroup.createActionForEach$message(list, agentSel);
) R* ]% G, r, L                        actionGroup.createActionTo$message(this, swarmSel);
+ [/ L$ f% P7 r- w2 x3 V. u                        schedule.at$createAction(0, actionGroup);3 {- R* F$ o4 F4 Y* c0 a# |
                        schedule.at$createAction(1, actionGroup);4 H% K* U  B2 z- ]$ _
                        schedule.at$createAction(2, actionGroup);
/ f& W3 w- ^3 B1 ~' J# r: g$ t# j9 a$ V# \" f$ H: u
                } catch (Exception e) {( R  Q% k( I' m# v8 N
                        e.printStackTrace(System.err);( M+ K1 ^: v1 U) t" L! N
                        //System.out.println(e);
: \. H: A6 X" n4 p. C                        System.exit(1);
2 O" |, P% P$ u. i# d" v; B2 h1 z                }# E8 M' j% l) l1 l" Y

/ m. v7 r9 }6 S. B6 W8 n- x  d$ z5 n* i7 v' ~& ~
        }
% q7 i' c4 `3 b4 Y" X4 _. v+ g+ [. r* e  F7 W6 k" L" @# z
        private void swarmSetp() {; C% i* f6 v. o+ E" ?
                list.addLast(new Agent(Id));; y8 o$ C4 J! a) t  V0 I0 e& t# V
                Id++;" p& \* y6 a) x. U5 y- R) {
        }7 J1 c3 o/ v* }9 L  ]4 C
1 B9 D! w6 f1 L+ J3 \. i
        public Activity activateIn(Swarm context) {
" }3 @. N; ^' a+ Q* a/ E  H                super.activateIn(context);
5 P' }# i1 u0 o, ]! p                schedule.activateIn(this);8 Y$ Z$ x* C; `3 K
                return getActivity();- a. a8 i% `) f& I0 W( g
        }5 v- E3 m0 A1 N
9 R" j! {6 u% r& e* A! j
        public static void main(String[] args) {
& q. ?; d+ ]$ E3 q7 m0 @                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);2 e" d  e  K% z! e  W) E# S) k
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; e: Z7 y+ F! I1 Y) J  g$ `                swarms.buildObjects();9 U  ~8 i, d+ e" k# M
                swarms.buildActions();
* P2 C* x/ s' R. a' f  {' b                swarms.activateIn(null).run();8 s6 }( P4 n: C$ C" ~4 }4 q
        }
; \/ J! N" v2 M1 k. e' S6 l: z. P' _1 Y
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-23 01:05 , Processed in 0.018893 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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