设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5738|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ s9 L9 a+ X# l* n& Z; ?1 O& a5 {$ h; g+ o# }+ Z- h
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
/ Y. `6 i* U$ f, [, p/ ~以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* c& }3 w7 Q. T: l
swarm.SignatureNotFoundException
& z) G6 N, \0 A# H% G        at swarm.Selector.<init>(Selector.java:76)4 Z0 w) c9 `, i% y( }
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)* ~; P. ]/ u5 V( L( e% k$ D5 ?2 \
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
# n; A9 K0 A+ p" N  q! ~
4 h4 ]9 y4 }& R+ N! o3 X. n  M2 ^1 t! y- \7 c$ `  s# u( @
import swarm.objectbase.SwarmImpl;
3 P  a, }5 E( k7 G9 c; Zimport swarm.objectbase.Swarm;
7 u. f% U$ v! X- k& f9 q9 [import swarm.activity.ScheduleImpl;& Q' C. r/ C( f; s! z. M# Y
import swarm.activity.Activity;& f& G" ?2 u/ Z0 X. Z! L
import swarm.activity.ActionGroupImpl;8 R7 c- @2 o% i1 W0 y0 b
import swarm.collections.ListImpl;* Q) Q0 p0 B0 g5 v' K
import swarm.defobj.Zone; & \8 J% M  g: h8 h
import swarm.Globals;
  L+ W7 }6 F% M# j* J, d. ]import swarm.Selector;
8 x% B. i7 b* v$ _4 J. j& cimport swarm.activity.ActionGroup; % [# @1 `7 q3 F( a6 z8 w" v! x" t
class Agent {' O7 ~4 p) ?4 d$ @
        char id;8 O) z6 H, i9 p  ~' ^

3 d- s- E7 ~/ R6 O% _* |# u8 L# Q        Agent(char id) {/ u3 F, C9 H( y6 o, d
                this.id = id;
% Z% I' O9 B; C' e        }& h4 e- ~% Y: z0 y' U

" q9 M; I2 z) p: W. {: r7 W: G1 s' o        public void agentStep() {. u9 O0 r" {% L: J
                System.out.println(id + ":" + Globals.env.getCurrentTime());
/ T0 n* V# @9 O% ]7 a+ O  P        }
6 ~0 z  B. F) D5 _+ L" P}& R7 o# E. {; z$ p
2 a2 R: Y/ ~" y, ?/ B! m% W
public class ActionGroupDemo extends SwarmImpl {" Q3 d* {8 |6 O% I. {6 b
        ScheduleImpl schedule;, _8 q/ W8 l2 |9 p1 b% R
        ActionGroupImpl actionGroup;
7 Z: A4 K7 i: I( i' j        ListImpl list;6 g+ O1 n; {1 g' p( P' k1 v9 M0 W
        char Id = 'a';
0 K$ t' F# E( A3 R! n; x4 y
7 ~* E" M4 L: q: A2 _        ActionGroupDemo(Zone aZone) {: ]; A: V* y( r5 k% U0 a) z1 k
                super(aZone);) ~1 W! ^1 f; l2 H# P+ k' s( ~) |
                list = new ListImpl(aZone);7 N+ h% s" J3 [* D
                swarmSetp();4 ^! t8 |8 z3 u: k  G* I
                actionGroup = new ActionGroupImpl(aZone);& G/ E9 l' z9 a, R0 T# }0 k: M
                schedule = new ScheduleImpl(aZone);
" B8 \* w  C: h1 J7 B( L) t                try {$ {" r$ c  y# G, U% _$ u) L
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ T  T% C- ^, E                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. s$ h4 J0 S7 u2 Z5 M0 ~* v/ e3 j; ]
                        7 J% W2 t: |1 L. [* U$ p3 ]) n
                        actionGroup.createActionForEach$message(list, agentSel);
' b) ?" \! \7 W/ b. O                        actionGroup.createActionTo$message(this, swarmSel);
" t' H% \9 d! h                        schedule.at$createAction(0, actionGroup);
1 z6 n) A6 K4 J6 _8 T9 U3 p8 A* h                        schedule.at$createAction(1, actionGroup);9 |# v- r7 [) [: d! Y# S
                        schedule.at$createAction(2, actionGroup);0 n) T4 ?! o9 S. ?* @* o7 O: {
4 k. u, R& ^0 q  w; Z! _
                } catch (Exception e) {
; [* T0 X$ r# }) v0 {                        e.printStackTrace(System.err);
8 t$ V; T' z; X0 h$ Q: r+ ?7 Q) j                        //System.out.println(e);
/ V  b& h/ K; H$ B4 P3 b  x8 _' @                        System.exit(1);/ E- x7 [* X/ d
                }" N( g% K, x2 P

% H$ n/ Q5 F$ {4 l. e0 t4 X0 l+ G; b# w' }* ?* d, q3 W
        }
( Y$ M' I0 \2 D' w( \% g
( V  j' [/ [7 \8 P; M, f        private void swarmSetp() {
0 }6 I2 N" l+ F2 U: x; v                list.addLast(new Agent(Id));/ b7 L0 I. J' p5 Q& ^
                Id++;! t% ~% O  ^* w+ D  q6 M6 m
        }  n, \4 B) n9 s  N: K3 Q' J0 u

2 U, j1 G% E6 q$ Q2 ^$ Y" @        public Activity activateIn(Swarm context) {; X# }9 g0 i- G( v. {+ t3 n+ l
                super.activateIn(context);8 t; i) A  \4 I8 p: N" [
                schedule.activateIn(this);
- _0 |& B/ L- w* ?+ ]( X                return getActivity();, n. N( {5 B9 b0 a
        }
8 S$ P! O2 J$ O# l0 _$ K6 \* I: b. J" O" B' D
        public static void main(String[] args) {
6 N8 f' K/ s# X5 `                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);  N7 p+ L- }5 m1 U. {9 v( @
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( m5 T* E3 g' j7 \
                swarms.buildObjects();
. m: y) {# z+ }) u                swarms.buildActions();
5 J% \9 V# d- s* W+ y" H                swarms.activateIn(null).run();5 V9 c7 z# B+ S" t" {
        }% R& ]: q6 }/ T8 l5 A

2 L! P9 N) k5 m. k1 N}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-23 03:10 , Processed in 0.017161 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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