设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11109|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 2 L- Q2 @- P) X  o

" f* H& K) {0 A" `* z' ^本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
; H  @: a4 b9 x8 }以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." T) T$ ?+ g8 n8 |8 E. j& d8 z
swarm.SignatureNotFoundException4 ]/ ?1 X8 b0 g* `. N
        at swarm.Selector.<init>(Selector.java:76)
2 k, o9 o0 T" j        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 L+ S, _2 E" K$ s' U        at ActionGroupDemo.main(ActionGroupDemo.java:67), F6 v1 O: s- F0 Q5 w

2 a# N% v$ ]$ @/ e. Y+ T  K2 K. a- B5 P' V1 N
import swarm.objectbase.SwarmImpl;
7 [4 ^; n1 B& Q( }' X% rimport swarm.objectbase.Swarm;
3 @- u2 Q3 ^3 [2 Aimport swarm.activity.ScheduleImpl;
4 n" }$ E8 s6 [import swarm.activity.Activity;
" k, b& G5 E6 j* uimport swarm.activity.ActionGroupImpl;: c0 _* F+ t' x8 w  O
import swarm.collections.ListImpl;
% z% J4 A$ p9 |+ limport swarm.defobj.Zone; ) _! }- e+ ?9 e/ E# E
import swarm.Globals;
* i% M) k# {& ~' z0 `) p; J+ Vimport swarm.Selector;
$ N9 f# k* Q3 P/ B/ J$ g. y* X* Jimport swarm.activity.ActionGroup; ' `8 G  L! _( ?1 ~% F  G
class Agent {1 y  C! d2 B" M/ M  A& h3 m
        char id;
  T/ y4 H) c) E! V0 V5 I3 P$ x. b; g/ A6 T. i+ T
        Agent(char id) {' C3 z+ m* M! r7 n  a1 g: @9 M& p4 Q
                this.id = id;
. s/ u9 i  r3 K. j$ f* ^  k0 {        }  r' g1 B& d" `# R
! R) q4 I1 u: y% _. j# ?% r$ c- ?! a
        public void agentStep() {
0 S2 `( m, f3 N" N* c5 ?                System.out.println(id + ":" + Globals.env.getCurrentTime());
+ l& L# f  w5 @; e* `        }0 o7 F$ @% O5 f; ], [
}& O4 e& s, i+ i! R9 H4 e: E
, @/ t- i- X, p0 e. C( d
public class ActionGroupDemo extends SwarmImpl {" t: V8 G) W+ Y( \# h. e  U
        ScheduleImpl schedule;
8 u( K8 }5 Q- P        ActionGroupImpl actionGroup;- t. W9 A% h2 B: g. B9 \3 ^
        ListImpl list;
: q2 b+ {* V' ?9 q. [2 [        char Id = 'a';
. I5 b# |$ ^7 h3 f: b, {3 H4 N
- ?' q; ?6 k, O6 P        ActionGroupDemo(Zone aZone) {
9 \+ }5 E5 i. |* O2 ~                super(aZone);. @" P) N+ @; L: r! @1 O1 r
                list = new ListImpl(aZone);2 S, i+ x' F$ j) m# o; ^; w* b0 J( O
                swarmSetp();
6 L$ y; X2 o- Z) H% I                actionGroup = new ActionGroupImpl(aZone);
$ J- E  e+ r: n/ J" Q/ h8 M                schedule = new ScheduleImpl(aZone);! n1 H$ d* o- v0 k  [- N, G/ G
                try {* A! p7 A& u+ a7 C8 ?
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);: k! w. q* z0 t1 ^2 M. U$ Z* @
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! @# p0 _/ j! H
                        / q: W2 ?, h' _9 E4 j3 {  C3 G
                        actionGroup.createActionForEach$message(list, agentSel);2 s3 A- `: z$ l+ }' j
                        actionGroup.createActionTo$message(this, swarmSel);, w6 m# `( i1 a9 d4 |- d! I( B
                        schedule.at$createAction(0, actionGroup);
( ?3 D  o- x$ ?2 L                        schedule.at$createAction(1, actionGroup);) G" d4 w2 a7 j4 |- o
                        schedule.at$createAction(2, actionGroup);
2 S9 g" _$ j8 X5 G. i
& ]9 g/ G8 A3 U( v0 X& Y                } catch (Exception e) {' N. a3 y" k: {& Y! ?/ h8 v
                        e.printStackTrace(System.err);
& V5 {  ^8 K# z4 \4 I# b                        //System.out.println(e);3 i3 d% F5 f4 Q! r9 D- v
                        System.exit(1);
/ E  t: F9 z4 m1 I: S                }
& e6 `9 h" m4 n. a- j' C# G* q5 g1 o: Y% x  L' t
, b9 y& F8 m3 d$ N
        }0 F2 l! c5 U$ H6 B1 g5 \  M

  `# [# I6 h5 U# Z6 l0 G* m' R9 J9 H        private void swarmSetp() {
  |! F% N# y$ R9 M0 \4 h# b3 v2 L/ \                list.addLast(new Agent(Id));
) E3 E! o. F! `  z) h. i                Id++;/ Z( \7 B& {! h
        }/ l7 {4 v  m& O6 z2 {; {

. |  x* o. a" w9 e8 l        public Activity activateIn(Swarm context) {2 t% C8 n4 D  f/ v" {3 W
                super.activateIn(context);
: G! C" u# w' ^                schedule.activateIn(this);
4 D* `% h4 i1 B$ }- t( ^4 h                return getActivity();
9 K3 L: Z: Q5 E) l' r3 ~        }9 b7 t1 |* x1 R3 Y9 D8 p& H4 V$ Q
; y) T3 K( C$ U, Q* O' Z
        public static void main(String[] args) {8 |  j- @9 ?: k0 ]
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& p; H" m9 p: k/ L6 o, k0 ?( i                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' e+ F! H, B% n5 ^1 a4 D                swarms.buildObjects();
* _' }/ u# V/ s- \5 ~- J! n                swarms.buildActions();
& Y' _) Y1 S% e% M1 K) P* u  A& P                swarms.activateIn(null).run();
3 M! H! N# g1 R# V$ ^        }3 X; G7 {! {& D. z3 p2 Z

+ ?5 D$ w1 Q' S- H5 a- o4 h% ^}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-3 08:11 , Processed in 0.015274 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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