设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11243|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 k3 W  {. b; C+ Y
2 j% a  z! D  ^7 n% y本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21: k  o# }, z) {! ?
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 V1 ^4 y; @( Q" P3 f
swarm.SignatureNotFoundException
7 ?6 t5 {6 v8 [        at swarm.Selector.<init>(Selector.java:76)1 L* ?6 d1 ?' m/ E  V
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ }6 k4 t  w% n6 t" ]        at ActionGroupDemo.main(ActionGroupDemo.java:67)
( a- G- L2 @/ @3 e* ^; W" B7 A! Q( n" d. D/ x" x

5 C3 t; p3 P5 k3 Simport swarm.objectbase.SwarmImpl;
. Z0 S6 W) S; h0 U/ [% simport swarm.objectbase.Swarm;& N9 j. S" D; o  A3 M! s
import swarm.activity.ScheduleImpl;
& a, t  a- v. {0 Y4 q. Wimport swarm.activity.Activity;
3 R5 u2 A2 a) K+ j8 k0 v/ qimport swarm.activity.ActionGroupImpl;4 y; A% G1 B7 w& G2 A9 A
import swarm.collections.ListImpl;% H5 e% o& K  i/ g5 f( Y; Z
import swarm.defobj.Zone; ( p) X1 t* G. q* m; t6 U! v# Q5 L
import swarm.Globals;: `; ~/ z! s0 e" M7 X
import swarm.Selector;
6 o8 o" J" \) o, f2 h% E9 C" [import swarm.activity.ActionGroup; 9 s( a. S  U  b9 a. d# O& j
class Agent {
* K  ]4 Y: G) M, Q7 S        char id;
5 m+ @# J9 U) U
/ f, A8 J# @7 u8 t$ t  X        Agent(char id) {
" C6 A7 C2 E2 b) Q9 t! t                this.id = id;5 B) R- R' \. R. B1 X; J) m- S
        }6 e) C( S0 G/ D

6 `/ p9 u5 T5 t! ~( A6 w        public void agentStep() {
& f; S  |1 f5 w% t7 g' M: w                System.out.println(id + ":" + Globals.env.getCurrentTime());
5 |  F+ F6 ]' g1 ]* |. l        }: U2 G7 a4 J8 m) V  c( q5 e
}( _0 a  Z6 P+ z  h5 `/ {
/ f5 u% E2 R$ p3 X( a/ W0 G
public class ActionGroupDemo extends SwarmImpl {
9 e& ]6 w+ Y# Z0 ~5 U7 _) O4 _# K  o+ f        ScheduleImpl schedule;/ {9 V' c/ d+ y) }: _
        ActionGroupImpl actionGroup;5 _$ q  H3 Q( I/ i0 @7 s* L. x! S
        ListImpl list;0 S4 e5 c4 y3 z% Y
        char Id = 'a';
9 a. ^$ Q: W+ f! K; C. C- U2 a* s8 ?  s7 i( f6 Y, n& r
        ActionGroupDemo(Zone aZone) {
4 Q# n2 i& ^4 i# E. G5 H, W( l                super(aZone);7 i/ t" \4 W9 p6 Y+ \/ \5 Y( _
                list = new ListImpl(aZone);9 {3 |; O0 B2 Q6 C# I+ {' T+ t
                swarmSetp();
8 s$ r$ B* W- [' I                actionGroup = new ActionGroupImpl(aZone);1 ~1 d( B) q4 y; R  u9 e* ?. x
                schedule = new ScheduleImpl(aZone);7 s6 Y: |. p# T' y0 |1 n" R# p
                try {5 O) P, S# U6 @: t& |3 x& @
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
- |7 E" Y+ C$ G/ @                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
/ i' V1 ?# V7 n! @6 _                        ; |8 `8 |6 `* ?
                        actionGroup.createActionForEach$message(list, agentSel);
& @9 A2 a- `: x. Z8 r+ m+ {, l                        actionGroup.createActionTo$message(this, swarmSel);
. ?$ F9 j) a3 q8 J* m2 H( X- P                        schedule.at$createAction(0, actionGroup);
! w1 X6 u) q' k& j* ]! ^                        schedule.at$createAction(1, actionGroup);8 {! Q9 g0 c1 @- F
                        schedule.at$createAction(2, actionGroup);
- l) d4 ^) d' A* i8 V/ i+ f- N6 B8 `; p. `
                } catch (Exception e) {
% V5 D6 j+ ?) b7 p4 f* R  d                        e.printStackTrace(System.err);5 Z7 ?/ S" e! _8 f5 \: T
                        //System.out.println(e);8 V/ q0 U; g/ b( C
                        System.exit(1);7 t3 o) k6 n1 j% L2 [
                }
1 [) W& Y" t0 f1 c: n' q6 J: |0 W* Y! k5 m* x  K) L

' x' f- U7 n' c. l" C        }
1 H8 N; \0 y9 c. u5 T4 a: W" n( B; T% o% V7 Y" Z' X
        private void swarmSetp() {
5 R3 C' X* y$ O; v) j+ {                list.addLast(new Agent(Id));- o0 n* C4 \) p
                Id++;
0 G6 J2 R8 X, Q# s+ U! M        }' Z* M/ a' z, P  M. y
+ z2 f/ Z8 e8 [& o" C( _
        public Activity activateIn(Swarm context) {5 V6 R% I, R7 E* ~. Q8 L
                super.activateIn(context);
; `. ~. ]/ ~: I3 |                schedule.activateIn(this);
5 ^. S' d/ i9 V/ w$ @7 W% Y) ~2 [                return getActivity();
) E* E3 @, R; [8 I. A9 f" n        }- e, R# L+ N$ S# v+ u- A
1 _2 t9 g9 H2 F: W* G1 D. p' Y
        public static void main(String[] args) {6 ^" Y: T, ^  E. G8 B& G2 i
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);5 d5 f# T; K  r9 W
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);+ h$ \1 b4 p  `! |7 ?. [4 `, P
                swarms.buildObjects();
7 H8 K$ D- {6 b                swarms.buildActions();
1 Q) W+ I/ l0 f. U6 T                swarms.activateIn(null).run();0 V9 ^1 x5 B1 T% k* M
        }, S0 K9 i6 P5 P

" w6 A9 o# ?; Z, {( f" E}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-7 03:14 , Processed in 0.013987 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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