设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9780|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % W7 |  c) s0 q* H8 V

% E- t( [9 X' F. X) F# d5 i. [, u6 U6 B本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
, `7 n2 [' ^/ U! w以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
( ^0 q4 g$ |* dswarm.SignatureNotFoundException
4 c$ w! L2 H+ v! K* Z2 L! {        at swarm.Selector.<init>(Selector.java:76)
. J$ Q( \8 ~8 J4 \( \* \- X/ D- T        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 S: G7 P2 o! n# f0 u
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
& \* h) m0 o3 M7 P0 U& h9 X+ T6 H) L
* b& W* t6 O0 B- q# v8 w- G" a( t8 |9 [! Y8 w
import swarm.objectbase.SwarmImpl;
# h4 W& ?' B& b5 p" oimport swarm.objectbase.Swarm;
0 t) ~' `# u- ]6 Yimport swarm.activity.ScheduleImpl;
& u6 T( m! n9 ]3 I: ^: zimport swarm.activity.Activity;/ p+ z* C4 ]  G
import swarm.activity.ActionGroupImpl;
6 w; M: z! L( ?3 Qimport swarm.collections.ListImpl;
* Q8 l5 B) D3 p1 E! H, B/ gimport swarm.defobj.Zone;   A8 F+ I7 e, t  P$ x1 A1 t
import swarm.Globals;  N% `" U/ [0 H; H8 T) v
import swarm.Selector;  J3 j; S& ^  c: i  i
import swarm.activity.ActionGroup; * o2 q4 Z& G' [, y: R
class Agent {: K# z1 q2 F- h0 p3 V* R
        char id;
0 b# g: y1 k3 l2 w5 R! M& O% S& v2 Z/ y
        Agent(char id) {* v, g5 t# [& e& C
                this.id = id;
* b* ^7 _( R+ o        }2 a+ p# G& N, H
5 ]7 K4 \3 j9 I3 Z6 t
        public void agentStep() {
$ ]) ?) s8 Q- ]/ I3 ?                System.out.println(id + ":" + Globals.env.getCurrentTime());5 e% G$ v: q9 y- }8 [4 e3 g8 b
        }
' g% E# F) U: j0 j0 |, c}
1 i' R0 X+ W$ y) Y" T6 t+ I
3 N; s1 a* j+ g' L% P2 j) r# {  @public class ActionGroupDemo extends SwarmImpl {
3 n$ v* Z$ A: r* g# ~/ Y: m        ScheduleImpl schedule;
+ V  S! i; S2 h        ActionGroupImpl actionGroup;
5 E- g7 r9 J% i        ListImpl list;
7 m( V* ]5 e2 j8 ^5 T# u& y        char Id = 'a';
6 ^+ ~3 @/ K* M; V) i( h" X2 k1 D) K/ s6 F* k  J. S9 v
        ActionGroupDemo(Zone aZone) {9 r% H( e3 n) \  }# {
                super(aZone);7 y% D1 `- t, t: w7 X! O
                list = new ListImpl(aZone);6 j; k4 r7 a8 @7 Z
                swarmSetp();
9 K) }0 f6 a5 ~                actionGroup = new ActionGroupImpl(aZone);( `# j; c2 r- i2 u# i+ t7 _
                schedule = new ScheduleImpl(aZone);. ]$ R" k. m3 `) v
                try {
5 G+ q) Z! P  i& T( ]" m7 ^# K; f; ~                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
# T& [! \! @2 b* w% O6 z1 r- \                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
7 {; G% W0 e6 R# y$ q7 n                        6 e7 L9 `  F$ Z' _2 p
                        actionGroup.createActionForEach$message(list, agentSel);
9 i" F5 ~0 T  @                        actionGroup.createActionTo$message(this, swarmSel);) u, k, x: N! r% c
                        schedule.at$createAction(0, actionGroup);) p0 O6 I$ B% l# ?$ j0 r6 Y
                        schedule.at$createAction(1, actionGroup);9 p0 M6 o/ e4 W4 m! H: I: E
                        schedule.at$createAction(2, actionGroup);
  Q, ^8 t: h; Y2 ^8 m
5 J& H9 u' j5 l  B                } catch (Exception e) {
9 `! L( o% b) K+ f* I1 ?: S3 ]                        e.printStackTrace(System.err);
3 r5 ]0 h% {4 X& H) ]5 G                        //System.out.println(e);% d, N0 a' n. L9 b
                        System.exit(1);7 @. H; U9 E. @, L% a
                }& M5 @7 j- p4 v$ ~( L5 G# o

# }' P& I9 a! g4 {5 u* F% d( f
7 m) b9 @* D  g4 l" |) S! q* ~        }$ C: p! U, W* M
; a: O: B) K) S6 b$ Z
        private void swarmSetp() {$ a- o- U' w1 c+ g0 a8 V
                list.addLast(new Agent(Id));* I( q1 g9 U3 ]2 z
                Id++;
; G" Q+ a/ F9 k        }( @4 b  W% g; `% k# ^

+ p: M4 {4 I" O9 g        public Activity activateIn(Swarm context) {: C  q$ c: @# V! R) Z2 K
                super.activateIn(context);
3 _4 L6 e' b# A3 d" S1 j) R                schedule.activateIn(this);
; X) S+ Q: Y" p" N+ }0 O                return getActivity();7 Y3 z8 f! d0 M% D. g
        }
2 R" U& f8 s% K" b  i
  }/ j7 b) B& s$ A% g, i        public static void main(String[] args) {# z# t3 @* m1 D
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);* g( `+ L, ~# i1 k+ k$ o
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);4 i0 I3 A$ g+ H" E
                swarms.buildObjects();
# ^1 U# h* V* z- G, W% h                swarms.buildActions();1 J3 k! l7 Y( o6 s9 ]
                swarms.activateIn(null).run();
! f& A7 F8 }2 P        }3 V' q5 K3 u, `3 x1 o
) f) G1 ?) M2 j( a# K" {) ]: I
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-22 19:05 , Processed in 0.014600 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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