设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10536|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ( E* K: ]" n% ?- }

* O. l# Q% U; K% x5 c6 r本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" r5 o: ]3 x9 u% e) ~9 y
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 t( w6 a/ u3 V# X
swarm.SignatureNotFoundException
: l0 d6 q2 z0 o) G        at swarm.Selector.<init>(Selector.java:76)
% P& T3 f' w) R; B        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; b. e8 U0 d3 h. `1 [5 x        at ActionGroupDemo.main(ActionGroupDemo.java:67)( ?7 w  @) [9 `% ]* T9 o4 D+ y
0 B& W) i& o+ X$ [/ V( u& \: V
6 S# r) R$ \6 r* H2 K" A
import swarm.objectbase.SwarmImpl;
2 G6 v- N! {: m7 N6 [( limport swarm.objectbase.Swarm;
. ^( n3 u; z; Z! R7 Gimport swarm.activity.ScheduleImpl;
8 D9 {0 s, u9 L: qimport swarm.activity.Activity;
+ a  i, q: S1 ?  g/ ^import swarm.activity.ActionGroupImpl;
1 }( t% h2 ]2 r+ {7 C' V/ i4 `import swarm.collections.ListImpl;  C6 M: Q1 ~9 ]$ g! Y% c
import swarm.defobj.Zone; ) h8 g0 s  J9 E0 @' B( F
import swarm.Globals;# t) z  ]$ ~& e* r3 l
import swarm.Selector;
/ \) N+ s0 l* fimport swarm.activity.ActionGroup;
$ Z0 D, S5 c7 H3 m1 K# Jclass Agent {
0 p* S2 |' j. q1 f; d3 V+ x* p        char id;( ]$ M1 P" e' X3 z$ A; V7 E

  d3 j4 @6 i0 [8 U  n5 c% _        Agent(char id) {: b: d% l. V2 t# p8 a$ h
                this.id = id;
( _; G! M) b8 f; Y6 r9 Y+ s% V8 H        }1 v% s- `# @3 e. J7 B9 C: R

# C; O. f* F9 ~6 j* R        public void agentStep() {
9 q4 F" h$ ^: P                System.out.println(id + ":" + Globals.env.getCurrentTime());
. A  V0 F( S+ |$ [  L        }# w" u( b3 m0 D& [
}% {# ]5 A( p- T# l3 [) G/ T
  M" Y4 ?. ~( E$ y
public class ActionGroupDemo extends SwarmImpl {
! q! I3 ~+ l& e3 D$ _/ i        ScheduleImpl schedule;) h5 \" l! t% i* V, Y! \7 n. \
        ActionGroupImpl actionGroup;6 r4 }5 R; G1 g1 W9 ~7 ?. u( O6 P* _
        ListImpl list;
+ r; w5 {2 C0 a) L* S+ A        char Id = 'a';/ x" w; Z9 C/ h# Y7 V$ l' c

4 d+ @: b' T. Y$ r% U1 v6 y+ W        ActionGroupDemo(Zone aZone) {) A+ I' ?2 s3 [% Z# p3 u5 ~
                super(aZone);% P; C# J3 Y% _% v, k; B: n- M
                list = new ListImpl(aZone);
8 [! s1 P5 r7 t) u7 u4 y# \# c% V                swarmSetp();2 s5 y$ W7 R$ ~0 }, a; v
                actionGroup = new ActionGroupImpl(aZone);# }1 n  `, q1 ]( Z" o
                schedule = new ScheduleImpl(aZone);% ~7 p$ R  ]& O! |
                try {. c) T5 U8 P/ R  O0 ?' q+ [
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
; B' B6 z4 ~& ~: B% R% e                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% }. N8 T/ O  h8 m                        & T' I4 H. C0 b0 ?2 {' ?
                        actionGroup.createActionForEach$message(list, agentSel);
2 J2 k' |* V8 t, ^: ?                        actionGroup.createActionTo$message(this, swarmSel);
1 Z4 H5 A0 C1 ]; ~) L: m9 X7 I                        schedule.at$createAction(0, actionGroup);
& P" E0 x/ a4 _! B  A5 Y) R8 j# N* p                        schedule.at$createAction(1, actionGroup);
) L; i5 @3 l* w                        schedule.at$createAction(2, actionGroup);
% I( A" W6 v. P
/ W% d; ^8 y  ?* S; @                } catch (Exception e) {+ u- H7 o: H  m
                        e.printStackTrace(System.err);
" E1 \! R8 u  R! Y( I/ f                        //System.out.println(e);
8 E8 e  W. [' u& t; }0 z                        System.exit(1);1 P3 b4 r; E/ ]! C2 t) ?5 K
                }
! q/ R; [) E, u0 v4 G2 w+ V* d/ Y1 U; U  M* A0 K
* L+ |1 f3 B* c5 K
        }, R  x; E+ w9 k

: v% V  t! p! J( U$ r6 O  Z        private void swarmSetp() {
3 |0 J/ S3 b0 O: x) l8 H& F                list.addLast(new Agent(Id));+ x  c6 t& C0 i; n9 f+ L( W' `- p
                Id++;3 _  c+ A0 A; ~! [( K/ J* ~5 B
        }
% f. @2 q$ y0 p, P9 t( d4 c" S: R, p+ n8 f; W- ]1 x7 B
        public Activity activateIn(Swarm context) {, M, @6 M% A7 i" N; I$ I0 e: v" f; x: z
                super.activateIn(context);  L/ P" ]+ r3 b) r' z0 ?
                schedule.activateIn(this);
1 j) Z! G2 ~4 ?- R                return getActivity();
$ G$ S5 y1 z3 D  w4 Q        }
" K/ D+ Q  }/ [! ]8 h1 z( i  W
. E  \( U: Y+ u. n1 N1 N        public static void main(String[] args) {8 }7 z" [* h  r& r* T/ ~
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);  G2 s' ]9 M9 ?/ ^' \0 l
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' w$ k: ^+ t# y6 P( Z% x                swarms.buildObjects();
3 Z2 X% S% |4 Y- _9 [! V) ^/ `$ Y                swarms.buildActions();/ k4 R8 A9 _, J7 K5 H# D; |0 C
                swarms.activateIn(null).run();3 O. E/ B3 I$ ^2 f" y
        }; Q: d+ {; H* v) N: G

& F  A, b; L/ h' p7 B}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-16 16:53 , Processed in 0.013908 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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