设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10624|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 & z" {& W2 Q' I4 k4 _
# d1 Y) J: }$ j  ?
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
/ p4 D9 z7 R4 M! b. t以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ {# i) q1 |0 N' P
swarm.SignatureNotFoundException. y$ F  H* t7 w
        at swarm.Selector.<init>(Selector.java:76)  x4 l! F/ k4 j) y6 F- U0 m
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 m5 n' d$ q$ q8 a% Y5 [        at ActionGroupDemo.main(ActionGroupDemo.java:67)
* d8 V; Q- C; b% r* ^2 O, t$ d/ F$ d
( K' Q0 L) l% B& l+ w
import swarm.objectbase.SwarmImpl;
2 O- `+ N6 u, P, i- x1 [  t3 zimport swarm.objectbase.Swarm;2 {" Y! W3 f5 \2 ~
import swarm.activity.ScheduleImpl;
' e) E0 s8 X& z" i+ mimport swarm.activity.Activity;6 Z( i0 y. I' J
import swarm.activity.ActionGroupImpl;
7 W- U9 r8 c3 simport swarm.collections.ListImpl;
9 U4 O: s6 j# j8 timport swarm.defobj.Zone; " a( i: ^2 I, X3 E  F1 a. f; c
import swarm.Globals;# ?+ B. W* u0 E* l
import swarm.Selector;
- h: h9 x' S2 V! V/ x* [import swarm.activity.ActionGroup; " j3 r. d2 s' f# H- k
class Agent {
) D" }6 r& \9 A& J        char id;# Z  s/ f# Q3 }7 W, _" E* j7 U

4 u; J7 ~- \* x' I3 U        Agent(char id) {. c' T; Z5 K( H; }8 b
                this.id = id;: p8 h+ u6 |! D' L, |! y9 w
        }
7 v; r8 z: Z8 E- X
. z  q# m3 K5 D' G$ {/ _) j) W        public void agentStep() {
# ~- l3 l# H: n1 v                System.out.println(id + ":" + Globals.env.getCurrentTime());8 Q+ R* ~# f1 [' y! |/ U3 t1 G( ~
        }1 y/ ]3 }; I% a2 K: _: G
}8 F8 V. m  z* L" O3 l8 f3 K

# A$ }# r; g0 k% a" o% t- a8 Epublic class ActionGroupDemo extends SwarmImpl {+ ?0 G2 E1 O0 c. p) u
        ScheduleImpl schedule;# V- w$ G  L6 }: I* _5 L
        ActionGroupImpl actionGroup;2 C4 Z6 j, p) b7 M# `/ ?8 X4 {
        ListImpl list;& a7 S# |! T; o" @% v
        char Id = 'a';
: p" m6 a/ h2 y! Y: u" H2 t0 {: V& J# }, P1 {6 f; e+ H8 J
        ActionGroupDemo(Zone aZone) {6 S% v3 ^3 X8 N. o1 u" A
                super(aZone);
" G. f1 k4 r; H! ~; Y' z8 t                list = new ListImpl(aZone);
$ l3 H4 P: d) E                swarmSetp();
; X: H" x( l8 _3 O. C, j  P                actionGroup = new ActionGroupImpl(aZone);  u' |1 H+ i) O0 h$ F
                schedule = new ScheduleImpl(aZone);4 i$ t9 A$ Z/ S7 q: Z
                try {
7 b  w8 R* y" d                        Selector agentSel = new Selector(Agent.class, "agentStep", false);0 x4 s2 a) C1 Z7 v1 E2 d. e
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
7 @7 f  L# v8 h/ K5 B                        
( ]- ^$ I$ d" O7 V1 L                        actionGroup.createActionForEach$message(list, agentSel);
. Q" X, J0 a" Y" }" j5 X                        actionGroup.createActionTo$message(this, swarmSel);
- ]; Z( Q7 f4 z7 y5 P. G                        schedule.at$createAction(0, actionGroup);
5 |8 @2 k6 c9 }0 |                        schedule.at$createAction(1, actionGroup);( f7 a& G3 F4 ]! U# h
                        schedule.at$createAction(2, actionGroup);  d9 f/ K" R, E) S& k1 [6 s9 P7 v% J
. B" O0 E! U7 M
                } catch (Exception e) {
& b# {; H: h) ^( Q2 L8 A                        e.printStackTrace(System.err);$ h& C+ n' o. A8 Z8 G# V" [( X/ E
                        //System.out.println(e);
# J8 m- ]! e/ L$ I, O  e9 W                        System.exit(1);8 P) G" R5 \/ J7 `
                }, U5 j( a6 \$ d8 \- f

; ]. r6 o- W4 N+ |7 |
. F& Q( k6 _+ K: N2 {; D0 g        }; U" \  }5 i- K* C
; J& i3 T! a( k) C! M9 a0 `* [" j$ o9 i$ G
        private void swarmSetp() {
9 I' |7 P- J, A                list.addLast(new Agent(Id));8 y% O1 L. ]! j, s8 z
                Id++;
# D2 H& ?7 y9 G6 d        }
# }( q9 O6 M6 v6 K- l- \2 D
) u# v0 x  _( h) X        public Activity activateIn(Swarm context) {
+ @  }9 a$ A6 @; e, z                super.activateIn(context);
( E# [: S7 Q2 S7 Y9 G                schedule.activateIn(this);( k- o2 H$ h: z2 K: J4 B2 ^$ O, q! U7 Q
                return getActivity();+ p# R3 @0 N+ U0 ~" z. N
        }% H$ P% y9 K# X- \4 j

0 q+ w+ p1 P6 l* r3 K        public static void main(String[] args) {0 A; M4 [) a9 B$ @9 N9 K' F
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
/ l* W* A' K3 D2 h                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
5 b3 g4 i- E% K5 S# P* g                swarms.buildObjects();8 C1 u! L1 G3 M4 ?. J
                swarms.buildActions();* E7 n( c  q# x& y
                swarms.activateIn(null).run();( D5 x% d7 u% \5 n: D) ~3 j5 |
        }" F( A7 O2 D$ T0 q

% M/ U* ]5 _9 {- u! ~7 M}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-18 20:45 , Processed in 0.015611 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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