设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8947|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 K" D, b% a- t& E7 l% o0 E  x" |- B" ^0 o
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21$ V( V" Y8 ]7 A/ G% O/ t
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
5 R( \. r' j. i+ nswarm.SignatureNotFoundException
' }; ^- g/ u5 U$ [1 t        at swarm.Selector.<init>(Selector.java:76)
4 V) ~6 X% @* o2 R, m+ Y, Q0 P6 H" F        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, H1 G! ~% J+ R        at ActionGroupDemo.main(ActionGroupDemo.java:67). F  r" k* |. b0 [! p2 o" [' E
( h% ?! `. p+ a3 X6 b3 w

: u- r$ z# m* x! ?" C% g* Dimport swarm.objectbase.SwarmImpl;$ P- Z) Y  `6 ^& d' \
import swarm.objectbase.Swarm;
! e6 f( v& d) Kimport swarm.activity.ScheduleImpl;
! T6 ]8 m: {+ G" N) B7 Y0 Wimport swarm.activity.Activity;
2 Q7 s/ Y5 M& S. ^+ ~3 }- \import swarm.activity.ActionGroupImpl;
+ i  ~( T  `5 a0 \" B" kimport swarm.collections.ListImpl;* n" C) p0 z2 v4 ]4 R
import swarm.defobj.Zone; / h6 }1 K1 C) w* b8 C
import swarm.Globals;
# v+ \6 V% O' E1 E4 o/ \& w; B* f5 ^' y& \import swarm.Selector;
' K: m7 w7 J& timport swarm.activity.ActionGroup;
* a0 E3 z* ~/ n4 o. e2 `class Agent {0 i, f, g$ ?4 H" n* C3 l+ ~
        char id;8 D/ {" a/ P5 a* Z+ \+ y

& C: t, t! O" S2 ]0 @        Agent(char id) {
3 ~* B7 Z+ ~9 i3 o: u# h" Q                this.id = id;" S/ i7 M5 Y7 v2 l# |. j1 A6 g
        }
/ r/ Y9 ^  Z3 `% a& C" U. t& E8 l7 v' Q1 [4 s0 i% Z
        public void agentStep() {1 h% Q% ]: G- f
                System.out.println(id + ":" + Globals.env.getCurrentTime());1 r6 \5 u- P# ?
        }+ R% o' C. s3 D8 _. R
}6 Z) }% S: k8 z, h+ t

5 Z6 ~: P2 |" ^0 ~* R, ?8 Gpublic class ActionGroupDemo extends SwarmImpl {
) n) |: g6 `' n( ?/ J( A        ScheduleImpl schedule;$ k' k! ], [! N: D( S& [! q! t
        ActionGroupImpl actionGroup;5 F. L: X( X" W
        ListImpl list;
' p8 q# Y: I8 X, c* }+ }, K$ n5 b        char Id = 'a';) A& N0 _! [& ^; {0 v. a

4 l7 y& z( K; x        ActionGroupDemo(Zone aZone) {- P  @7 E* X2 t0 A% I* W
                super(aZone);
1 s7 v: X, k& `5 o$ {7 o                list = new ListImpl(aZone);
4 k' Y, u% Q! ?                swarmSetp();  g5 Y) o; q5 m" ?; P3 _5 j9 P8 ~
                actionGroup = new ActionGroupImpl(aZone);
- ~9 U/ ~" N2 S                schedule = new ScheduleImpl(aZone);
: v" ?/ i" C/ \0 Z                try {
: U8 R( S2 T% s                        Selector agentSel = new Selector(Agent.class, "agentStep", false);& ]) y5 O4 ^' O
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ O, G& r$ n2 ]* z                        
" h) h: ]6 E2 g& z- \: q  g# u6 Y                        actionGroup.createActionForEach$message(list, agentSel);! }2 t5 J% [7 K
                        actionGroup.createActionTo$message(this, swarmSel);6 Q# E, y* J5 W7 V( ~; S
                        schedule.at$createAction(0, actionGroup);
2 x4 [1 L7 E0 @" l. A                        schedule.at$createAction(1, actionGroup);9 B$ v( h' G" I/ u) \6 z
                        schedule.at$createAction(2, actionGroup);( n& ]6 _7 E. R# R

) Y# N( |9 c3 v                } catch (Exception e) {' k$ A+ e+ x4 ^. ?
                        e.printStackTrace(System.err);) [" a  O- J  ?3 Y5 n4 b' Z  U
                        //System.out.println(e);
1 q3 N5 ~5 L" W4 m4 L                        System.exit(1);
1 }. r& |/ {4 u                }3 L/ H, g- [. h2 m) @2 D# Q

  I% t2 n5 _- E) V- i4 c0 V' b- p) U8 d! E" C, r0 v
        }$ ?5 p+ {: T! s$ O# Z- }4 m
1 Q/ m6 K* f3 g/ e: ~! \+ S  L
        private void swarmSetp() {. Y9 A. B3 g: E; o/ f
                list.addLast(new Agent(Id));
7 u) C. l& U) v* @% h                Id++;
5 e  O! E# K8 H* Z+ P% \1 }$ T        }
6 L. S$ g  l# G& a& D4 |& c1 }8 o# M! M5 S
        public Activity activateIn(Swarm context) {
  B' z1 y1 B, l  x) @# {. z                super.activateIn(context);+ m6 |, K  d( Y3 ^; _
                schedule.activateIn(this);
  E  f* n# w1 w) x                return getActivity();
4 L' N# J4 `1 c        }
( n9 h; s" Z3 h( ]$ l' r. C: @# U' h  J( m( _6 U9 K0 p' N
        public static void main(String[] args) {3 T- @. E: }1 @
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);9 T, C% ]! Y3 x8 ^8 V
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) Q' J' f, |  k6 r
                swarms.buildObjects();( Z# b3 y4 @( _
                swarms.buildActions();
+ E/ v# L3 `5 r                swarms.activateIn(null).run();
- B, y0 s1 ^  n) ^6 i' g# C        }
6 S, u. e6 A( C' \' |3 ]% h( s0 L6 u1 ]& r: F; X) S
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-27 16:45 , Processed in 0.018583 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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